use of io.nuls.contract.vm.code.ClassCodes in project nuls by nuls-io.
the class ProgramExecutorImpl method getEventConstructor.
private static Set<ProgramMethod> getEventConstructor(Map<String, ClassCode> classCodes) {
Map<String, MethodCode> methodCodes = new LinkedHashMap<>();
getEventClassCodes(classCodes).forEach(classCode -> {
for (MethodCode methodCode : classCode.methods) {
if (methodCode.isConstructor) {
methodCodes.put(methodCode.fullName, methodCode);
}
}
});
return methodCodes.values().stream().filter(methodCode -> methodCode.isConstructor).map(methodCode -> {
ProgramMethod method = new ProgramMethod();
method.setName(methodCode.classCode.simpleName);
method.setDesc(methodCode.normalDesc);
method.setArgs(methodCode.args);
method.setReturnArg(methodCode.returnArg);
method.setView(methodCode.hasViewAnnotation());
method.setPayable(methodCode.hasPayableAnnotation());
method.setEvent(true);
return method;
}).collect(Collectors.toSet());
}
Aggregations