@Override
protected void init() {
AMethod method = getMethod();
AMethodMeta meta = method.getMeta();
if (!Modifiers.isStatic(meta.getModifiers())) {
OperatorFactory.newOperator(LocalVariableCreator.class, new Class<?>[] { KernelProgramBlock.class,
String.class, Type.class, Type.class }, getExecutor(), ASConstants.THIS, meta.getOwner().getType(),
method.getMeta().getOwner().getType());
}
String[] argNames = meta.getParameterNames();
IClass[] argumentClasses = meta.getParameterTypes();
arguments = new LocalVariable[argNames.length];
for (int i = 0; i < argNames.length; i++) {
ScopeLogicVariable slv = new ScopeLogicVariable(argNames[i], getScope(), argumentClasses[i].getType(),
argumentClasses[i].getType());
VarMeta lve = new VarMeta(argNames[i], 0, argumentClasses[i]);
LocalVariable lv = new LocalVariable(lve);
lv.setScopeLogicVar(slv);
arguments[i] = lv;
}
}