public CodegenExpression make(CodegenMethodScope parent, SAIFFInitializeSymbol symbols, CodegenClassScope classScope) { CodegenMethod method = parent.makeChild(VariableTriggerWriteDesc.class, this.getClass(), classScope); method.getBlock() .declareVar(VariableTriggerWriteDesc.class, "desc", newInstance(VariableTriggerWriteDesc.class)) .exprDotMethod(ref("desc"), "setType", EventTypeUtility.resolveTypeCodegen(type, symbols.getAddInitSvc(method))) .exprDotMethod(ref("desc"), "setVariableName", constant(variableName)) .exprDotMethod(ref("desc"), "setWriter", EventTypeUtility.codegenWriter(type, getterType, evaluationType, writer, method, this.getClass(), classScope)) .exprDotMethod(ref("desc"), "setGetter", EventTypeUtility.codegenGetterWCoerce(getter, getterType, null, method, this.getClass(), classScope)) .methodReturn(ref("desc")); return localMethod(method); } }