# See the License for the specific language governing permissions and
# limitations under the License.
-# Phase generating methods to
+# Phase generating methods to serialize Nit objects to different formats
module serialization_phase
import phase
code.add " v.notify_of_creation self"
for attribute in npropdefs do if attribute isa AAttrPropdef then
+ if attribute.n_type == null then
+ toolcontext.error(attribute.location, "NOT YET IMPLEMENTED: all attributes of an auto_serialized class definition must define a type.")
+ continue
+ end
var name = attribute.name
var type_name = attribute.type_name
code.add ""
for nclassdef in nclassdefs do
var name = nclassdef.n_id.text
- if not name.has('[') then # FIXME this is a temporary hack
+ if not name.chars.has('[') then # FIXME this is a temporary hack
code.add " if name == \"{name}\" then return new {name}.from_deserializer(self)"
end
end