initMethod.pushInt(size);
initMethod.anewarray(p(CallSite.class));
for (int i = size - 1; i >= 0; i--) {
String name = callSiteList.get(i);
CallType callType = callTypeList.get(i);
initMethod.pushInt(i);
initMethod.ldc(name);
if (callType.equals(CallType.NORMAL)) {
initMethod.invokestatic(scriptCompiler.getClassname(), "setCallSite", sig(CallSite[].class, params(CallSite[].class, int.class, String.class)));
} else if (callType.equals(CallType.FUNCTIONAL)) {
initMethod.invokestatic(scriptCompiler.getClassname(), "setFunctionalCallSite", sig(CallSite[].class, params(CallSite[].class, int.class, String.class)));
} else if (callType.equals(CallType.VARIABLE)) {
initMethod.invokestatic(scriptCompiler.getClassname(), "setVariableCallSite", sig(CallSite[].class, params(CallSite[].class, int.class, String.class)));
}
}
initMethod.putfield(scriptCompiler.getClassname(), "callSites", ci(CallSite[].class));
}