diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyPackageMemberScope.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyPackageMemberScope.java index cd297047cdd..1244fdd0705 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyPackageMemberScope.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/LazyPackageMemberScope.java @@ -18,6 +18,7 @@ package org.jetbrains.jet.lang.resolve.lazy; import com.google.common.collect.Maps; import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.lang.descriptors.ClassifierDescriptor; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; import org.jetbrains.jet.lang.descriptors.VariableDescriptor; @@ -64,6 +65,13 @@ public class LazyPackageMemberScope extends AbstractLazyMemberScope NO_ALIASES = new Function() { + + @Override + public Name fun(FqName name) { + return null; + } + }; + private final ModuleDescriptor module; private final LazyPackageDescriptor rootPackage; @@ -58,6 +67,7 @@ public class ResolveSession { private final ModuleConfiguration moduleConfiguration; private final Map enumEntryClassDescriptorCache = Maps.newHashMap(); + private final Function classifierAliases; public ResolveSession( @NotNull Project project, @@ -65,7 +75,7 @@ public class ResolveSession { @NotNull ModuleConfiguration moduleConfiguration, @NotNull DeclarationProviderFactory declarationProviderFactory ) { - this(project, rootDescriptor, moduleConfiguration, declarationProviderFactory, Predicates.alwaysFalse()); + this(project, rootDescriptor, moduleConfiguration, declarationProviderFactory, NO_ALIASES, Predicates.alwaysFalse()); } @Deprecated // Internal use only @@ -74,8 +84,10 @@ public class ResolveSession { @NotNull ModuleDescriptor rootDescriptor, @NotNull ModuleConfiguration moduleConfiguration, @NotNull DeclarationProviderFactory declarationProviderFactory, + @NotNull Function classifierAliases, @NotNull Predicate specialClasses ) { + this.classifierAliases = classifierAliases; this.specialClasses = specialClasses; this.injector = new InjectorForLazyResolve(project, this, trace); this.module = rootDescriptor; @@ -303,4 +315,14 @@ public class ResolveSession { } return result; } + + @NotNull + /*package*/ Name resolveClassifierAlias(@NotNull FqName packageName, @NotNull Name alias) { + // TODO: creating a new FqName object every time... + Name actualName = classifierAliases.fun(packageName.child(alias)); + if (actualName == null) { + return alias; + } + return actualName; + } } diff --git a/compiler/testData/builtin-classes.txt b/compiler/testData/builtin-classes.txt new file mode 100644 index 00000000000..6a079bdabf5 --- /dev/null +++ b/compiler/testData/builtin-classes.txt @@ -0,0 +1,1380 @@ +namespace jet + +public open class jet.Any { + public final /*constructor*/ fun (): jet.Any +} +public final class jet.Array : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int, /*1*/ init: jet.Function1): jet.Array + public final fun get(/*0*/ index: jet.Int): T + public final fun iterator(): jet.Iterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: T): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public final class jet.Boolean : jet.Comparable { + public final /*constructor*/ fun (): jet.Boolean + public final fun and(/*0*/ other: jet.Boolean): jet.Boolean + public final fun equals(/*0*/ other: jet.Any?): jet.Boolean + public final fun not(): jet.Boolean + public final fun or(/*0*/ other: jet.Boolean): jet.Boolean + public final fun xor(/*0*/ other: jet.Boolean): jet.Boolean + public open override /*1*/ fun compareTo(/*0*/ that: jet.Boolean): jet.Int +} +public final class jet.BooleanArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.BooleanArray + public final fun get(/*0*/ index: jet.Int): jet.Boolean + public final fun iterator(): jet.BooleanIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Boolean): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.BooleanIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.BooleanIterator +} +public abstract class jet.BooleanIterator : jet.Iterator { + public abstract fun nextBoolean(): jet.Boolean + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.BooleanIterator + public open override /*1*/ fun next(): jet.Boolean +} +public final class jet.Byte : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Byte + public final fun compareTo(/*0*/ other: jet.Char): jet.Int + public final fun compareTo(/*0*/ other: jet.Double): jet.Int + public final fun compareTo(/*0*/ other: jet.Float): jet.Int + public final fun compareTo(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Long): jet.Int + public final fun compareTo(/*0*/ other: jet.Short): jet.Int + public final fun dec(): jet.Byte + public final fun div(/*0*/ other: jet.Byte): jet.Int + public final fun div(/*0*/ other: jet.Char): jet.Int + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Float + public final fun div(/*0*/ other: jet.Int): jet.Int + public final fun div(/*0*/ other: jet.Long): jet.Long + public final fun div(/*0*/ other: jet.Short): jet.Int + public final fun downto(/*0*/ other: jet.Byte): jet.ByteRange + public final fun downto(/*0*/ other: jet.Char): jet.CharRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.FloatRange + public final fun downto(/*0*/ other: jet.Int): jet.IntRange + public final fun downto(/*0*/ other: jet.Long): jet.LongRange + public final fun downto(/*0*/ other: jet.Short): jet.ShortRange + public final fun inc(): jet.Byte + public final fun minus(): jet.Byte + public final fun minus(/*0*/ other: jet.Byte): jet.Int + public final fun minus(/*0*/ other: jet.Char): jet.Int + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Float + public final fun minus(/*0*/ other: jet.Int): jet.Int + public final fun minus(/*0*/ other: jet.Long): jet.Long + public final fun minus(/*0*/ other: jet.Short): jet.Int + public final fun mod(/*0*/ other: jet.Byte): jet.Int + public final fun mod(/*0*/ other: jet.Char): jet.Int + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Float + public final fun mod(/*0*/ other: jet.Int): jet.Int + public final fun mod(/*0*/ other: jet.Long): jet.Long + public final fun mod(/*0*/ other: jet.Short): jet.Int + public final fun plus(): jet.Byte + public final fun plus(/*0*/ other: jet.Byte): jet.Int + public final fun plus(/*0*/ other: jet.Char): jet.Int + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Float + public final fun plus(/*0*/ other: jet.Int): jet.Int + public final fun plus(/*0*/ other: jet.Long): jet.Long + public final fun plus(/*0*/ other: jet.Short): jet.Int + public final fun rangeTo(/*0*/ other: jet.Byte): jet.ByteRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.CharRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.IntRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.ShortRange + public final fun times(/*0*/ other: jet.Byte): jet.Int + public final fun times(/*0*/ other: jet.Char): jet.Int + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Float + public final fun times(/*0*/ other: jet.Int): jet.Int + public final fun times(/*0*/ other: jet.Long): jet.Long + public final fun times(/*0*/ other: jet.Short): jet.Int + public final fun upto(/*0*/ other: jet.Byte): jet.ByteRange + public final fun upto(/*0*/ other: jet.Char): jet.CharRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.FloatRange + public final fun upto(/*0*/ other: jet.Int): jet.IntRange + public final fun upto(/*0*/ other: jet.Long): jet.LongRange + public final fun upto(/*0*/ other: jet.Short): jet.ShortRange + public open override /*1*/ fun compareTo(/*0*/ other: jet.Byte): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.ByteArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.ByteArray + public final fun get(/*0*/ index: jet.Int): jet.Byte + public final fun iterator(): jet.ByteIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Byte): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.ByteIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.ByteIterator +} +public abstract class jet.ByteIterator : jet.Iterator { + public abstract fun nextByte(): jet.Byte + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.ByteIterator + public open override /*1*/ fun next(): jet.Byte +} +public final class jet.ByteRange : jet.Range, jet.ByteIterable { + public final /*constructor*/ fun (/*0*/ start: jet.Byte, /*1*/ size: jet.Int): jet.ByteRange + public final fun minus(): jet.ByteRange + public final fun step(/*0*/ step: jet.Int): jet.ByteIterator + public final val end: jet.Byte + public final val isReversed: jet.Boolean + public final val iteratorStart: jet.Byte + public final val size: jet.Int + public final val start: jet.Byte + public open override /*1*/ fun contains(/*0*/ elem: jet.Byte): jet.Boolean + public open override /*1*/ fun iterator(): jet.ByteIterator +} +public final class jet.Char : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Char + public final fun compareTo(/*0*/ other: jet.Byte): jet.Int + public final fun compareTo(/*0*/ other: jet.Double): jet.Int + public final fun compareTo(/*0*/ other: jet.Float): jet.Int + public final fun compareTo(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Long): jet.Int + public final fun compareTo(/*0*/ other: jet.Short): jet.Int + public final fun dec(): jet.Char + public final fun div(/*0*/ other: jet.Byte): jet.Int + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Float + public final fun div(/*0*/ other: jet.Int): jet.Int + public final fun div(/*0*/ other: jet.Long): jet.Long + public final fun div(/*0*/ other: jet.Short): jet.Int + public final fun downto(/*0*/ other: jet.Byte): jet.CharRange + public final fun downto(/*0*/ other: jet.Char): jet.CharRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.FloatRange + public final fun downto(/*0*/ other: jet.Int): jet.IntRange + public final fun downto(/*0*/ other: jet.Long): jet.LongRange + public final fun downto(/*0*/ other: jet.Short): jet.ShortRange + public final fun inc(): jet.Char + public final fun minus(): jet.Int + public final fun minus(/*0*/ other: jet.Byte): jet.Int + public final fun minus(/*0*/ other: jet.Char): jet.Int + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Float + public final fun minus(/*0*/ other: jet.Int): jet.Int + public final fun minus(/*0*/ other: jet.Long): jet.Long + public final fun minus(/*0*/ other: jet.Short): jet.Int + public final fun mod(/*0*/ other: jet.Byte): jet.Int + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Float + public final fun mod(/*0*/ other: jet.Int): jet.Int + public final fun mod(/*0*/ other: jet.Long): jet.Long + public final fun mod(/*0*/ other: jet.Short): jet.Int + public final fun plus(): jet.Int + public final fun plus(/*0*/ other: jet.Byte): jet.Int + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Float + public final fun plus(/*0*/ other: jet.Int): jet.Int + public final fun plus(/*0*/ other: jet.Long): jet.Long + public final fun plus(/*0*/ other: jet.Short): jet.Int + public final fun rangeTo(/*0*/ other: jet.Byte): jet.CharRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.CharRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.IntRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.ShortRange + public final fun times(/*0*/ other: jet.Byte): jet.Int + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Float + public final fun times(/*0*/ other: jet.Int): jet.Int + public final fun times(/*0*/ other: jet.Long): jet.Long + public final fun times(/*0*/ other: jet.Short): jet.Int + public final fun upto(/*0*/ other: jet.Byte): jet.CharRange + public final fun upto(/*0*/ other: jet.Char): jet.CharRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.FloatRange + public final fun upto(/*0*/ other: jet.Int): jet.IntRange + public final fun upto(/*0*/ other: jet.Long): jet.LongRange + public final fun upto(/*0*/ other: jet.Short): jet.ShortRange + public open override /*1*/ fun compareTo(/*0*/ other: jet.Char): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.CharArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.CharArray + public final fun get(/*0*/ index: jet.Int): jet.Char + public final fun iterator(): jet.CharIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Char): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.CharIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.CharIterator +} +public abstract class jet.CharIterator : jet.Iterator { + public abstract fun nextChar(): jet.Char + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.CharIterator + public open override /*1*/ fun next(): jet.Char +} +public final class jet.CharRange : jet.Range, jet.CharIterable { + public final /*constructor*/ fun (/*0*/ start: jet.Char, /*1*/ size: jet.Int): jet.CharRange + public final fun minus(): jet.CharRange + public final fun step(/*0*/ step: jet.Int): jet.CharIterator + public final val end: jet.Char + public final val isReversed: jet.Boolean + public final val iteratorStart: jet.Char + public final val size: jet.Int + public final val start: jet.Char + public open override /*1*/ fun contains(/*0*/ elem: jet.Char): jet.Boolean + public open override /*1*/ fun iterator(): jet.CharIterator +} +public abstract trait jet.CharSequence : jet.Any { + public abstract fun get(/*0*/ index: jet.Int): jet.Char + public abstract fun toString(): jet.String + public abstract val length: jet.Int +} +public abstract trait jet.Comparable : jet.Any { + public abstract fun compareTo(/*0*/ other: T): jet.Int +} +public final class jet.Double : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Double + public final fun compareTo(/*0*/ other: jet.Byte): jet.Int + public final fun compareTo(/*0*/ other: jet.Char): jet.Int + public final fun compareTo(/*0*/ other: jet.Float): jet.Int + public final fun compareTo(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Long): jet.Int + public final fun compareTo(/*0*/ other: jet.Short): jet.Int + public final fun dec(): jet.Double + public final fun div(/*0*/ other: jet.Byte): jet.Double + public final fun div(/*0*/ other: jet.Char): jet.Double + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Double + public final fun div(/*0*/ other: jet.Int): jet.Double + public final fun div(/*0*/ other: jet.Long): jet.Double + public final fun div(/*0*/ other: jet.Short): jet.Double + public final fun downto(/*0*/ other: jet.Byte): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Char): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Int): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Long): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Short): jet.DoubleRange + public final fun inc(): jet.Double + public final fun minus(): jet.Double + public final fun minus(/*0*/ other: jet.Byte): jet.Double + public final fun minus(/*0*/ other: jet.Char): jet.Double + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Double + public final fun minus(/*0*/ other: jet.Int): jet.Double + public final fun minus(/*0*/ other: jet.Long): jet.Double + public final fun minus(/*0*/ other: jet.Short): jet.Double + public final fun mod(/*0*/ other: jet.Byte): jet.Double + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Double + public final fun mod(/*0*/ other: jet.Int): jet.Double + public final fun mod(/*0*/ other: jet.Long): jet.Double + public final fun mod(/*0*/ other: jet.Short): jet.Double + public final fun plus(): jet.Double + public final fun plus(/*0*/ other: jet.Byte): jet.Double + public final fun plus(/*0*/ other: jet.Char): jet.Double + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Double + public final fun plus(/*0*/ other: jet.Int): jet.Double + public final fun plus(/*0*/ other: jet.Long): jet.Double + public final fun plus(/*0*/ other: jet.Short): jet.Double + public final fun rangeTo(/*0*/ other: jet.Byte): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.DoubleRange + public final fun times(/*0*/ other: jet.Byte): jet.Double + public final fun times(/*0*/ other: jet.Char): jet.Double + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Double + public final fun times(/*0*/ other: jet.Int): jet.Double + public final fun times(/*0*/ other: jet.Long): jet.Double + public final fun times(/*0*/ other: jet.Short): jet.Double + public final fun upto(/*0*/ other: jet.Byte): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Char): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Int): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Long): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Short): jet.DoubleRange + public open override /*1*/ fun compareTo(/*0*/ other: jet.Double): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.DoubleArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.DoubleArray + public final fun get(/*0*/ index: jet.Int): jet.Double + public final fun iterator(): jet.DoubleIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Double): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.DoubleIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.DoubleIterator +} +public abstract class jet.DoubleIterator : jet.Iterator { + public abstract fun nextDouble(): jet.Double + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.DoubleIterator + public open override /*1*/ fun next(): jet.Double +} +public final class jet.DoubleRange : jet.Range { + public final /*constructor*/ fun (/*0*/ start: jet.Double, /*1*/ size: jet.Double): jet.DoubleRange + public final fun minus(): jet.DoubleRange + public final fun step(/*0*/ step: jet.Double): jet.DoubleIterator + public final val end: jet.Double + public final val isReversed: jet.Boolean + public final val size: jet.Double + public final val start: jet.Double + public open override /*1*/ fun contains(/*0*/ elem: jet.Double): jet.Boolean +} +public abstract class jet.ExtensionFunction0 : jet.Any { + public abstract fun T.invoke(): R + public final /*constructor*/ fun (): jet.ExtensionFunction0 +} +public abstract class jet.ExtensionFunction1 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1): R + public final /*constructor*/ fun (): jet.ExtensionFunction1 +} +public abstract class jet.ExtensionFunction10 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10): R + public final /*constructor*/ fun (): jet.ExtensionFunction10 +} +public abstract class jet.ExtensionFunction11 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11): R + public final /*constructor*/ fun (): jet.ExtensionFunction11 +} +public abstract class jet.ExtensionFunction12 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12): R + public final /*constructor*/ fun (): jet.ExtensionFunction12 +} +public abstract class jet.ExtensionFunction13 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13): R + public final /*constructor*/ fun (): jet.ExtensionFunction13 +} +public abstract class jet.ExtensionFunction14 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14): R + public final /*constructor*/ fun (): jet.ExtensionFunction14 +} +public abstract class jet.ExtensionFunction15 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15): R + public final /*constructor*/ fun (): jet.ExtensionFunction15 +} +public abstract class jet.ExtensionFunction16 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16): R + public final /*constructor*/ fun (): jet.ExtensionFunction16 +} +public abstract class jet.ExtensionFunction17 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17): R + public final /*constructor*/ fun (): jet.ExtensionFunction17 +} +public abstract class jet.ExtensionFunction18 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18): R + public final /*constructor*/ fun (): jet.ExtensionFunction18 +} +public abstract class jet.ExtensionFunction19 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19): R + public final /*constructor*/ fun (): jet.ExtensionFunction19 +} +public abstract class jet.ExtensionFunction2 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2): R + public final /*constructor*/ fun (): jet.ExtensionFunction2 +} +public abstract class jet.ExtensionFunction20 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19, /*19*/ p20: P20): R + public final /*constructor*/ fun (): jet.ExtensionFunction20 +} +public abstract class jet.ExtensionFunction21 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19, /*19*/ p20: P20, /*20*/ p21: P21): R + public final /*constructor*/ fun (): jet.ExtensionFunction21 +} +public abstract class jet.ExtensionFunction22 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19, /*19*/ p20: P20, /*20*/ p21: P21, /*21*/ p22: P22): R + public final /*constructor*/ fun (): jet.ExtensionFunction22 +} +public abstract class jet.ExtensionFunction3 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3): R + public final /*constructor*/ fun (): jet.ExtensionFunction3 +} +public abstract class jet.ExtensionFunction4 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4): R + public final /*constructor*/ fun (): jet.ExtensionFunction4 +} +public abstract class jet.ExtensionFunction5 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5): R + public final /*constructor*/ fun (): jet.ExtensionFunction5 +} +public abstract class jet.ExtensionFunction6 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6): R + public final /*constructor*/ fun (): jet.ExtensionFunction6 +} +public abstract class jet.ExtensionFunction7 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7): R + public final /*constructor*/ fun (): jet.ExtensionFunction7 +} +public abstract class jet.ExtensionFunction8 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8): R + public final /*constructor*/ fun (): jet.ExtensionFunction8 +} +public abstract class jet.ExtensionFunction9 : jet.Any { + public abstract fun T.invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9): R + public final /*constructor*/ fun (): jet.ExtensionFunction9 +} +public final class jet.Float : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Float + public final fun compareTo(/*0*/ other: jet.Byte): jet.Int + public final fun compareTo(/*0*/ other: jet.Char): jet.Int + public final fun compareTo(/*0*/ other: jet.Double): jet.Int + public final fun compareTo(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Long): jet.Int + public final fun compareTo(/*0*/ other: jet.Short): jet.Int + public final fun dec(): jet.Float + public final fun div(/*0*/ other: jet.Byte): jet.Float + public final fun div(/*0*/ other: jet.Char): jet.Float + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Float + public final fun div(/*0*/ other: jet.Int): jet.Float + public final fun div(/*0*/ other: jet.Long): jet.Float + public final fun div(/*0*/ other: jet.Short): jet.Float + public final fun downto(/*0*/ other: jet.Byte): jet.FloatRange + public final fun downto(/*0*/ other: jet.Char): jet.FloatRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.FloatRange + public final fun downto(/*0*/ other: jet.Int): jet.FloatRange + public final fun downto(/*0*/ other: jet.Long): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Short): jet.FloatRange + public final fun inc(): jet.Float + public final fun minus(): jet.Float + public final fun minus(/*0*/ other: jet.Byte): jet.Float + public final fun minus(/*0*/ other: jet.Char): jet.Float + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Float + public final fun minus(/*0*/ other: jet.Int): jet.Float + public final fun minus(/*0*/ other: jet.Long): jet.Float + public final fun minus(/*0*/ other: jet.Short): jet.Float + public final fun mod(/*0*/ other: jet.Byte): jet.Float + public final fun mod(/*0*/ other: jet.Char): jet.Float + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Float + public final fun mod(/*0*/ other: jet.Int): jet.Float + public final fun mod(/*0*/ other: jet.Long): jet.Float + public final fun mod(/*0*/ other: jet.Short): jet.Float + public final fun plus(): jet.Float + public final fun plus(/*0*/ other: jet.Byte): jet.Float + public final fun plus(/*0*/ other: jet.Char): jet.Float + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Float + public final fun plus(/*0*/ other: jet.Int): jet.Float + public final fun plus(/*0*/ other: jet.Long): jet.Float + public final fun plus(/*0*/ other: jet.Short): jet.Float + public final fun rangeTo(/*0*/ other: jet.Byte): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.FloatRange + public final fun times(/*0*/ other: jet.Byte): jet.Float + public final fun times(/*0*/ other: jet.Char): jet.Float + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Float + public final fun times(/*0*/ other: jet.Int): jet.Float + public final fun times(/*0*/ other: jet.Long): jet.Float + public final fun times(/*0*/ other: jet.Short): jet.Float + public final fun upto(/*0*/ other: jet.Byte): jet.FloatRange + public final fun upto(/*0*/ other: jet.Char): jet.FloatRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.FloatRange + public final fun upto(/*0*/ other: jet.Int): jet.FloatRange + public final fun upto(/*0*/ other: jet.Long): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Short): jet.FloatRange + public open override /*1*/ fun compareTo(/*0*/ other: jet.Float): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.FloatArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.FloatArray + public final fun get(/*0*/ index: jet.Int): jet.Float + public final fun iterator(): jet.FloatIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Float): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.FloatIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.FloatIterator +} +public abstract class jet.FloatIterator : jet.Iterator { + public abstract fun nextFloat(): jet.Float + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.FloatIterator + public open override /*1*/ fun next(): jet.Float +} +public final class jet.FloatRange : jet.Range { + public final /*constructor*/ fun (/*0*/ start: jet.Float, /*1*/ size: jet.Float): jet.FloatRange + public final fun minus(): jet.FloatRange + public final fun step(/*0*/ step: jet.Float): jet.FloatIterator + public final val end: jet.Float + public final val isReversed: jet.Boolean + public final val size: jet.Float + public final val start: jet.Float + public open override /*1*/ fun contains(/*0*/ elem: jet.Float): jet.Boolean +} +public abstract class jet.Function0 : jet.Any { + public abstract fun invoke(): R + public final /*constructor*/ fun (): jet.Function0 +} +public abstract class jet.Function1 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1): R + public final /*constructor*/ fun (): jet.Function1 +} +public abstract class jet.Function10 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10): R + public final /*constructor*/ fun (): jet.Function10 +} +public abstract class jet.Function11 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11): R + public final /*constructor*/ fun (): jet.Function11 +} +public abstract class jet.Function12 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12): R + public final /*constructor*/ fun (): jet.Function12 +} +public abstract class jet.Function13 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13): R + public final /*constructor*/ fun (): jet.Function13 +} +public abstract class jet.Function14 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14): R + public final /*constructor*/ fun (): jet.Function14 +} +public abstract class jet.Function15 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15): R + public final /*constructor*/ fun (): jet.Function15 +} +public abstract class jet.Function16 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16): R + public final /*constructor*/ fun (): jet.Function16 +} +public abstract class jet.Function17 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17): R + public final /*constructor*/ fun (): jet.Function17 +} +public abstract class jet.Function18 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18): R + public final /*constructor*/ fun (): jet.Function18 +} +public abstract class jet.Function19 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19): R + public final /*constructor*/ fun (): jet.Function19 +} +public abstract class jet.Function2 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2): R + public final /*constructor*/ fun (): jet.Function2 +} +public abstract class jet.Function20 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19, /*19*/ p20: P20): R + public final /*constructor*/ fun (): jet.Function20 +} +public abstract class jet.Function21 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19, /*19*/ p20: P20, /*20*/ p21: P21): R + public final /*constructor*/ fun (): jet.Function21 +} +public abstract class jet.Function22 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9, /*9*/ p10: P10, /*10*/ p11: P11, /*11*/ p12: P12, /*12*/ p13: P13, /*13*/ p14: P14, /*14*/ p15: P15, /*15*/ p16: P16, /*16*/ p17: P17, /*17*/ p18: P18, /*18*/ p19: P19, /*19*/ p20: P20, /*20*/ p21: P21, /*21*/ p22: P22): R + public final /*constructor*/ fun (): jet.Function22 +} +public abstract class jet.Function3 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3): R + public final /*constructor*/ fun (): jet.Function3 +} +public abstract class jet.Function4 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4): R + public final /*constructor*/ fun (): jet.Function4 +} +public abstract class jet.Function5 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5): R + public final /*constructor*/ fun (): jet.Function5 +} +public abstract class jet.Function6 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6): R + public final /*constructor*/ fun (): jet.Function6 +} +public abstract class jet.Function7 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7): R + public final /*constructor*/ fun (): jet.Function7 +} +public abstract class jet.Function8 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8): R + public final /*constructor*/ fun (): jet.Function8 +} +public abstract class jet.Function9 : jet.Any { + public abstract fun invoke(/*0*/ p1: P1, /*1*/ p2: P2, /*2*/ p3: P3, /*3*/ p4: P4, /*4*/ p5: P5, /*5*/ p6: P6, /*6*/ p7: P7, /*7*/ p8: P8, /*8*/ p9: P9): R + public final /*constructor*/ fun (): jet.Function9 +} +public abstract trait jet.Hashable : jet.Any { + public abstract fun equals(/*0*/ other: jet.Any?): jet.Boolean + public abstract fun hashCode(): jet.Int +} +public final class jet.Int : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Int + public final fun and(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Byte): jet.Int + public final fun compareTo(/*0*/ other: jet.Char): jet.Int + public final fun compareTo(/*0*/ other: jet.Double): jet.Int + public final fun compareTo(/*0*/ other: jet.Float): jet.Int + public final fun compareTo(/*0*/ other: jet.Long): jet.Int + public final fun compareTo(/*0*/ other: jet.Short): jet.Int + public final fun dec(): jet.Int + public final fun div(/*0*/ other: jet.Byte): jet.Int + public final fun div(/*0*/ other: jet.Char): jet.Int + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Float + public final fun div(/*0*/ other: jet.Int): jet.Int + public final fun div(/*0*/ other: jet.Long): jet.Long + public final fun div(/*0*/ other: jet.Short): jet.Int + public final fun downto(/*0*/ other: jet.Byte): jet.IntRange + public final fun downto(/*0*/ other: jet.Char): jet.IntRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.FloatRange + public final fun downto(/*0*/ other: jet.Int): jet.IntRange + public final fun downto(/*0*/ other: jet.Long): jet.LongRange + public final fun downto(/*0*/ other: jet.Short): jet.IntRange + public final fun inc(): jet.Int + public final fun inv(): jet.Int + public final fun minus(): jet.Int + public final fun minus(/*0*/ other: jet.Byte): jet.Int + public final fun minus(/*0*/ other: jet.Char): jet.Int + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Float + public final fun minus(/*0*/ other: jet.Int): jet.Int + public final fun minus(/*0*/ other: jet.Long): jet.Long + public final fun minus(/*0*/ other: jet.Short): jet.Int + public final fun mod(/*0*/ other: jet.Byte): jet.Int + public final fun mod(/*0*/ other: jet.Char): jet.Int + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Float + public final fun mod(/*0*/ other: jet.Int): jet.Int + public final fun mod(/*0*/ other: jet.Long): jet.Long + public final fun mod(/*0*/ other: jet.Short): jet.Int + public final fun or(/*0*/ other: jet.Int): jet.Int + public final fun plus(): jet.Int + public final fun plus(/*0*/ other: jet.Byte): jet.Int + public final fun plus(/*0*/ other: jet.Char): jet.Int + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Float + public final fun plus(/*0*/ other: jet.Int): jet.Int + public final fun plus(/*0*/ other: jet.Long): jet.Long + public final fun plus(/*0*/ other: jet.Short): jet.Int + public final fun rangeTo(/*0*/ other: jet.Byte): jet.IntRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.IntRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.IntRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.IntRange + public final fun shl(/*0*/ bits: jet.Int): jet.Int + public final fun shr(/*0*/ bits: jet.Int): jet.Int + public final fun times(/*0*/ other: jet.Byte): jet.Int + public final fun times(/*0*/ other: jet.Char): jet.Int + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Float + public final fun times(/*0*/ other: jet.Int): jet.Int + public final fun times(/*0*/ other: jet.Long): jet.Long + public final fun times(/*0*/ other: jet.Short): jet.Int + public final fun upto(/*0*/ other: jet.Byte): jet.IntRange + public final fun upto(/*0*/ other: jet.Char): jet.IntRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.FloatRange + public final fun upto(/*0*/ other: jet.Int): jet.IntRange + public final fun upto(/*0*/ other: jet.Long): jet.LongRange + public final fun upto(/*0*/ other: jet.Short): jet.IntRange + public final fun ushr(/*0*/ bits: jet.Int): jet.Int + public final fun xor(/*0*/ other: jet.Int): jet.Int + public open override /*1*/ fun compareTo(/*0*/ other: jet.Int): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.IntArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.IntArray + public final fun get(/*0*/ index: jet.Int): jet.Int + public final fun iterator(): jet.IntIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Int): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.IntIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.IntIterator +} +public abstract class jet.IntIterator : jet.Iterator { + public abstract fun nextInt(): jet.Int + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.IntIterator + public open override /*1*/ fun next(): jet.Int +} +public final class jet.IntRange : jet.Range, jet.IntIterable { + public final /*constructor*/ fun (/*0*/ start: jet.Int, /*1*/ size: jet.Int): jet.IntRange + public final fun minus(): jet.IntRange + public final fun step(/*0*/ step: jet.Int): jet.IntIterator + public final val end: jet.Int + public final val isReversed: jet.Boolean + public final val iteratorStart: jet.Int + public final val size: jet.Int + public final val start: jet.Int + public open override /*1*/ fun contains(/*0*/ elem: jet.Int): jet.Boolean + public open override /*1*/ fun iterator(): jet.IntIterator +} +public abstract trait jet.Iterable : jet.Any { + public abstract fun iterator(): jet.Iterator +} +public abstract trait jet.Iterator : jet.Any { + public abstract fun next(): T + public abstract val hasNext: jet.Boolean +} +public final class jet.Long : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Long + public final fun and(/*0*/ other: jet.Long): jet.Long + public final fun compareTo(/*0*/ other: jet.Byte): jet.Int + public final fun compareTo(/*0*/ other: jet.Char): jet.Int + public final fun compareTo(/*0*/ other: jet.Double): jet.Int + public final fun compareTo(/*0*/ other: jet.Float): jet.Int + public final fun compareTo(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Short): jet.Int + public final fun dec(): jet.Long + public final fun div(/*0*/ other: jet.Byte): jet.Long + public final fun div(/*0*/ other: jet.Char): jet.Long + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Float + public final fun div(/*0*/ other: jet.Int): jet.Long + public final fun div(/*0*/ other: jet.Long): jet.Long + public final fun div(/*0*/ other: jet.Short): jet.Long + public final fun downto(/*0*/ other: jet.Byte): jet.LongRange + public final fun downto(/*0*/ other: jet.Char): jet.LongRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.FloatRange + public final fun downto(/*0*/ other: jet.Int): jet.LongRange + public final fun downto(/*0*/ other: jet.Long): jet.LongRange + public final fun downto(/*0*/ other: jet.Short): jet.LongRange + public final fun inc(): jet.Long + public final fun inv(): jet.Long + public final fun minus(): jet.Long + public final fun minus(/*0*/ other: jet.Byte): jet.Long + public final fun minus(/*0*/ other: jet.Char): jet.Long + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Float + public final fun minus(/*0*/ other: jet.Int): jet.Long + public final fun minus(/*0*/ other: jet.Long): jet.Long + public final fun minus(/*0*/ other: jet.Short): jet.Long + public final fun mod(/*0*/ other: jet.Byte): jet.Long + public final fun mod(/*0*/ other: jet.Char): jet.Long + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Float + public final fun mod(/*0*/ other: jet.Int): jet.Long + public final fun mod(/*0*/ other: jet.Long): jet.Long + public final fun mod(/*0*/ other: jet.Short): jet.Long + public final fun or(/*0*/ other: jet.Long): jet.Long + public final fun plus(): jet.Long + public final fun plus(/*0*/ other: jet.Byte): jet.Long + public final fun plus(/*0*/ other: jet.Char): jet.Long + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Float + public final fun plus(/*0*/ other: jet.Int): jet.Long + public final fun plus(/*0*/ other: jet.Long): jet.Long + public final fun plus(/*0*/ other: jet.Short): jet.Long + public final fun rangeTo(/*0*/ other: jet.Byte): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.LongRange + public final fun shl(/*0*/ bits: jet.Int): jet.Long + public final fun shr(/*0*/ bits: jet.Int): jet.Long + public final fun times(/*0*/ other: jet.Byte): jet.Long + public final fun times(/*0*/ other: jet.Char): jet.Long + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Float + public final fun times(/*0*/ other: jet.Int): jet.Long + public final fun times(/*0*/ other: jet.Long): jet.Long + public final fun times(/*0*/ other: jet.Short): jet.Long + public final fun upto(/*0*/ other: jet.Byte): jet.LongRange + public final fun upto(/*0*/ other: jet.Char): jet.LongRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.FloatRange + public final fun upto(/*0*/ other: jet.Int): jet.LongRange + public final fun upto(/*0*/ other: jet.Long): jet.LongRange + public final fun upto(/*0*/ other: jet.Short): jet.LongRange + public final fun ushr(/*0*/ bits: jet.Int): jet.Long + public final fun xor(/*0*/ other: jet.Long): jet.Long + public open override /*1*/ fun compareTo(/*0*/ other: jet.Long): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.LongArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.LongArray + public final fun get(/*0*/ index: jet.Int): jet.Long + public final fun iterator(): jet.LongIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Long): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.LongIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.LongIterator +} +public abstract class jet.LongIterator : jet.Iterator { + public abstract fun nextLong(): jet.Long + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.LongIterator + public open override /*1*/ fun next(): jet.Long +} +public final class jet.LongRange : jet.Range, jet.LongIterable { + public final /*constructor*/ fun (/*0*/ start: jet.Long, /*1*/ size: jet.Long): jet.LongRange + public final fun minus(): jet.LongRange + public final fun step(/*0*/ step: jet.Long): jet.LongIterator + public final val end: jet.Long + public final val isReversed: jet.Boolean + public final val iteratorStart: jet.Long + public final val size: jet.Long + public final val start: jet.Long + public open override /*1*/ fun contains(/*0*/ elem: jet.Long): jet.Boolean + public open override /*1*/ fun iterator(): jet.LongIterator +} +public final class jet.Nothing { + private final /*constructor*/ fun (): jet.Nothing +} +public abstract class jet.Number : jet.Hashable { + public abstract fun toByte(): jet.Byte + public abstract fun toChar(): jet.Char + public abstract fun toDouble(): jet.Double + public abstract fun toFloat(): jet.Float + public abstract fun toInt(): jet.Int + public abstract fun toLong(): jet.Long + public abstract fun toShort(): jet.Short + public abstract override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public abstract override /*1*/ fun hashCode(): jet.Int + public final /*constructor*/ fun (): jet.Number +} +public abstract trait jet.Range> : jet.Any { + public abstract fun contains(/*0*/ item: T): jet.Boolean +} +public final class jet.Short : jet.Number, jet.Comparable { + public final /*constructor*/ fun (): jet.Short + public final fun compareTo(/*0*/ other: jet.Byte): jet.Int + public final fun compareTo(/*0*/ other: jet.Char): jet.Int + public final fun compareTo(/*0*/ other: jet.Double): jet.Int + public final fun compareTo(/*0*/ other: jet.Float): jet.Int + public final fun compareTo(/*0*/ other: jet.Int): jet.Int + public final fun compareTo(/*0*/ other: jet.Long): jet.Int + public final fun dec(): jet.Short + public final fun div(/*0*/ other: jet.Byte): jet.Int + public final fun div(/*0*/ other: jet.Char): jet.Int + public final fun div(/*0*/ other: jet.Double): jet.Double + public final fun div(/*0*/ other: jet.Float): jet.Float + public final fun div(/*0*/ other: jet.Int): jet.Int + public final fun div(/*0*/ other: jet.Long): jet.Long + public final fun div(/*0*/ other: jet.Short): jet.Int + public final fun downto(/*0*/ other: jet.Byte): jet.ShortRange + public final fun downto(/*0*/ other: jet.Char): jet.ShortRange + public final fun downto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun downto(/*0*/ other: jet.Float): jet.FloatRange + public final fun downto(/*0*/ other: jet.Int): jet.IntRange + public final fun downto(/*0*/ other: jet.Long): jet.LongRange + public final fun downto(/*0*/ other: jet.Short): jet.ShortRange + public final fun inc(): jet.Short + public final fun minus(): jet.Short + public final fun minus(/*0*/ other: jet.Byte): jet.Int + public final fun minus(/*0*/ other: jet.Char): jet.Int + public final fun minus(/*0*/ other: jet.Double): jet.Double + public final fun minus(/*0*/ other: jet.Float): jet.Float + public final fun minus(/*0*/ other: jet.Int): jet.Int + public final fun minus(/*0*/ other: jet.Long): jet.Long + public final fun minus(/*0*/ other: jet.Short): jet.Int + public final fun mod(/*0*/ other: jet.Byte): jet.Int + public final fun mod(/*0*/ other: jet.Char): jet.Int + public final fun mod(/*0*/ other: jet.Double): jet.Double + public final fun mod(/*0*/ other: jet.Float): jet.Float + public final fun mod(/*0*/ other: jet.Int): jet.Int + public final fun mod(/*0*/ other: jet.Long): jet.Long + public final fun mod(/*0*/ other: jet.Short): jet.Int + public final fun plus(): jet.Short + public final fun plus(/*0*/ other: jet.Byte): jet.Int + public final fun plus(/*0*/ other: jet.Char): jet.Int + public final fun plus(/*0*/ other: jet.Double): jet.Double + public final fun plus(/*0*/ other: jet.Float): jet.Float + public final fun plus(/*0*/ other: jet.Int): jet.Int + public final fun plus(/*0*/ other: jet.Long): jet.Long + public final fun plus(/*0*/ other: jet.Short): jet.Int + public final fun rangeTo(/*0*/ other: jet.Byte): jet.ShortRange + public final fun rangeTo(/*0*/ other: jet.Char): jet.ShortRange + public final fun rangeTo(/*0*/ other: jet.Double): jet.DoubleRange + public final fun rangeTo(/*0*/ other: jet.Float): jet.FloatRange + public final fun rangeTo(/*0*/ other: jet.Int): jet.IntRange + public final fun rangeTo(/*0*/ other: jet.Long): jet.LongRange + public final fun rangeTo(/*0*/ other: jet.Short): jet.ShortRange + public final fun times(/*0*/ other: jet.Byte): jet.Int + public final fun times(/*0*/ other: jet.Char): jet.Int + public final fun times(/*0*/ other: jet.Double): jet.Double + public final fun times(/*0*/ other: jet.Float): jet.Float + public final fun times(/*0*/ other: jet.Int): jet.Int + public final fun times(/*0*/ other: jet.Long): jet.Long + public final fun times(/*0*/ other: jet.Short): jet.Int + public final fun upto(/*0*/ other: jet.Byte): jet.ShortRange + public final fun upto(/*0*/ other: jet.Char): jet.ShortRange + public final fun upto(/*0*/ other: jet.Double): jet.DoubleRange + public final fun upto(/*0*/ other: jet.Float): jet.FloatRange + public final fun upto(/*0*/ other: jet.Int): jet.IntRange + public final fun upto(/*0*/ other: jet.Long): jet.LongRange + public final fun upto(/*0*/ other: jet.Short): jet.ShortRange + public open override /*1*/ fun compareTo(/*0*/ other: jet.Short): jet.Int + public open override /*1*/ fun equals(/*0*/ other: jet.Any?): jet.Boolean + public open override /*1*/ fun hashCode(): jet.Int + public open override /*1*/ fun toByte(): jet.Byte + public open override /*1*/ fun toChar(): jet.Char + public open override /*1*/ fun toDouble(): jet.Double + public open override /*1*/ fun toFloat(): jet.Float + public open override /*1*/ fun toInt(): jet.Int + public open override /*1*/ fun toLong(): jet.Long + public open override /*1*/ fun toShort(): jet.Short +} +public final class jet.ShortArray : jet.Any { + public final /*constructor*/ fun (/*0*/ size: jet.Int): jet.ShortArray + public final fun get(/*0*/ index: jet.Int): jet.Short + public final fun iterator(): jet.ShortIterator + public final fun set(/*0*/ index: jet.Int, /*1*/ value: jet.Short): jet.Tuple0 + public final val indices: jet.IntRange + public final val size: jet.Int +} +public abstract trait jet.ShortIterable : jet.Iterable { + public abstract override /*1*/ fun iterator(): jet.ShortIterator +} +public abstract class jet.ShortIterator : jet.Iterator { + public abstract fun nextShort(): jet.Short + public abstract override /*1*/ val hasNext: jet.Boolean + public final /*constructor*/ fun (): jet.ShortIterator + public open override /*1*/ fun next(): jet.Short +} +public final class jet.ShortRange : jet.Range, jet.ShortIterable { + public final /*constructor*/ fun (/*0*/ start: jet.Short, /*1*/ size: jet.Int): jet.ShortRange + public final fun minus(): jet.ShortRange + public final fun step(/*0*/ step: jet.Int): jet.ShortIterator + public final val end: jet.Short + public final val isReversed: jet.Boolean + public final val iteratorStart: jet.Short + public final val size: jet.Int + public final val start: jet.Short + public open override /*1*/ fun contains(/*0*/ elem: jet.Short): jet.Boolean + public open override /*1*/ fun iterator(): jet.ShortIterator +} +public final class jet.String : jet.Comparable, jet.CharSequence { + public final /*constructor*/ fun (): jet.String + public final fun equals(/*0*/ other: jet.Any?): jet.Boolean + public final fun plus(/*0*/ other: jet.Any?): jet.String + public open override /*1*/ fun compareTo(/*0*/ that: jet.String): jet.Int + public open override /*1*/ fun get(/*0*/ index: jet.Int): jet.Char + public open override /*1*/ fun toString(): jet.String + public open override /*1*/ val length: jet.Int +} +public open class jet.Throwable : jet.Any { + public final /*constructor*/ fun (/*0*/ message: jet.String? = ?, /*1*/ cause: jet.Throwable? = ?): jet.Throwable + public final fun getCause(): jet.Throwable? + public final fun getMessage(): jet.String? + public final fun printStackTrace(): jet.Tuple0 +} +public final class jet.Tuple0 : jet.Any { + public final /*constructor*/ fun (): jet.Tuple0 +} +public final class jet.Tuple1 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1): jet.Tuple1 + public final val _1: T1 +} +public final class jet.Tuple10 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10): jet.Tuple10 + public final val _10: T10 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple11 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11): jet.Tuple11 + public final val _10: T10 + public final val _11: T11 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple12 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12): jet.Tuple12 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple13 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13): jet.Tuple13 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple14 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14): jet.Tuple14 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple15 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15): jet.Tuple15 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple16 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16): jet.Tuple16 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple17 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16, /*16*/ _17: T17): jet.Tuple17 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _17: T17 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple18 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16, /*16*/ _17: T17, /*17*/ _18: T18): jet.Tuple18 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _17: T17 + public final val _18: T18 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple19 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16, /*16*/ _17: T17, /*17*/ _18: T18, /*18*/ _19: T19): jet.Tuple19 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _17: T17 + public final val _18: T18 + public final val _19: T19 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple2 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2): jet.Tuple2 + public final val _1: T1 + public final val _2: T2 +} +public final class jet.Tuple20 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16, /*16*/ _17: T17, /*17*/ _18: T18, /*18*/ _19: T19, /*19*/ _20: T20): jet.Tuple20 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _17: T17 + public final val _18: T18 + public final val _19: T19 + public final val _1: T1 + public final val _20: T20 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple21 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16, /*16*/ _17: T17, /*17*/ _18: T18, /*18*/ _19: T19, /*19*/ _20: T20, /*20*/ _21: T21): jet.Tuple21 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _17: T17 + public final val _18: T18 + public final val _19: T19 + public final val _1: T1 + public final val _20: T20 + public final val _21: T21 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple22 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9, /*9*/ _10: T10, /*10*/ _11: T11, /*11*/ _12: T12, /*12*/ _13: T13, /*13*/ _14: T14, /*14*/ _15: T15, /*15*/ _16: T16, /*16*/ _17: T17, /*17*/ _18: T18, /*18*/ _19: T19, /*19*/ _20: T20, /*20*/ _21: T21, /*21*/ _22: T22): jet.Tuple22 + public final val _10: T10 + public final val _11: T11 + public final val _12: T12 + public final val _13: T13 + public final val _14: T14 + public final val _15: T15 + public final val _16: T16 + public final val _17: T17 + public final val _18: T18 + public final val _19: T19 + public final val _1: T1 + public final val _20: T20 + public final val _21: T21 + public final val _22: T22 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final class jet.Tuple3 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3): jet.Tuple3 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 +} +public final class jet.Tuple4 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4): jet.Tuple4 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 +} +public final class jet.Tuple5 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5): jet.Tuple5 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 +} +public final class jet.Tuple6 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6): jet.Tuple6 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 +} +public final class jet.Tuple7 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7): jet.Tuple7 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 +} +public final class jet.Tuple8 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8): jet.Tuple8 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 +} +public final class jet.Tuple9 : jet.Any { + public final /*constructor*/ fun (/*0*/ _1: T1, /*1*/ _2: T2, /*2*/ _3: T3, /*3*/ _4: T4, /*4*/ _5: T5, /*5*/ _6: T6, /*6*/ _7: T7, /*7*/ _8: T8, /*8*/ _9: T9): jet.Tuple9 + public final val _1: T1 + public final val _2: T2 + public final val _3: T3 + public final val _4: T4 + public final val _5: T5 + public final val _6: T6 + public final val _7: T7 + public final val _8: T8 + public final val _9: T9 +} +public final annotation class jet.atomic : jet.Any { + public final /*constructor*/ fun (): jet.atomic +} +public final annotation class jet.volatile : jet.Any { + public final /*constructor*/ fun (): jet.volatile +} +public final fun arrayOfNulls(/*0*/ size: jet.Int): jet.Array +public final fun jet.Any?.equals(/*0*/ other: jet.Any?): jet.Boolean +public final fun jet.Any?.identityEquals(/*0*/ other: jet.Any?): jet.Boolean +public final fun jet.Iterator.iterator(): jet.Iterator +public final fun jet.BooleanIterator.iterator(): jet.BooleanIterator +public final fun jet.ByteIterator.iterator(): jet.ByteIterator +public final fun jet.CharIterator.iterator(): jet.CharIterator +public final fun jet.DoubleIterator.iterator(): jet.DoubleIterator +public final fun jet.FloatIterator.iterator(): jet.FloatIterator +public final fun jet.IntIterator.iterator(): jet.IntIterator +public final fun jet.LongIterator.iterator(): jet.LongIterator +public final fun jet.ShortIterator.iterator(): jet.ShortIterator +public final fun jet.String?.plus(/*0*/ other: jet.Any?): jet.String +public final fun T?.sure(): T +public final fun synchronized(/*0*/ lock: jet.Any, /*1*/ block: jet.Function0): R +public final fun jet.Any?.toString(): jet.String diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java new file mode 100644 index 00000000000..bff5aa8e036 --- /dev/null +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/LazyResolveBuiltinClassesTest.java @@ -0,0 +1,111 @@ +/* + * 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.lang.resolve.lazy; + +import com.google.common.base.Predicates; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.util.Function; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.jet.jvm.compiler.NamespaceComparator; +import org.jetbrains.jet.lang.DefaultModuleConfiguration; +import org.jetbrains.jet.lang.ModuleConfiguration; +import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; +import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor; +import org.jetbrains.jet.lang.psi.JetFile; +import org.jetbrains.jet.lang.psi.JetImportDirective; +import org.jetbrains.jet.lang.psi.JetPsiFactory; +import org.jetbrains.jet.lang.resolve.BindingTrace; +import org.jetbrains.jet.lang.resolve.ImportPath; +import org.jetbrains.jet.lang.resolve.name.FqName; +import org.jetbrains.jet.lang.resolve.name.FqNameUnsafe; +import org.jetbrains.jet.lang.resolve.name.Name; +import org.jetbrains.jet.lang.resolve.scopes.WritableScope; +import org.jetbrains.jet.lang.types.lang.JetStandardLibrary; +import org.junit.Test; + +import java.io.File; +import java.io.IOException; +import java.util.Collection; +import java.util.List; +import java.util.Map; + +/** + * @author abreslav + */ +public class LazyResolveBuiltinClassesTest extends AbstractLazyResolveTest { + @Test + public void testJetStandardLibrary() throws Exception { + List files = Lists.newArrayList(); + addJetFilesFromDir(files, new File("compiler/frontend/src/jet")); + addJetFilesFromDir(files, new File("compiler/frontend/src/jet.src")); + + final Map aliases = ImmutableMap.builder() + .put(new FqName("jet.Unit"), Name.identifier("Tuple0")) + .build(); + + ModuleDescriptor lazyModule = new ModuleDescriptor(Name.special("")); + ResolveSession session = new ResolveSession( + project, + lazyModule, + new SpecialModuleConfiguration(), + new FileBasedDeclarationProviderFactory(files), + new Function() { + @Override + public Name fun(FqName name) { + return aliases.get(name); + } + }, + Predicates.in(Sets.newHashSet(new FqNameUnsafe("jet.Any"), new FqNameUnsafe("jet.Nothing")))); + + NamespaceDescriptor jetNamespaceFromJSL = + (NamespaceDescriptor) JetStandardLibrary.getInstance().getInt().getContainingDeclaration(); + NamespaceDescriptor jetNamespaceFromLazy = lazyModule.getRootNamespace().getMemberScope().getNamespace( + jetNamespaceFromJSL.getName()); + + NamespaceComparator.compareNamespaces(jetNamespaceFromJSL, jetNamespaceFromLazy, + true, Predicates.alwaysTrue(), + new File("compiler/testData/builtin-classes.txt")); + + } + + private void addJetFilesFromDir(List files, File jetDir) throws IOException { + for (File file : jetDir.listFiles()) { + if (FileUtil.getExtension(file.getName()).equals("jet")) { + files.add(JetPsiFactory.createFile(project, file.getName(), FileUtil.loadFile(file, true))); + } + } + } + + private class SpecialModuleConfiguration implements ModuleConfiguration { + @Override + public void addDefaultImports(@NotNull Collection directives) { + for (ImportPath defaultJetImport : DefaultModuleConfiguration.DEFAULT_JET_IMPORTS) { + directives.add(JetPsiFactory.createImportDirective(project, defaultJetImport)); + } + } + + @Override + public void extendNamespaceScope(@NotNull BindingTrace trace, + @NotNull NamespaceDescriptor namespaceDescriptor, + @NotNull WritableScope namespaceMemberScope) { + // DO nothing + } + } +}