2
0
mirror of https://github.com/esiur/esiur-dart.git synced 2025-05-06 12:02:57 +00:00

Annotations

This commit is contained in:
Ahmed Zamil 2022-09-10 12:41:18 +03:00
parent 58df443f62
commit 94e4ef010a

View File

@ -114,7 +114,7 @@ class TemplateGenerator {
var descProps = template.properties //.where((p) => !p.inherited) var descProps = template.properties //.where((p) => !p.inherited)
.map((p) { .map((p) {
var ptTypeName = getTypeName(template, p.valueType, templates); var ptTypeName = getTypeName(template, p.valueType, templates);
return "Prop('${p.name}', getTypeOf<${ptTypeName}>(), ${_escape(p.readAnnotation)}, ${_escape(p.writeAnnotation)})"; return "Prop('${p.name}', getTypeOf<${ptTypeName}>(), ${toLiteral(p.readAnnotation)}, ${toLiteral(p.writeAnnotation)})";
}).join(', '); }).join(', ');
if (parentName != null) if (parentName != null)
@ -372,13 +372,6 @@ class TemplateGenerator {
} }
} }
static String _escape(String? str) {
if (str == null)
return "null";
else
return "r'$str'";
}
static String generateEnum( static String generateEnum(
TypeTemplate template, List<TypeTemplate> templates) { TypeTemplate template, List<TypeTemplate> templates) {
var className = template.className.split('.').last; var className = template.className.split('.').last;
@ -400,7 +393,7 @@ class TemplateGenerator {
// add template // add template
var descConsts = template.constants.map((p) { var descConsts = template.constants.map((p) {
var ctTypeName = getTypeName(template, p.valueType, templates); var ctTypeName = getTypeName(template, p.valueType, templates);
return "Const('${p.name}', getTypeOf<${ctTypeName}>(), ${p.value}, ${_escape(p.annotation)})"; return "Const('${p.name}', getTypeOf<${ctTypeName}>(), ${p.value}, ${toLiteral(p.annotation)})";
}).join(', '); }).join(', ');
rt.writeln("""@override rt.writeln("""@override
@ -539,7 +532,7 @@ class TemplateGenerator {
var descProps = template.properties //.where((p) => !p.inherited) var descProps = template.properties //.where((p) => !p.inherited)
.map((p) { .map((p) {
var ptTypeName = getTypeName(template, p.valueType, templates); var ptTypeName = getTypeName(template, p.valueType, templates);
return "Prop('${p.name}', getTypeOf<${ptTypeName}>(), ${_escape(p.readAnnotation)}, ${_escape(p.writeAnnotation)})"; return "Prop('${p.name}', getTypeOf<${ptTypeName}>(), ${toLiteral(p.readAnnotation)}, ${toLiteral(p.writeAnnotation)})";
}).join(', '); }).join(', ');
var descFuncs = template.functions //.where((f) => !f.inherited) var descFuncs = template.functions //.where((f) => !f.inherited)
@ -551,14 +544,14 @@ class TemplateGenerator {
return "Arg('${a.name}', getTypeOf<${atTypeName}>(), ${a.optional})"; return "Arg('${a.name}', getTypeOf<${atTypeName}>(), ${a.optional})";
}).join(', '); }).join(', ');
return "Func('${f.name}', getTypeOf<${ftTypeName}>(), [${args}], ${_escape(f.annotation)})"; return "Func('${f.name}', getTypeOf<${ftTypeName}>(), [${args}], ${toLiteral(f.annotation)})";
}).join(', '); }).join(', ');
var descEvents = template.events var descEvents = template.events
//.where((e) => !e.inherited) //.where((e) => !e.inherited)
.map((e) { .map((e) {
var etTypeName = getTypeName(template, e.argumentType, templates); var etTypeName = getTypeName(template, e.argumentType, templates);
return "Evt('${e.name}', getTypeOf<${etTypeName}>(), ${e.listenable}, ${_escape(e.annotation)})"; return "Evt('${e.name}', getTypeOf<${etTypeName}>(), ${e.listenable}, ${toLiteral(e.annotation)})";
}).join(', '); }).join(', ');
if (parentName != null) if (parentName != null)