@@ -66,47 +66,22 @@ public function generate(Definition $definition): void
66
66
continue ;
67
67
}
68
68
69
- $ type = TypeMapping::mapToPhpType ($ field , true , $ definition );
70
-
71
- $ class ->stmts [] = $ builder ->property ($ field ->getPropertyName ())->makeProtected ()->setDocComment ('/** @var ' . $ type . ' */ ' )->getNode ();
72
- }
73
-
74
- /** @var Field $field */
75
- foreach ($ definition ->fields as $ field ) {
76
- if ($ field ->name === IdField::class) {
77
- continue ;
78
- }
79
-
80
- $ setterMethodName = 'set ' . ucfirst ($ field ->getPropertyName ());
81
- $ getterMethodName = 'get ' . ucfirst ($ field ->getPropertyName ());
82
-
83
- if ($ this ->hasMethod ($ classMethods , $ setterMethodName ) || $ this ->hasMethod ($ classMethods , $ getterMethodName )) {
84
- continue ;
85
- }
86
-
87
69
$ type = TypeMapping::mapToPhpType ($ field , false , $ definition );
88
-
89
70
if ($ field ->isNullable ()) {
90
71
$ type = '? ' . $ type ;
91
72
}
92
73
93
- $ method = new ClassMethod (new Identifier ($ setterMethodName ));
94
- $ method ->flags = Class_::MODIFIER_PUBLIC ;
95
- $ method ->returnType = new Identifier ('void ' );
96
- $ method ->params = [new Param (new Name ('$value ' ), null , new Name ($ type ))];
97
-
98
- $ var = new PropertyFetch (new Variable ('this ' ), new Name ($ field ->getPropertyName ()));
99
- $ method ->stmts [] = new Expression (new Assign ($ var , new Variable ('value ' )));
74
+ $ node = $ builder
75
+ ->property ($ field ->getPropertyName ())
76
+ ->setType ($ type )
77
+ ->makePublic ();
100
78
101
- $ class ->stmts [] = $ method ;
102
-
103
- $ method = new ClassMethod (new Identifier ($ getterMethodName ));
104
- $ method ->flags = Class_::MODIFIER_PUBLIC ;
105
- $ method ->returnType = new Identifier ($ type );
106
-
107
- $ method ->stmts [] = new Return_ ($ var );
79
+ if ($ field ->isNullable ()) {
80
+ $ node = $ node ->setDefault (null );
81
+ }
108
82
109
- $ class ->stmts [] = $ method ;
83
+ $ class ->stmts [] = $ node
84
+ ->getNode ();
110
85
}
111
86
112
87
$ printer = new Standard ();
0 commit comments