From a45bae63abf24f7b4673d1aa1a7e9b91abbced79 Mon Sep 17 00:00:00 2001 From: Alex Tkachman Date: Thu, 30 Aug 2012 14:18:54 +0300 Subject: [PATCH] @NotNull CodegenContext.ownerKind --- .../org/jetbrains/jet/codegen/context/CodegenContext.java | 8 ++++++-- .../jetbrains/jet/codegen/context/NamespaceContext.java | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) 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 2fdcc47d03e..5734ef67a9e 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/CodegenContext.java @@ -47,7 +47,9 @@ public abstract class CodegenContext { @NotNull private final DeclarationDescriptor contextDescriptor; + @NotNull private final OwnerKind contextKind; + @Nullable private final CodegenContext parentContext; private final ClassDescriptor thisDescriptor; @@ -61,7 +63,7 @@ public abstract class CodegenContext { public CodegenContext( @NotNull DeclarationDescriptor contextDescriptor, - OwnerKind contextKind, + @NotNull OwnerKind contextKind, @Nullable CodegenContext parentContext, @Nullable MutableClosure closure, @Nullable ClassDescriptor thisDescriptor, @@ -131,12 +133,13 @@ public abstract class CodegenContext { return contextDescriptor; } + @NotNull public OwnerKind getContextKind() { return contextKind; } public CodegenContext intoNamespace(NamespaceDescriptor descriptor) { - return new NamespaceContext(descriptor, this, null); + return new NamespaceContext(descriptor, this, OwnerKind.NAMESPACE); } public CodegenContext intoNamespacePart(String delegateTo, NamespaceDescriptor descriptor) { @@ -238,6 +241,7 @@ public abstract class CodegenContext { public StackValue getReceiverExpression(JetTypeMapper typeMapper) { assert getCallableDescriptorWithReceiver() != null; + @SuppressWarnings("ConstantConditions") Type asmType = typeMapper.mapType(getCallableDescriptorWithReceiver().getReceiverParameter().getType(), JetTypeMapperMode.VALUE); return hasThisDescriptor() ? StackValue.local(1, asmType) : StackValue.local(0, asmType); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/NamespaceContext.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/NamespaceContext.java index 74edc400c7d..61f10b96bf9 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/NamespaceContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/NamespaceContext.java @@ -16,6 +16,7 @@ package org.jetbrains.jet.codegen.context; +import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.codegen.OwnerKind; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; @@ -23,8 +24,8 @@ import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; * @author alex.tkachman */ public class NamespaceContext extends CodegenContext { - public NamespaceContext(NamespaceDescriptor contextDescriptor, CodegenContext parent, OwnerKind kind) { - super(contextDescriptor, kind != null ? kind : OwnerKind.NAMESPACE, parent, null, null, null); + public NamespaceContext(NamespaceDescriptor contextDescriptor, CodegenContext parent, @NotNull OwnerKind kind) { + super(contextDescriptor, kind, parent, null, null, null); } @Override