diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java index ef5334b84f6..2afdcd73029 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JavaDescriptorResolver.java @@ -360,7 +360,7 @@ public class JavaDescriptorResolver { // Not let's take a descriptor of a Java class ResolverBinaryClassData classData = classDescriptorCache.get(qualifiedName); if (classData == null) { - PsiClass psiClass = psiClassFinder.findPsiClass(qualifiedName); + PsiClass psiClass = psiClassFinder.findPsiClass(qualifiedName, PsiClassFinder.RuntimeClassesHandleMode.THROW); if (psiClass == null) { return null; } @@ -944,7 +944,7 @@ public class JavaDescriptorResolver { break lookingForPsi; } - psiClass = psiClassFinder.findPsiClass(fqName); + psiClass = psiClassFinder.findPsiClass(fqName, PsiClassFinder.RuntimeClassesHandleMode.IGNORE); if (psiClass != null) { trace.record(JavaBindingContext.JAVA_NAMESPACE_KIND, ns, JavaNamespaceKind.CLASS_STATICS); break lookingForPsi; @@ -983,7 +983,7 @@ public class JavaDescriptorResolver { @Nullable private PsiClass getPsiClassForJavaPackageScope(@NotNull FqName packageFQN) { - return psiClassFinder.findPsiClass(packageFQN.child(JvmAbi.PACKAGE_CLASS)); + return psiClassFinder.findPsiClass(packageFQN.child(JvmAbi.PACKAGE_CLASS), PsiClassFinder.RuntimeClassesHandleMode.IGNORE); } private static class ValueParameterDescriptors { diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JvmStdlibNames.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JvmStdlibNames.java index f3ea31002c4..0d93f3c838f 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JvmStdlibNames.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/JvmStdlibNames.java @@ -64,6 +64,10 @@ public class JvmStdlibNames { public static final JvmClassName JET_OBJECT = new JvmClassName("jet.JetObject"); + + + public static final JvmClassName ASSERT_INVISIBLE_IN_RESOLVER = new JvmClassName("org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver"); + private JvmStdlibNames() { } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java index d61d51024db..654cf9e3562 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinder.java @@ -26,8 +26,13 @@ import org.jetbrains.jet.lang.resolve.FqName; * @author Stepan Koltsov */ public interface PsiClassFinder { + enum RuntimeClassesHandleMode { + THROW, + IGNORE, + } + @Nullable - PsiClass findPsiClass(@NotNull FqName fqName); + PsiClass findPsiClass(@NotNull FqName fqName, @NotNull RuntimeClassesHandleMode runtimeClassesHandleMode); @Nullable PsiPackage findPsiPackage(@NotNull FqName fqName); } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java index 26f81a9650c..48da447d8a8 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/PsiClassFinderForJvm.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.lang.resolve.java; import com.intellij.openapi.project.Project; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.JavaPsiFacade; +import com.intellij.psi.PsiAnnotation; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiPackage; import com.intellij.psi.impl.compiled.ClsClassImpl; @@ -29,11 +30,9 @@ import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.lang.resolve.FqName; import org.jetbrains.jet.lang.resolve.java.alt.AltClassFinder; import org.jetbrains.jet.plugin.JetFileType; -import org.jetbrains.jet.utils.PathUtil; import javax.annotation.PostConstruct; import javax.inject.Inject; -import java.util.Collections; /** * @author Stepan Koltsov @@ -74,7 +73,7 @@ public class PsiClassFinderForJvm implements PsiClassFinder { @Override @Nullable - public PsiClass findPsiClass(@NotNull FqName qualifiedName) { + public PsiClass findPsiClass(@NotNull FqName qualifiedName, @NotNull RuntimeClassesHandleMode runtimeClassesHandleMode) { PsiClass original = javaFacade.findClass(qualifiedName.getFqName(), javaSearchScope); PsiClass altClass = altClassFinder.findClass(qualifiedName); PsiClass result = original; @@ -97,6 +96,26 @@ public class PsiClassFinderForJvm implements PsiClassFinder { return null; } + if (result == null) { + return null; + } + + PsiAnnotation assertInvisibleAnnotation = result.getModifierList().findAnnotation( + JvmStdlibNames.ASSERT_INVISIBLE_IN_RESOLVER.getFqName().getFqName()); + if (assertInvisibleAnnotation != null) { + if (runtimeClassesHandleMode == RuntimeClassesHandleMode.IGNORE) { + return null; + } + else if (runtimeClassesHandleMode == RuntimeClassesHandleMode.THROW) { + throw new IllegalStateException( + "classpath is configured incorrectly:" + + " class " + qualifiedName + " from runtime must not be loaded by compiler"); + } + else { + throw new IllegalStateException("unknown parameter value: " + runtimeClassesHandleMode); + } + } + return result; } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java index 901b148b06c..4074771ecb7 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/types/lang/JetStandardClasses.java @@ -135,13 +135,13 @@ public class JetStandardClasses { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - public static final int TUPLE_COUNT = 22; + public static final int MAX_TUPLE_ORDER = 22; private static final Set TUPLE_CONSTRUCTORS = Sets.newHashSet(); - private static final ClassDescriptor[] TUPLE = new ClassDescriptor[TUPLE_COUNT]; + private static final ClassDescriptor[] TUPLE = new ClassDescriptor[MAX_TUPLE_ORDER + 1]; static { - for (int i = 0; i < TUPLE_COUNT; i++) { + for (int i = 0; i <= MAX_TUPLE_ORDER; i++) { List parameters = new ArrayList(); ClassDescriptorImpl classDescriptor = new ClassDescriptorImpl( STANDARD_CLASSES_NAMESPACE, @@ -175,16 +175,16 @@ public class JetStandardClasses { //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - public static final int FUNCTION_COUNT = 22; + public static final int MAX_FUNCTION_ORDER = 22; - private static final ClassDescriptor[] FUNCTION = new ClassDescriptor[FUNCTION_COUNT]; - private static final ClassDescriptor[] RECEIVER_FUNCTION = new ClassDescriptor[FUNCTION_COUNT]; + private static final ClassDescriptor[] FUNCTION = new ClassDescriptor[MAX_FUNCTION_ORDER + 1]; + private static final ClassDescriptor[] RECEIVER_FUNCTION = new ClassDescriptor[MAX_FUNCTION_ORDER + 1]; private static final Set FUNCTION_TYPE_CONSTRUCTORS = Sets.newHashSet(); private static final Set RECEIVER_FUNCTION_TYPE_CONSTRUCTORS = Sets.newHashSet(); static { - for (int i = 0; i < FUNCTION_COUNT; i++) { + for (int i = 0; i <= MAX_FUNCTION_ORDER; i++) { ClassDescriptorImpl function = new ClassDescriptorImpl( STANDARD_CLASSES_NAMESPACE, Collections.emptyList(), diff --git a/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java b/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java index 5f28eafec9d..71abc9c1354 100644 --- a/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java +++ b/compiler/tests/org/jetbrains/jet/resolve/JetResolveTest.java @@ -39,6 +39,7 @@ import org.jetbrains.jet.lang.resolve.calls.OverloadResolutionResults; import org.jetbrains.jet.lang.resolve.calls.ResolvedCall; import org.jetbrains.jet.lang.resolve.java.CompilerSpecialMode; import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver; +import org.jetbrains.jet.lang.resolve.java.PsiClassFinder; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverDescriptor; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.TypeProjection; @@ -127,7 +128,7 @@ public class JetResolveTest extends ExtensibleResolveTestCase { Project project = getProject(); InjectorForJavaSemanticServices injector = new InjectorForJavaSemanticServices( CompileCompilerDependenciesTest.compilerDependenciesForTests(CompilerSpecialMode.REGULAR), project); - return injector.getPsiClassFinderForJvm().findPsiClass(new FqName(qualifiedName)); + return injector.getPsiClassFinderForJvm().findPsiClass(new FqName(qualifiedName), PsiClassFinder.RuntimeClassesHandleMode.THROW); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java index 2acd667e54b..a927e9ac089 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/intrinsic/Intrinsics.java @@ -110,7 +110,7 @@ public final class Intrinsics { } private void declareTuplesIntrinsics() { - for (int tupleSize = 0; tupleSize < JetStandardClasses.TUPLE_COUNT; ++tupleSize) { + for (int tupleSize = 0; tupleSize <= JetStandardClasses.MAX_TUPLE_ORDER; ++tupleSize) { declareTupleIntrinsics(tupleSize); } } diff --git a/runtime/src/jet/BooleanIterable.java b/runtime/src/jet/BooleanIterable.java index f7cfb8aaf01..c9fcd7653d1 100644 --- a/runtime/src/jet/BooleanIterable.java +++ b/runtime/src/jet/BooleanIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface BooleanIterable extends Iterable { @Override BooleanIterator iterator(); diff --git a/runtime/src/jet/BooleanIterator.java b/runtime/src/jet/BooleanIterator.java index 965be4a3097..63a3f3fa387 100644 --- a/runtime/src/jet/BooleanIterator.java +++ b/runtime/src/jet/BooleanIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class BooleanIterator implements Iterator { public final Boolean next() { return nextBoolean(); diff --git a/runtime/src/jet/ByteIterable.java b/runtime/src/jet/ByteIterable.java index 1fa74edc6e4..08cbabe38d9 100644 --- a/runtime/src/jet/ByteIterable.java +++ b/runtime/src/jet/ByteIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface ByteIterable extends Iterable { @Override ByteIterator iterator(); diff --git a/runtime/src/jet/ByteIterator.java b/runtime/src/jet/ByteIterator.java index beb51aaf9af..62121bc7c7c 100644 --- a/runtime/src/jet/ByteIterator.java +++ b/runtime/src/jet/ByteIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class ByteIterator implements Iterator { public final Byte next() { return nextByte(); diff --git a/runtime/src/jet/ByteRange.java b/runtime/src/jet/ByteRange.java index 38dba4a6b9d..4aa5481f754 100644 --- a/runtime/src/jet/ByteRange.java +++ b/runtime/src/jet/ByteRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class ByteRange implements Range, ByteIterable { private final byte start; private final int count; diff --git a/runtime/src/jet/CharIterable.java b/runtime/src/jet/CharIterable.java index 16b8d17cd38..93a6a894042 100644 --- a/runtime/src/jet/CharIterable.java +++ b/runtime/src/jet/CharIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface CharIterable extends Iterable { @Override CharIterator iterator(); diff --git a/runtime/src/jet/CharIterator.java b/runtime/src/jet/CharIterator.java index e60ad4dde7e..3824fbdb7ec 100644 --- a/runtime/src/jet/CharIterator.java +++ b/runtime/src/jet/CharIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class CharIterator implements Iterator { public final Character next() { return nextChar(); diff --git a/runtime/src/jet/CharRange.java b/runtime/src/jet/CharRange.java index a884f11d36f..c8bcb631842 100644 --- a/runtime/src/jet/CharRange.java +++ b/runtime/src/jet/CharRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class CharRange implements Range, CharIterable { private final char start; private final int count; diff --git a/runtime/src/jet/DoubleIterable.java b/runtime/src/jet/DoubleIterable.java index 004d28712aa..f8203e01343 100644 --- a/runtime/src/jet/DoubleIterable.java +++ b/runtime/src/jet/DoubleIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface DoubleIterable extends Iterable { @Override DoubleIterator iterator(); diff --git a/runtime/src/jet/DoubleIterator.java b/runtime/src/jet/DoubleIterator.java index 92eebfd1b53..03896c786ac 100644 --- a/runtime/src/jet/DoubleIterator.java +++ b/runtime/src/jet/DoubleIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class DoubleIterator implements Iterator { public final Double next() { return nextDouble(); diff --git a/runtime/src/jet/DoubleRange.java b/runtime/src/jet/DoubleRange.java index 3fa771db23d..7a2caed633f 100644 --- a/runtime/src/jet/DoubleRange.java +++ b/runtime/src/jet/DoubleRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class DoubleRange implements Range { private final double start; private final double size; diff --git a/runtime/src/jet/ExtensionFunction0.java b/runtime/src/jet/ExtensionFunction0.java index 3b9eab1b411..f0fba4732ac 100644 --- a/runtime/src/jet/ExtensionFunction0.java +++ b/runtime/src/jet/ExtensionFunction0.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction0 extends DefaultJetObject { protected ExtensionFunction0() { super(); diff --git a/runtime/src/jet/ExtensionFunction1.java b/runtime/src/jet/ExtensionFunction1.java index 7cb401baf38..a4a3307fbca 100644 --- a/runtime/src/jet/ExtensionFunction1.java +++ b/runtime/src/jet/ExtensionFunction1.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction1 extends DefaultJetObject { protected ExtensionFunction1() { super(); diff --git a/runtime/src/jet/ExtensionFunction10.java b/runtime/src/jet/ExtensionFunction10.java index 75564078ae2..f07a4049ba8 100644 --- a/runtime/src/jet/ExtensionFunction10.java +++ b/runtime/src/jet/ExtensionFunction10.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction10 extends DefaultJetObject { protected ExtensionFunction10() { super(); diff --git a/runtime/src/jet/ExtensionFunction11.java b/runtime/src/jet/ExtensionFunction11.java index 92090c5de21..6007ad96057 100644 --- a/runtime/src/jet/ExtensionFunction11.java +++ b/runtime/src/jet/ExtensionFunction11.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction11 extends DefaultJetObject { protected ExtensionFunction11() { super(); diff --git a/runtime/src/jet/ExtensionFunction12.java b/runtime/src/jet/ExtensionFunction12.java index 63be427f490..4081e5240a3 100644 --- a/runtime/src/jet/ExtensionFunction12.java +++ b/runtime/src/jet/ExtensionFunction12.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction12 extends DefaultJetObject { protected ExtensionFunction12() { super(); diff --git a/runtime/src/jet/ExtensionFunction13.java b/runtime/src/jet/ExtensionFunction13.java index a7df63b8124..d481d52e760 100644 --- a/runtime/src/jet/ExtensionFunction13.java +++ b/runtime/src/jet/ExtensionFunction13.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction13 extends DefaultJetObject { protected ExtensionFunction13() { super(); diff --git a/runtime/src/jet/ExtensionFunction14.java b/runtime/src/jet/ExtensionFunction14.java index 7a3bb0694de..18589f4cc28 100644 --- a/runtime/src/jet/ExtensionFunction14.java +++ b/runtime/src/jet/ExtensionFunction14.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction14 extends DefaultJetObject { protected ExtensionFunction14() { super(); diff --git a/runtime/src/jet/ExtensionFunction15.java b/runtime/src/jet/ExtensionFunction15.java index dc6b9916773..df2d6361361 100644 --- a/runtime/src/jet/ExtensionFunction15.java +++ b/runtime/src/jet/ExtensionFunction15.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction15 extends DefaultJetObject { protected ExtensionFunction15() { super(); diff --git a/runtime/src/jet/ExtensionFunction16.java b/runtime/src/jet/ExtensionFunction16.java index f95ce8cd6f6..8c2cebc6eb8 100644 --- a/runtime/src/jet/ExtensionFunction16.java +++ b/runtime/src/jet/ExtensionFunction16.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction16 extends DefaultJetObject { protected ExtensionFunction16() { super(); diff --git a/runtime/src/jet/ExtensionFunction17.java b/runtime/src/jet/ExtensionFunction17.java index 332f10d1a62..3a86d5fa848 100644 --- a/runtime/src/jet/ExtensionFunction17.java +++ b/runtime/src/jet/ExtensionFunction17.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction17 extends DefaultJetObject { protected ExtensionFunction17() { super(); diff --git a/runtime/src/jet/ExtensionFunction18.java b/runtime/src/jet/ExtensionFunction18.java index 0418e9ccda6..b47d0efb1ab 100644 --- a/runtime/src/jet/ExtensionFunction18.java +++ b/runtime/src/jet/ExtensionFunction18.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction18 extends DefaultJetObject { protected ExtensionFunction18() { super(); diff --git a/runtime/src/jet/ExtensionFunction19.java b/runtime/src/jet/ExtensionFunction19.java index 06b4b7db85a..11bc8b68b3b 100644 --- a/runtime/src/jet/ExtensionFunction19.java +++ b/runtime/src/jet/ExtensionFunction19.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction19 extends DefaultJetObject { protected ExtensionFunction19() { super(); diff --git a/runtime/src/jet/ExtensionFunction2.java b/runtime/src/jet/ExtensionFunction2.java index 8ba87672e94..be5e3e261fc 100644 --- a/runtime/src/jet/ExtensionFunction2.java +++ b/runtime/src/jet/ExtensionFunction2.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction2 extends DefaultJetObject { protected ExtensionFunction2() { super(); diff --git a/runtime/src/jet/ExtensionFunction20.java b/runtime/src/jet/ExtensionFunction20.java index ccc2e5060e0..6d7804c9e4f 100644 --- a/runtime/src/jet/ExtensionFunction20.java +++ b/runtime/src/jet/ExtensionFunction20.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction20 extends DefaultJetObject { protected ExtensionFunction20() { super(); diff --git a/runtime/src/jet/ExtensionFunction21.java b/runtime/src/jet/ExtensionFunction21.java index 6b0653fd94f..a9b87561090 100644 --- a/runtime/src/jet/ExtensionFunction21.java +++ b/runtime/src/jet/ExtensionFunction21.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction21 extends DefaultJetObject { protected ExtensionFunction21() { super(); diff --git a/runtime/src/jet/ExtensionFunction22.java b/runtime/src/jet/ExtensionFunction22.java index 8dac4dca000..7e72414c8f7 100644 --- a/runtime/src/jet/ExtensionFunction22.java +++ b/runtime/src/jet/ExtensionFunction22.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction22 extends DefaultJetObject { protected ExtensionFunction22() { super(); diff --git a/runtime/src/jet/ExtensionFunction3.java b/runtime/src/jet/ExtensionFunction3.java index 8e7fd145364..a2ef80ae935 100644 --- a/runtime/src/jet/ExtensionFunction3.java +++ b/runtime/src/jet/ExtensionFunction3.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction3 extends DefaultJetObject { protected ExtensionFunction3() { super(); diff --git a/runtime/src/jet/ExtensionFunction4.java b/runtime/src/jet/ExtensionFunction4.java index 53198276f76..b5ec8345b7c 100644 --- a/runtime/src/jet/ExtensionFunction4.java +++ b/runtime/src/jet/ExtensionFunction4.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction4 extends DefaultJetObject { protected ExtensionFunction4() { super(); diff --git a/runtime/src/jet/ExtensionFunction5.java b/runtime/src/jet/ExtensionFunction5.java index 29d9c588752..fa7b26fb4f4 100644 --- a/runtime/src/jet/ExtensionFunction5.java +++ b/runtime/src/jet/ExtensionFunction5.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction5 extends DefaultJetObject { protected ExtensionFunction5() { super(); diff --git a/runtime/src/jet/ExtensionFunction6.java b/runtime/src/jet/ExtensionFunction6.java index 93f746c36d4..1454280a34a 100644 --- a/runtime/src/jet/ExtensionFunction6.java +++ b/runtime/src/jet/ExtensionFunction6.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction6 extends DefaultJetObject { protected ExtensionFunction6() { super(); diff --git a/runtime/src/jet/ExtensionFunction7.java b/runtime/src/jet/ExtensionFunction7.java index 6a01d9ae340..971d857a297 100644 --- a/runtime/src/jet/ExtensionFunction7.java +++ b/runtime/src/jet/ExtensionFunction7.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction7 extends DefaultJetObject { protected ExtensionFunction7() { super(); diff --git a/runtime/src/jet/ExtensionFunction8.java b/runtime/src/jet/ExtensionFunction8.java index b4a7b03b644..c8a2a665c75 100644 --- a/runtime/src/jet/ExtensionFunction8.java +++ b/runtime/src/jet/ExtensionFunction8.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction8 extends DefaultJetObject { protected ExtensionFunction8() { super(); diff --git a/runtime/src/jet/ExtensionFunction9.java b/runtime/src/jet/ExtensionFunction9.java index 338450078b7..4abb4f2d109 100644 --- a/runtime/src/jet/ExtensionFunction9.java +++ b/runtime/src/jet/ExtensionFunction9.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class ExtensionFunction9 extends DefaultJetObject { protected ExtensionFunction9() { super(); diff --git a/runtime/src/jet/FloatIterable.java b/runtime/src/jet/FloatIterable.java index dc0fc2713be..dca5c140bca 100644 --- a/runtime/src/jet/FloatIterable.java +++ b/runtime/src/jet/FloatIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface FloatIterable extends Iterable { @Override FloatIterator iterator(); diff --git a/runtime/src/jet/FloatIterator.java b/runtime/src/jet/FloatIterator.java index a6ac8ccd14a..ed87d2daf4a 100644 --- a/runtime/src/jet/FloatIterator.java +++ b/runtime/src/jet/FloatIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class FloatIterator implements Iterator { public final Float next() { return nextFloat(); diff --git a/runtime/src/jet/FloatRange.java b/runtime/src/jet/FloatRange.java index 06c15b9ca2a..f6f3831a8f2 100644 --- a/runtime/src/jet/FloatRange.java +++ b/runtime/src/jet/FloatRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class FloatRange implements Range { private final float start; private final float size; diff --git a/runtime/src/jet/Function0.java b/runtime/src/jet/Function0.java index 798339bfd53..2ec6782e2eb 100644 --- a/runtime/src/jet/Function0.java +++ b/runtime/src/jet/Function0.java @@ -19,7 +19,10 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** A function with no arguments */ +@AssertInvisibleInResolver public abstract class Function0 extends DefaultJetObject { public abstract R invoke(); diff --git a/runtime/src/jet/Function1.java b/runtime/src/jet/Function1.java index c29a3b051d9..4d954d398f8 100644 --- a/runtime/src/jet/Function1.java +++ b/runtime/src/jet/Function1.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function1 extends DefaultJetObject { public abstract R invoke(D1 d1); diff --git a/runtime/src/jet/Function10.java b/runtime/src/jet/Function10.java index 5cbdd9507ba..3d61e05582d 100644 --- a/runtime/src/jet/Function10.java +++ b/runtime/src/jet/Function10.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function10 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10); diff --git a/runtime/src/jet/Function11.java b/runtime/src/jet/Function11.java index 72d208a9095..54615c2be76 100644 --- a/runtime/src/jet/Function11.java +++ b/runtime/src/jet/Function11.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function11 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11); diff --git a/runtime/src/jet/Function12.java b/runtime/src/jet/Function12.java index 00fe410d664..a2daf7a3b20 100644 --- a/runtime/src/jet/Function12.java +++ b/runtime/src/jet/Function12.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function12 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12); diff --git a/runtime/src/jet/Function13.java b/runtime/src/jet/Function13.java index f08f37c6cb5..ba085ac3862 100644 --- a/runtime/src/jet/Function13.java +++ b/runtime/src/jet/Function13.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function13 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13); diff --git a/runtime/src/jet/Function14.java b/runtime/src/jet/Function14.java index d4d6b240951..2cefe60731f 100644 --- a/runtime/src/jet/Function14.java +++ b/runtime/src/jet/Function14.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function14 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14); diff --git a/runtime/src/jet/Function15.java b/runtime/src/jet/Function15.java index ef2857e1f1f..8e6900c7bf3 100644 --- a/runtime/src/jet/Function15.java +++ b/runtime/src/jet/Function15.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function15 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15); diff --git a/runtime/src/jet/Function16.java b/runtime/src/jet/Function16.java index 50d6cc40123..02627836b48 100644 --- a/runtime/src/jet/Function16.java +++ b/runtime/src/jet/Function16.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function16 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16); diff --git a/runtime/src/jet/Function17.java b/runtime/src/jet/Function17.java index a1c3c8bad13..2aef91a2b9b 100644 --- a/runtime/src/jet/Function17.java +++ b/runtime/src/jet/Function17.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function17 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16, D17 d17); diff --git a/runtime/src/jet/Function18.java b/runtime/src/jet/Function18.java index e34417acf51..3b979668962 100644 --- a/runtime/src/jet/Function18.java +++ b/runtime/src/jet/Function18.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function18 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16, D17 d17, D18 d18); diff --git a/runtime/src/jet/Function19.java b/runtime/src/jet/Function19.java index a6fc2c5740a..514e4b02030 100644 --- a/runtime/src/jet/Function19.java +++ b/runtime/src/jet/Function19.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function19 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16, D17 d17, D18 d18, D19 d19); diff --git a/runtime/src/jet/Function2.java b/runtime/src/jet/Function2.java index 64dcde7955b..8f5fb2d19bc 100644 --- a/runtime/src/jet/Function2.java +++ b/runtime/src/jet/Function2.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function2 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2); diff --git a/runtime/src/jet/Function20.java b/runtime/src/jet/Function20.java index 2c76484c852..19d102796c4 100644 --- a/runtime/src/jet/Function20.java +++ b/runtime/src/jet/Function20.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function20 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16, D17 d17, D18 d18, D19 d19, D20 d20); diff --git a/runtime/src/jet/Function21.java b/runtime/src/jet/Function21.java index 145f3983df5..621c443b7ed 100644 --- a/runtime/src/jet/Function21.java +++ b/runtime/src/jet/Function21.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function21 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16, D17 d17, D18 d18, D19 d19, D20 d20, D21 d21); diff --git a/runtime/src/jet/Function22.java b/runtime/src/jet/Function22.java index 0bce51b67be..0c5fdb2161e 100644 --- a/runtime/src/jet/Function22.java +++ b/runtime/src/jet/Function22.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function22 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9, D10 d10, D11 d11, D12 d12, D13 d13, D14 d14, D15 d15, D16 d16, D17 d17, D18 d18, D19 d19, D20 d20, D21 d21, D22 d22); diff --git a/runtime/src/jet/Function3.java b/runtime/src/jet/Function3.java index 0a306922590..dc75cc964c8 100644 --- a/runtime/src/jet/Function3.java +++ b/runtime/src/jet/Function3.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function3 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3); diff --git a/runtime/src/jet/Function4.java b/runtime/src/jet/Function4.java index 91cc1a3cdde..19bccc4d8c1 100644 --- a/runtime/src/jet/Function4.java +++ b/runtime/src/jet/Function4.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function4 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4); diff --git a/runtime/src/jet/Function5.java b/runtime/src/jet/Function5.java index 0afa3431745..802166fee70 100644 --- a/runtime/src/jet/Function5.java +++ b/runtime/src/jet/Function5.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function5 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5); diff --git a/runtime/src/jet/Function6.java b/runtime/src/jet/Function6.java index 9032b8656df..0832278c8fc 100644 --- a/runtime/src/jet/Function6.java +++ b/runtime/src/jet/Function6.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function6 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6); diff --git a/runtime/src/jet/Function7.java b/runtime/src/jet/Function7.java index 5159f24f0b7..9fd98e6df6f 100644 --- a/runtime/src/jet/Function7.java +++ b/runtime/src/jet/Function7.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function7 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7); diff --git a/runtime/src/jet/Function8.java b/runtime/src/jet/Function8.java index a0fe28e32a5..8335e58b82e 100644 --- a/runtime/src/jet/Function8.java +++ b/runtime/src/jet/Function8.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function8 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8); diff --git a/runtime/src/jet/Function9.java b/runtime/src/jet/Function9.java index f265598f27a..3ca80f8f0e4 100644 --- a/runtime/src/jet/Function9.java +++ b/runtime/src/jet/Function9.java @@ -19,6 +19,9 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public abstract class Function9 extends DefaultJetObject { public abstract R invoke(D1 d1, D2 d2, D3 d3, D4 d4, D5 d5, D6 d6, D7 d7, D8 d8, D9 d9); diff --git a/runtime/src/jet/IntIterable.java b/runtime/src/jet/IntIterable.java index a18253ab233..ee4a8c16bb0 100644 --- a/runtime/src/jet/IntIterable.java +++ b/runtime/src/jet/IntIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface IntIterable extends Iterable { @Override IntIterator iterator(); diff --git a/runtime/src/jet/IntIterator.java b/runtime/src/jet/IntIterator.java index a29b43d6c2f..7df7f9a813d 100644 --- a/runtime/src/jet/IntIterator.java +++ b/runtime/src/jet/IntIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class IntIterator implements Iterator { public final Integer next() { return nextInt(); diff --git a/runtime/src/jet/IntRange.java b/runtime/src/jet/IntRange.java index 2e5b799dac4..f8556931cf9 100644 --- a/runtime/src/jet/IntRange.java +++ b/runtime/src/jet/IntRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class IntRange implements Range, IntIterable { private final int start; private final int count; diff --git a/runtime/src/jet/Iterable.java b/runtime/src/jet/Iterable.java index e7dd9b72118..865e1071836 100644 --- a/runtime/src/jet/Iterable.java +++ b/runtime/src/jet/Iterable.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public interface Iterable { Iterator iterator (); } diff --git a/runtime/src/jet/Iterator.java b/runtime/src/jet/Iterator.java index 2a9cd54ed1f..a9337eedc4f 100644 --- a/runtime/src/jet/Iterator.java +++ b/runtime/src/jet/Iterator.java @@ -17,9 +17,10 @@ package jet; import jet.runtime.typeinfo.JetMethod; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; +@AssertInvisibleInResolver public interface Iterator { - @JetMethod(kind = JetMethod.KIND_PROPERTY) boolean getHasNext(); T next (); } diff --git a/runtime/src/jet/LongIterable.java b/runtime/src/jet/LongIterable.java index b28d9c08fe9..5033e9e8cf2 100644 --- a/runtime/src/jet/LongIterable.java +++ b/runtime/src/jet/LongIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface LongIterable extends Iterable { @Override LongIterator iterator(); diff --git a/runtime/src/jet/LongIterator.java b/runtime/src/jet/LongIterator.java index 7449f1f44ec..094362b1a3e 100644 --- a/runtime/src/jet/LongIterator.java +++ b/runtime/src/jet/LongIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class LongIterator implements Iterator { public final Long next() { return nextLong(); diff --git a/runtime/src/jet/LongRange.java b/runtime/src/jet/LongRange.java index 6477452e4e1..f444b24daf8 100644 --- a/runtime/src/jet/LongRange.java +++ b/runtime/src/jet/LongRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class LongRange implements Range, LongIterable { private final long start; private final long count; diff --git a/runtime/src/jet/Range.java b/runtime/src/jet/Range.java index 5967c4f9786..e9ed436be31 100644 --- a/runtime/src/jet/Range.java +++ b/runtime/src/jet/Range.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public interface Range> { boolean contains(T item); } diff --git a/runtime/src/jet/ShortIterable.java b/runtime/src/jet/ShortIterable.java index 2bce02fad60..7954433a61e 100644 --- a/runtime/src/jet/ShortIterable.java +++ b/runtime/src/jet/ShortIterable.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public interface ShortIterable extends Iterable { @Override ShortIterator iterator(); diff --git a/runtime/src/jet/ShortIterator.java b/runtime/src/jet/ShortIterator.java index a4a9cf66bc7..beebb3391e2 100644 --- a/runtime/src/jet/ShortIterator.java +++ b/runtime/src/jet/ShortIterator.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public abstract class ShortIterator implements Iterator { public final Short next() { return nextShort(); diff --git a/runtime/src/jet/ShortRange.java b/runtime/src/jet/ShortRange.java index 018f958093a..958d668f54d 100644 --- a/runtime/src/jet/ShortRange.java +++ b/runtime/src/jet/ShortRange.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public final class ShortRange implements Range, ShortIterable { private final short start; private final int count; diff --git a/runtime/src/jet/Tuple.java b/runtime/src/jet/Tuple.java index b233471944f..51451cfd9e7 100644 --- a/runtime/src/jet/Tuple.java +++ b/runtime/src/jet/Tuple.java @@ -15,9 +15,12 @@ */ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * Represents the common interface of a tuple */ +// @AssertInvisibleInResolver // TODO TupleN classes has no Tuple superclass public abstract class Tuple extends DefaultJetObject { /** diff --git a/runtime/src/jet/Tuple0.java b/runtime/src/jet/Tuple0.java index 482426597ee..b2ef9060651 100644 --- a/runtime/src/jet/Tuple0.java +++ b/runtime/src/jet/Tuple0.java @@ -16,9 +16,12 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + /** * @author alex.tkachman */ +@AssertInvisibleInResolver public class Tuple0 extends Tuple { public static final Tuple0 INSTANCE = new Tuple0(); diff --git a/runtime/src/jet/Tuple1.java b/runtime/src/jet/Tuple1.java index 5a088e9e855..27a92920755 100644 --- a/runtime/src/jet/Tuple1.java +++ b/runtime/src/jet/Tuple1.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple1 extends Tuple { public final T1 _1; diff --git a/runtime/src/jet/Tuple10.java b/runtime/src/jet/Tuple10.java index 120ebfbe465..0fcae84272f 100644 --- a/runtime/src/jet/Tuple10.java +++ b/runtime/src/jet/Tuple10.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple10 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple11.java b/runtime/src/jet/Tuple11.java index 70e741997a0..0923cf2f0a4 100644 --- a/runtime/src/jet/Tuple11.java +++ b/runtime/src/jet/Tuple11.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple11 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple12.java b/runtime/src/jet/Tuple12.java index 0ea6abac0f8..d69ee7eeb2b 100644 --- a/runtime/src/jet/Tuple12.java +++ b/runtime/src/jet/Tuple12.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple12 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple13.java b/runtime/src/jet/Tuple13.java index cdcc16fb4e1..44d7b42b3a5 100644 --- a/runtime/src/jet/Tuple13.java +++ b/runtime/src/jet/Tuple13.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple13 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple14.java b/runtime/src/jet/Tuple14.java index ffae337a2f1..61717ad56a8 100644 --- a/runtime/src/jet/Tuple14.java +++ b/runtime/src/jet/Tuple14.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple14 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple15.java b/runtime/src/jet/Tuple15.java index 798deadf08e..e96ab5db2d2 100644 --- a/runtime/src/jet/Tuple15.java +++ b/runtime/src/jet/Tuple15.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple15 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple16.java b/runtime/src/jet/Tuple16.java index 3f0a3316759..db4efa2a6b3 100644 --- a/runtime/src/jet/Tuple16.java +++ b/runtime/src/jet/Tuple16.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple16 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple17.java b/runtime/src/jet/Tuple17.java index 9b604b69c70..c2cd770876f 100644 --- a/runtime/src/jet/Tuple17.java +++ b/runtime/src/jet/Tuple17.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple17 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple18.java b/runtime/src/jet/Tuple18.java index e79eb14e3a3..d4b47515c0a 100644 --- a/runtime/src/jet/Tuple18.java +++ b/runtime/src/jet/Tuple18.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple18 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple19.java b/runtime/src/jet/Tuple19.java index f3b201562ad..f63ff76c149 100644 --- a/runtime/src/jet/Tuple19.java +++ b/runtime/src/jet/Tuple19.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple19 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple2.java b/runtime/src/jet/Tuple2.java index 54343ce1102..40f35220286 100644 --- a/runtime/src/jet/Tuple2.java +++ b/runtime/src/jet/Tuple2.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple2 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple20.java b/runtime/src/jet/Tuple20.java index 9e9c4985a03..ef3e431b718 100644 --- a/runtime/src/jet/Tuple20.java +++ b/runtime/src/jet/Tuple20.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple20 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple21.java b/runtime/src/jet/Tuple21.java index 46b2d881b04..ff9b0751724 100644 --- a/runtime/src/jet/Tuple21.java +++ b/runtime/src/jet/Tuple21.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple21 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple22.java b/runtime/src/jet/Tuple22.java index 860309ea071..d17613849dd 100644 --- a/runtime/src/jet/Tuple22.java +++ b/runtime/src/jet/Tuple22.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple22 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple3.java b/runtime/src/jet/Tuple3.java index 61844ff6944..c8624d97b9c 100644 --- a/runtime/src/jet/Tuple3.java +++ b/runtime/src/jet/Tuple3.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple3 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple4.java b/runtime/src/jet/Tuple4.java index 3ffc4043b41..9303c50e039 100644 --- a/runtime/src/jet/Tuple4.java +++ b/runtime/src/jet/Tuple4.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple4 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple5.java b/runtime/src/jet/Tuple5.java index 4707e3bd99a..35d8553f298 100644 --- a/runtime/src/jet/Tuple5.java +++ b/runtime/src/jet/Tuple5.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple5 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple6.java b/runtime/src/jet/Tuple6.java index 75262f94c5b..ff10829be89 100644 --- a/runtime/src/jet/Tuple6.java +++ b/runtime/src/jet/Tuple6.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple6 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple7.java b/runtime/src/jet/Tuple7.java index 211491adbe2..31b453c3ae5 100644 --- a/runtime/src/jet/Tuple7.java +++ b/runtime/src/jet/Tuple7.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple7 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple8.java b/runtime/src/jet/Tuple8.java index 92289cecf7a..c257346ca54 100644 --- a/runtime/src/jet/Tuple8.java +++ b/runtime/src/jet/Tuple8.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple8 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/jet/Tuple9.java b/runtime/src/jet/Tuple9.java index 1cc373502e1..1a7e4f5ddb1 100644 --- a/runtime/src/jet/Tuple9.java +++ b/runtime/src/jet/Tuple9.java @@ -16,6 +16,9 @@ package jet; +import org.jetbrains.jet.rt.annotation.AssertInvisibleInResolver; + +@AssertInvisibleInResolver public class Tuple9 extends Tuple { public final T1 _1; public final T2 _2; diff --git a/runtime/src/org/jetbrains/jet/rt/annotation/AssertInvisibleInResolver.java b/runtime/src/org/jetbrains/jet/rt/annotation/AssertInvisibleInResolver.java new file mode 100644 index 00000000000..ea3737d7409 --- /dev/null +++ b/runtime/src/org/jetbrains/jet/rt/annotation/AssertInvisibleInResolver.java @@ -0,0 +1,30 @@ +/* + * Copyright 2010-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.jetbrains.jet.rt.annotation; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * @author Stepan Koltsov + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.CLASS) +public @interface AssertInvisibleInResolver { +}