From 13728e1598fc89747ff5c06c390d3c8914e6faa0 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Thu, 24 Apr 2014 19:41:27 +0400 Subject: [PATCH] Minor, pull non-null getParentContext() to MethodContext --- .../jetbrains/jet/codegen/ExpressionCodegen.java | 2 -- .../jet/codegen/context/CodegenContext.java | 13 +------------ .../jet/codegen/context/ConstructorContext.java | 7 ------- .../jet/codegen/context/MethodContext.java | 16 +++++++++------- 4 files changed, 10 insertions(+), 28 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 03e929a8ca9..5e4a06a001f 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -1818,7 +1818,6 @@ public class ExpressionCodegen extends JetVisitor implem int flags = AsmUtil.getVisibilityForSpecialPropertyBackingField(propertyDescriptor, isDelegatedProperty); skipPropertyAccessors = (flags & ACC_PRIVATE) == 0 || methodKind == MethodKind.SYNTHETIC_ACCESSOR || methodKind == MethodKind.INITIALIZER; if (!skipPropertyAccessors) { - //noinspection ConstantConditions propertyDescriptor = (PropertyDescriptor) backingFieldContext.getAccessor(propertyDescriptor, true, delegateType); } isStatic = true; @@ -1872,7 +1871,6 @@ public class ExpressionCodegen extends JetVisitor implem } String name; - //noinspection ConstantConditions if (propertyDescriptor.getContainingDeclaration() == backingFieldContext.getContextDescriptor()) { assert backingFieldContext instanceof FieldOwnerContext : "Actual context is " + backingFieldContext + " but should be instance of FieldOwnerContext" ; name = ((FieldOwnerContext) backingFieldContext).getFieldName(propertyDescriptor, isDelegatedProperty); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenContext.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenContext.java index 6e1cfdfb046..30491be17c0 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenContext.java @@ -47,30 +47,19 @@ import static org.jetbrains.org.objectweb.asm.Opcodes.ACC_PRIVATE; import static org.jetbrains.org.objectweb.asm.Opcodes.ACC_PROTECTED; public abstract class CodegenContext { - public static final CodegenContext STATIC = new RootContext(); - @NotNull private final T contextDescriptor; - - @NotNull private final OwnerKind contextKind; - - @Nullable private final CodegenContext parentContext; - private final ClassDescriptor thisDescriptor; - public final MutableClosure closure; + private final LocalLookup enclosingLocalLookup; private Map accessors; - private Map childContexts; - private NullableLazyValue lazyOuterExpression; - private final LocalLookup enclosingLocalLookup; - public CodegenContext( @NotNull T contextDescriptor, @NotNull OwnerKind contextKind, diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/ConstructorContext.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/ConstructorContext.java index 6e6349342b5..5ea4f3d8211 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/ConstructorContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/ConstructorContext.java @@ -50,11 +50,4 @@ public class ConstructorContext extends MethodContext { public String toString() { return "Constructor: " + getContextDescriptor(); } - - @NotNull - @Override - public CodegenContext getParentContext() { - //noinspection ConstantConditions - return super.getParentContext(); - } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java index f1fb03e89e4..27af5a62ab2 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/MethodContext.java @@ -18,19 +18,17 @@ package org.jetbrains.jet.codegen.context; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import org.jetbrains.org.objectweb.asm.Label; import org.jetbrains.jet.codegen.OwnerKind; import org.jetbrains.jet.codegen.StackValue; import org.jetbrains.jet.codegen.binding.MutableClosure; import org.jetbrains.jet.codegen.state.GenerationState; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; +import org.jetbrains.org.objectweb.asm.Label; public class MethodContext extends CodegenContext { - - private Label methodStartLabel; - private final boolean isInliningLambda; + private Label methodStartLabel; protected MethodContext( @NotNull FunctionDescriptor contextDescriptor, @@ -46,25 +44,29 @@ public class MethodContext extends CodegenContext { this.isInliningLambda = isInliningLambda; } + @NotNull + @Override + public CodegenContext getParentContext() { + //noinspection ConstantConditions + return super.getParentContext(); + } + @Override public StackValue lookupInContext(DeclarationDescriptor d, @Nullable StackValue result, GenerationState state, boolean ignoreNoOuter) { if (getContextDescriptor() == d) { return result != null ? result : StackValue.local(0, AsmTypeConstants.OBJECT_TYPE); } - //noinspection ConstantConditions return getParentContext().lookupInContext(d, result, state, ignoreNoOuter); } @Override public boolean isStatic() { - //noinspection ConstantConditions return getParentContext().isStatic(); } @Override public StackValue getOuterExpression(StackValue prefix, boolean ignoreNoOuter) { - //noinspection ConstantConditions return getParentContext().getOuterExpression(prefix, false); }