isInline method moved from SimpleFunctionDescriptor to InlineStrategy

This commit is contained in:
Mikhael Bogdanov
2014-02-11 16:36:07 +04:00
parent e45683d05e
commit 55e03dd8b3
10 changed files with 19 additions and 19 deletions
@@ -32,9 +32,7 @@ import org.jetbrains.asm4.MethodVisitor;
import org.jetbrains.asm4.Type;
import org.jetbrains.asm4.commons.InstructionAdapter;
import org.jetbrains.asm4.commons.Method;
import org.jetbrains.asm4.tree.MethodNode;
import org.jetbrains.jet.codegen.asm.InlineCodegen;
import org.jetbrains.jet.codegen.asm.InlineCodegenUtil;
import org.jetbrains.jet.codegen.asm.Inliner;
import org.jetbrains.jet.codegen.asm.NameGenerator;
import org.jetbrains.jet.codegen.binding.CalculatedClosure;
@@ -2125,9 +2123,10 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
) {
boolean disable = false;
CallableDescriptor descriptor = resolvedCall.getResultingDescriptor();
boolean isInline = descriptor instanceof SimpleFunctionDescriptor && ((SimpleFunctionDescriptor) descriptor).isInline();
Inliner inliner = !isInline ? Inliner.NOT_INLINE
: new InlineCodegen(this, true, state, disable, (SimpleFunctionDescriptor) unwrapFakeOverride((CallableMemberDescriptor)descriptor.getOriginal()));
boolean isInline = call != null && descriptor instanceof SimpleFunctionDescriptor && ((SimpleFunctionDescriptor) descriptor).getInlineStrategy().isInline();
Inliner inliner = !isInline ? Inliner.NOT_INLINE :
new InlineCodegen(this, true, state, disable, (SimpleFunctionDescriptor) unwrapFakeOverride(
(CallableMemberDescriptor) descriptor.getOriginal()), call);
if (resolvedCall instanceof VariableAsFunctionResolvedCall) {
resolvedCall = ((VariableAsFunctionResolvedCall) resolvedCall).getFunctionCall();
@@ -91,7 +91,7 @@ public class MethodContext extends CodegenContext<CallableMemberDescriptor> {
public boolean isInlineFunction() {
DeclarationDescriptor descriptor = getContextDescriptor();
if (descriptor instanceof SimpleFunctionDescriptor) {
return ((SimpleFunctionDescriptor) descriptor).isInline();
return ((SimpleFunctionDescriptor) descriptor).getInlineStrategy().isInline();
}
return false;
}