/** * Generate code for a function declaration, and put its initialization code * on the relevant instruction list. * <p> * Post condition: if instance_init_insns is not null then the method will * have been processed as and marked as a constructor. * * @param func the function declaration node. * @param enclosing_scope the lexical scope in which the function was * defined. * @param instance_init_insns a list of instance initialization instructions * collected outside a constructor body that must be included in the * constructor. * @return {@link MethodInfo} created for the function. */ public MethodInfo generateFunction (FunctionNode func, LexicalScope enclosing_scope, InstructionList instance_init_insns, Name alternate_name) { MethodInfo mi = createMethodInfo(enclosing_scope, func, alternate_name); if (mi.isNative()) { generateNativeMethod(func, mi, enclosing_scope); } else { generateMethodBodyForFunction(mi, func, enclosing_scope, instance_init_insns); } func.discardFunctionBody(); return mi; }
/** * Generate code for a function declaration, and put its initialization code * on the relevant instruction list. * <p> * Post condition: if instance_init_insns is not null then the method will * have been processed as and marked as a constructor. * * @param func the function declaration node. * @param enclosing_scope the lexical scope in which the function was * defined. * @param instance_init_insns a list of instance initialization instructions * collected outside a constructor body that must be included in the * constructor. * @return {@link MethodInfo} created for the function. */ public MethodInfo generateFunction (FunctionNode func, LexicalScope enclosing_scope, InstructionList instance_init_insns, Name alternate_name) { MethodInfo mi = createMethodInfo(enclosing_scope, func, alternate_name); if (mi.isNative()) { generateNativeMethod(func, mi, enclosing_scope); } else { generateMethodBodyForFunction(mi, func, enclosing_scope, instance_init_insns); } func.discardFunctionBody(); return mi; }
if (functionBodyHasNonInlineableNodes(functionBody, reportInlineProblems, function.getBaseName(), new AtomicInteger())) functionNode.discardFunctionBody(); return false;
if (functionBodyHasNonInlineableNodes(functionBody, reportInlineProblems, function.getBaseName(), new AtomicInteger())) functionNode.discardFunctionBody(); return false;
functionNode.discardFunctionBody();
functionNode.discardFunctionBody();