How do we do meta-programming(Reflection/Code-generation) without the usual use of reflection.
static extention <name> on <selector> {
}
class DataClass {
const DataClass._();
}
DataClass Person(String name, {String Address}){
String NameFirstChar(){
return name.first;
}
}
static extention DataClass<T> on DataClass<T> Function {
DataClass from
Map<String, dynamic> toJson();
String toString();
}
@data class Person {String name, String Address}
static extention DataClass<T> on @data<T> {
T fromJson(Map<String, dynamic> json);
Map<String, dynamic> toJson();
String toString();
Spec _$generate(){
// access to reflection data
return generatedCode;
}
}