From 0c2e1fb806f2cc17330658eea81546d463056a18 Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Tue, 19 Nov 2013 16:37:17 +0400 Subject: [PATCH] @NotNull annotations on descriptor classes --- .../src/org/jetbrains/jet/codegen/context/RootContext.java | 1 + .../jet/descriptors/serialization/TypeDeserializer.java | 1 + .../serialization/descriptors/DeserializedClassDescriptor.java | 3 +++ .../jet/lang/resolve/lazy/descriptors/LazyClassDescriptor.java | 3 +++ .../src/org/jetbrains/jet/lang/types/DeferredType.java | 1 + .../jetbrains/jet/lang/descriptors/annotations/Annotated.java | 2 ++ .../jet/lang/descriptors/annotations/AnnotatedImpl.java | 3 +++ .../jet/lang/descriptors/impl/AbstractClassDescriptor.java | 1 + .../descriptors/impl/AbstractLazyTypeParameterDescriptor.java | 2 ++ .../lang/descriptors/impl/LazySubstitutingClassDescriptor.java | 1 + .../jet/lang/descriptors/impl/MutableClassDescriptorLite.java | 1 + .../jet/lang/resolve/constants/NumberValueTypeConstructor.java | 1 + .../src/org/jetbrains/jet/lang/types/ErrorUtils.java | 1 + .../src/org/jetbrains/jet/lang/types/JetTypeImpl.java | 1 + .../src/org/jetbrains/jet/lang/types/NamespaceType.java | 1 + .../src/org/jetbrains/jet/lang/types/TypeUtils.java | 1 + 16 files changed, 24 insertions(+) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/context/RootContext.java b/compiler/backend/src/org/jetbrains/jet/codegen/context/RootContext.java index 97d6bd62649..10808de8b36 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/context/RootContext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/context/RootContext.java @@ -68,6 +68,7 @@ class RootContext extends CodegenContext { throw new IllegalStateException(); } + @NotNull @Override public List getAnnotations() { throw new IllegalStateException(); diff --git a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.java b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.java index 78b418d09a4..9944586a0f7 100644 --- a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.java +++ b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/TypeDeserializer.java @@ -268,6 +268,7 @@ public class TypeDeserializer { return descriptor != null && ErrorUtils.isError(descriptor); } + @NotNull @Override public List getAnnotations() { return Collections.emptyList(); diff --git a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java index 8b34f7d6c2f..5326376097c 100644 --- a/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java +++ b/compiler/frontend/serialization/src/org/jetbrains/jet/descriptors/serialization/descriptors/DeserializedClassDescriptor.java @@ -199,11 +199,13 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme return annotationDeserializer.loadClassAnnotations(this, classProto); } + @NotNull @Override public List getAnnotations() { return annotations.invoke(); } + @NotNull @Override protected JetScope getScopeForMemberLookup() { return memberScope; @@ -359,6 +361,7 @@ public class DeserializedClassDescriptor extends AbstractClassDescriptor impleme return DeserializedClassDescriptor.this; } + @NotNull @Override public List getAnnotations() { return Collections.emptyList(); // TODO diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassDescriptor.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassDescriptor.java index 6f472adfe40..49e11d1de3c 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/descriptors/LazyClassDescriptor.java @@ -166,6 +166,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc }); } + @NotNull @Override protected JetScope getScopeForMemberLookup() { return unsubstitutedMemberScope; @@ -330,6 +331,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc return thisAsReceiverParameter.invoke(); } + @NotNull @Override public List getAnnotations() { return annotations.invoke(); @@ -479,6 +481,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements LazyDesc return LazyClassDescriptor.this; } + @NotNull @Override public List getAnnotations() { return Collections.emptyList(); // TODO diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/DeferredType.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/DeferredType.java index e74b862af57..741515d74a5 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/DeferredType.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/DeferredType.java @@ -85,6 +85,7 @@ public class DeferredType implements JetType { return getActualType().isNullable(); } + @NotNull @Override public List getAnnotations() { return getActualType().getAnnotations(); diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/Annotated.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/Annotated.java index cabbf3c9f3b..b477e5bb832 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/Annotated.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/Annotated.java @@ -16,11 +16,13 @@ package org.jetbrains.jet.lang.descriptors.annotations; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.ReadOnly; import java.util.List; public interface Annotated { @ReadOnly + @NotNull List getAnnotations(); } diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/AnnotatedImpl.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/AnnotatedImpl.java index 4265c7041aa..775aea27c21 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/AnnotatedImpl.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/annotations/AnnotatedImpl.java @@ -16,6 +16,8 @@ package org.jetbrains.jet.lang.descriptors.annotations; +import org.jetbrains.annotations.NotNull; + import java.util.List; public abstract class AnnotatedImpl implements Annotated { @@ -25,6 +27,7 @@ public abstract class AnnotatedImpl implements Annotated { this.annotations = annotations; } + @NotNull @Override public List getAnnotations() { return annotations; diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractClassDescriptor.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractClassDescriptor.java index beadea3ac94..ec00f790ee0 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractClassDescriptor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractClassDescriptor.java @@ -33,6 +33,7 @@ public abstract class AbstractClassDescriptor implements ClassDescriptor { return this; } + @NotNull protected abstract JetScope getScopeForMemberLookup(); @NotNull diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractLazyTypeParameterDescriptor.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractLazyTypeParameterDescriptor.java index f08ef908ec1..a114738e8ac 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractLazyTypeParameterDescriptor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/AbstractLazyTypeParameterDescriptor.java @@ -179,6 +179,7 @@ public abstract class AbstractLazyTypeParameterDescriptor implements TypeParamet return AbstractLazyTypeParameterDescriptor.this; } + @NotNull @Override public List getAnnotations() { return AbstractLazyTypeParameterDescriptor.this.getAnnotations(); @@ -248,6 +249,7 @@ public abstract class AbstractLazyTypeParameterDescriptor implements TypeParamet return index; } + @NotNull @Override public List getAnnotations() { return Collections.emptyList(); // TODO diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/LazySubstitutingClassDescriptor.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/LazySubstitutingClassDescriptor.java index df26e736747..cc549a47621 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/LazySubstitutingClassDescriptor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/LazySubstitutingClassDescriptor.java @@ -117,6 +117,7 @@ public class LazySubstitutingClassDescriptor implements ClassDescriptor { return r; } + @NotNull @Override public List getAnnotations() { return original.getAnnotations(); diff --git a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/MutableClassDescriptorLite.java b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/MutableClassDescriptorLite.java index 255d6508d05..b4ee9862834 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/MutableClassDescriptorLite.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/descriptors/impl/MutableClassDescriptorLite.java @@ -210,6 +210,7 @@ public abstract class MutableClassDescriptorLite extends ClassDescriptorBase { } } + @NotNull @Override public List getAnnotations() { return annotations; diff --git a/core/descriptors/src/org/jetbrains/jet/lang/resolve/constants/NumberValueTypeConstructor.java b/core/descriptors/src/org/jetbrains/jet/lang/resolve/constants/NumberValueTypeConstructor.java index 4346236a8a5..623cd57ce67 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/resolve/constants/NumberValueTypeConstructor.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/resolve/constants/NumberValueTypeConstructor.java @@ -49,6 +49,7 @@ public abstract class NumberValueTypeConstructor implements TypeConstructor { return null; } + @NotNull @Override public List getAnnotations() { return Collections.emptyList(); diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/ErrorUtils.java b/core/descriptors/src/org/jetbrains/jet/lang/types/ErrorUtils.java index 060a244cf10..4b9e8a74148 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/ErrorUtils.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/types/ErrorUtils.java @@ -406,6 +406,7 @@ public class ErrorUtils { return true; } + @NotNull @Override public List getAnnotations() { return Collections.emptyList(); diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/JetTypeImpl.java b/core/descriptors/src/org/jetbrains/jet/lang/types/JetTypeImpl.java index 9a7ac97a7ca..3cf429ab915 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/JetTypeImpl.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/types/JetTypeImpl.java @@ -57,6 +57,7 @@ public final class JetTypeImpl extends AbstractJetType { classDescriptor.getMemberScope(Collections.emptyList())); } + @NotNull @Override public List getAnnotations() { return annotations; diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/NamespaceType.java b/core/descriptors/src/org/jetbrains/jet/lang/types/NamespaceType.java index b9b60d73c47..7ef4e29987e 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/NamespaceType.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/types/NamespaceType.java @@ -78,6 +78,7 @@ public class NamespaceType implements JetType { return false; } + @NotNull @Override public List getAnnotations() { throwException(); diff --git a/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java b/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java index aa871097de0..5fa5952a488 100644 --- a/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java +++ b/core/descriptors/src/org/jetbrains/jet/lang/types/TypeUtils.java @@ -84,6 +84,7 @@ public class TypeUtils { return false; } + @NotNull @Override public List getAnnotations() { throw new IllegalStateException(name);