我正在编写AST转换,我需要在AST中创建一个带有selectedFile: File;
ArrayOfSelectedFile = new Array<string>();
onFileChanged(event : any) {
this.ArrayOfSelectedFile= [];
this.selectedFile = event.target.files;
this.ArrayOfSelectedFile.push(event.target.files);
}
removeSelectedFile(index){
this.ArrayOfSelectedFile.splice(index,1);
}
批注的字段。
我有一个将注释应用到的类A。
@Delegate
MyAnnotation具有MyAnnotationASTTransformation,在这里我试图创建类型B的字段并将其添加为类A。编译后所需的结果:
@MyAnnotation
class A{ }
在我的ASTTransformation内部,我尝试了AstBuildet.buildFromString
class A{
@Delegate
B object = new B()
}
将此添加到我的项目中会出现以下错误:
List<ASTNode> astNodeList = new AstBuilder().buildFromString(
CompilePhase.CONVERSION,
String.format(
"class A{\n" +
" @Delegate\n"+
" B b = new B()\n"+
"}\n"
)
)
List<FieldNode> fieldNodeList =((ClassNode)astNodeList.get(1)).getFields()
classNode.addField(fieldNodeList.get(0))
如果没有@Delegate,它就可以正常工作,我可以在ASTTransformation中手动添加@Delegate吗?