jet.typeinfo.TypeInfo -> jet.TypeInfo

This commit is contained in:
Andrey Breslav
2011-12-26 18:59:48 +04:00
parent 5653dabe95
commit 3b0ca42e0b
113 changed files with 91 additions and 236 deletions
@@ -253,7 +253,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen {
iv.load(0, Type.getObjectType(funClass)); iv.load(0, Type.getObjectType(funClass));
// expressionCodegen.generateTypeInfo(new ProjectionErasingJetType(returnType)); // expressionCodegen.generateTypeInfo(new ProjectionErasingJetType(returnType));
iv.aconst(null); // @todo iv.aconst(null); // @todo
iv.invokespecial(funClass, "<init>", "(Ljet/typeinfo/TypeInfo;)V"); iv.invokespecial(funClass, "<init>", "(Ljet/TypeInfo;)V");
i = 1; i = 1;
int k = 0; int k = 0;
@@ -991,7 +991,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
else if (descriptor instanceof TypeParameterDescriptor) { else if (descriptor instanceof TypeParameterDescriptor) {
TypeParameterDescriptor typeParameterDescriptor = (TypeParameterDescriptor) descriptor; TypeParameterDescriptor typeParameterDescriptor = (TypeParameterDescriptor) descriptor;
loadTypeParameterTypeInfo(typeParameterDescriptor, null); loadTypeParameterTypeInfo(typeParameterDescriptor, null);
v.invokevirtual("jet/typeinfo/TypeInfo", "getClassObject", "()Ljava/lang/Object;"); v.invokevirtual("jet/TypeInfo", "getClassObject", "()Ljava/lang/Object;");
v.checkcast(asmType(typeParameterDescriptor.getClassObjectType())); v.checkcast(asmType(typeParameterDescriptor.getClassObjectType()));
return StackValue.onStack(TYPE_OBJECT); return StackValue.onStack(TYPE_OBJECT);
@@ -2118,7 +2118,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
if(elementType != null) { if(elementType != null) {
generateTypeInfo(elementType, null); generateTypeInfo(elementType, null);
gen(args.get(0).getArgumentExpression(), Type.INT_TYPE); gen(args.get(0).getArgumentExpression(), Type.INT_TYPE);
v.invokevirtual("jet/typeinfo/TypeInfo", "newArray", "(I)[Ljava/lang/Object;"); v.invokevirtual("jet/TypeInfo", "newArray", "(I)[Ljava/lang/Object;");
} }
else { else {
gen(args.get(0).getArgumentExpression(), Type.INT_TYPE); gen(args.get(0).getArgumentExpression(), Type.INT_TYPE);
@@ -2543,14 +2543,14 @@ If finally block is present, its last expression is the value of try expression.
if (leaveExpressionOnStack) { if (leaveExpressionOnStack) {
v.dupX1(); v.dupX1();
} }
v.invokevirtual("jet/typeinfo/TypeInfo", "isInstance", "(Ljava/lang/Object;)Z"); v.invokevirtual("jet/TypeInfo", "isInstance", "(Ljava/lang/Object;)Z");
} }
} }
public void generateTypeInfo(JetType jetType, Map<TypeParameterDescriptor, JetType> typeArguments) { public void generateTypeInfo(JetType jetType, Map<TypeParameterDescriptor, JetType> typeArguments) {
String knownTypeInfo = typeMapper.isKnownTypeInfo(jetType); String knownTypeInfo = typeMapper.isKnownTypeInfo(jetType);
if(knownTypeInfo != null) { if(knownTypeInfo != null) {
v.getstatic("jet/typeinfo/TypeInfo", knownTypeInfo, "Ljet/typeinfo/TypeInfo;"); v.getstatic("jet/TypeInfo", knownTypeInfo, "Ljet/TypeInfo;");
return; return;
} }
@@ -2562,14 +2562,14 @@ If finally block is present, its last expression is the value of try expression.
if(!CodegenUtil.hasTypeInfoField(jetType) && !(bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, jetType.getConstructor().getDeclarationDescriptor()) instanceof PsiClass)) { if(!CodegenUtil.hasTypeInfoField(jetType) && !(bindingContext.get(BindingContext.DESCRIPTOR_TO_DECLARATION, jetType.getConstructor().getDeclarationDescriptor()) instanceof PsiClass)) {
// TODO: we need some better checks here // TODO: we need some better checks here
v.getstatic(typeMapper.mapType(jetType, OwnerKind.IMPLEMENTATION).getInternalName(), "$staticTypeInfo", "Ljet/typeinfo/TypeInfo;"); v.getstatic(typeMapper.mapType(jetType, OwnerKind.IMPLEMENTATION).getInternalName(), "$staticTypeInfo", "Ljet/TypeInfo;");
return; return;
} }
boolean hasUnsubstituted = TypeUtils.hasUnsubstitutedTypeParameters(jetType); boolean hasUnsubstituted = TypeUtils.hasUnsubstitutedTypeParameters(jetType);
if(!hasUnsubstituted) { if(!hasUnsubstituted) {
int typeInfoConstantIndex = context.getTypeInfoConstantIndex(jetType); int typeInfoConstantIndex = context.getTypeInfoConstantIndex(jetType);
v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/typeinfo/TypeInfo;"); v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/TypeInfo;");
return; return;
} }
@@ -2590,10 +2590,10 @@ If finally block is present, its last expression is the value of try expression.
genTypeInfoToProjection(v, argument.getProjectionKind()); genTypeInfoToProjection(v, argument.getProjectionKind());
v.astore(TYPE_OBJECT); v.astore(TYPE_OBJECT);
} }
v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z[Ljet/typeinfo/TypeInfoProjection;)Ljet/typeinfo/TypeInfo;"); v.invokestatic("jet/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z[Ljet/typeinfo/TypeInfoProjection;)Ljet/TypeInfo;");
} }
else { else {
v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/typeinfo/TypeInfo;"); v.invokestatic("jet/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/TypeInfo;");
} }
} }
@@ -2601,9 +2601,9 @@ If finally block is present, its last expression is the value of try expression.
if(variance == Variance.INVARIANT) if(variance == Variance.INVARIANT)
v.checkcast(TYPE_TYPEINFOPROJECTION); v.checkcast(TYPE_TYPEINFOPROJECTION);
else if(variance == Variance.IN_VARIANCE) else if(variance == Variance.IN_VARIANCE)
v.invokestatic("jet/typeinfo/TypeInfo", "inProjection", "(Ljet/typeinfo/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;"); v.invokestatic("jet/TypeInfo", "inProjection", "(Ljet/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;");
else if(variance == Variance.OUT_VARIANCE) else if(variance == Variance.OUT_VARIANCE)
v.invokestatic("jet/typeinfo/TypeInfo", "outProjection", "(Ljet/typeinfo/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;"); v.invokestatic("jet/TypeInfo", "outProjection", "(Ljet/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;");
else else
throw new UnsupportedOperationException(variance.toString()); throw new UnsupportedOperationException(variance.toString());
} }
@@ -2635,19 +2635,19 @@ If finally block is present, its last expression is the value of try expression.
if (CodegenUtil.hasTypeInfoField(defaultType)) { if (CodegenUtil.hasTypeInfoField(defaultType)) {
if(!(context instanceof CodegenContext.ConstructorContext)) { if(!(context instanceof CodegenContext.ConstructorContext)) {
v.load(0, TYPE_OBJECT); v.load(0, TYPE_OBJECT);
v.getfield(ownerType.getInternalName(), "$typeInfo", "Ljet/typeinfo/TypeInfo;"); v.getfield(ownerType.getInternalName(), "$typeInfo", "Ljet/TypeInfo;");
} }
else { else {
v.load(((ConstructorFrameMap)myFrameMap).getTypeInfoIndex(), TYPE_OBJECT); v.load(((ConstructorFrameMap)myFrameMap).getTypeInfoIndex(), TYPE_OBJECT);
} }
} }
else { else {
v.getstatic(ownerType.getInternalName(), "$typeInfo", "Ljet/typeinfo/TypeInfo;"); v.getstatic(ownerType.getInternalName(), "$typeInfo", "Ljet/TypeInfo;");
} }
} }
else { else {
v.load(0, TYPE_OBJECT); v.load(0, TYPE_OBJECT);
v.invokeinterface(TYPE_JET_OBJECT.getInternalName(), "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); v.invokeinterface(TYPE_JET_OBJECT.getInternalName(), "getTypeInfo", "()Ljet/TypeInfo;");
} }
} }
else { else {
@@ -2656,11 +2656,11 @@ If finally block is present, its last expression is the value of try expression.
descriptor = CodegenUtil.getOuterClassDescriptor(descriptor); descriptor = CodegenUtil.getOuterClassDescriptor(descriptor);
v.invokeinterface(TYPE_JET_OBJECT.getInternalName(), "getOuterObject", "()Ljet/JetObject;"); v.invokeinterface(TYPE_JET_OBJECT.getInternalName(), "getOuterObject", "()Ljet/JetObject;");
} }
v.invokeinterface(TYPE_JET_OBJECT.getInternalName(), "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); v.invokeinterface(TYPE_JET_OBJECT.getInternalName(), "getTypeInfo", "()Ljet/TypeInfo;");
} }
v.aconst(ownerType); v.aconst(ownerType);
v.iconst(typeParameterDescriptor.getIndex()); v.iconst(typeParameterDescriptor.getIndex());
v.invokevirtual("jet/typeinfo/TypeInfo", "getArgumentType", "(Ljava/lang/Class;I)Ljet/typeinfo/TypeInfo;"); v.invokevirtual("jet/TypeInfo", "getArgumentType", "(Ljava/lang/Class;I)Ljet/TypeInfo;");
return; return;
} }
throw new UnsupportedOperationException("don't know what this type parameter resolves to"); throw new UnsupportedOperationException("don't know what this type parameter resolves to");
@@ -2780,7 +2780,7 @@ If finally block is present, its last expression is the value of try expression.
final String className = "jet/Tuple" + entries.size(); final String className = "jet/Tuple" + entries.size();
Type tupleType = Type.getObjectType(className); Type tupleType = Type.getObjectType(className);
StringBuilder signature = new StringBuilder("(Ljet/typeinfo/TypeInfo;"); StringBuilder signature = new StringBuilder("(Ljet/TypeInfo;");
for (int i = 0; i != entries.size(); ++i) { for (int i = 0; i != entries.size(); ++i) {
signature.append("Ljava/lang/Object;"); signature.append("Ljava/lang/Object;");
} }
@@ -500,7 +500,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
if (CodegenUtil.requireTypeInfoConstructorArg(descriptor.getDefaultType()) && kind == OwnerKind.IMPLEMENTATION) { if (CodegenUtil.requireTypeInfoConstructorArg(descriptor.getDefaultType()) && kind == OwnerKind.IMPLEMENTATION) {
iv.load(0, JetTypeMapper.TYPE_OBJECT); iv.load(0, JetTypeMapper.TYPE_OBJECT);
iv.load(frameMap.getTypeInfoIndex(), JetTypeMapper.TYPE_OBJECT); iv.load(frameMap.getTypeInfoIndex(), JetTypeMapper.TYPE_OBJECT);
iv.invokevirtual(typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(), "$setTypeInfo", "(Ljet/typeinfo/TypeInfo;)V"); iv.invokevirtual(typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(), "$setTypeInfo", "(Ljet/TypeInfo;)V");
} }
if(closure != null) { if(closure != null) {
@@ -836,27 +836,27 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
JetType defaultType = descriptor.getDefaultType(); JetType defaultType = descriptor.getDefaultType();
if(CodegenUtil.requireTypeInfoConstructorArg(defaultType)) { if(CodegenUtil.requireTypeInfoConstructorArg(defaultType)) {
if(!CodegenUtil.hasDerivedTypeInfoField(defaultType)) { if(!CodegenUtil.hasDerivedTypeInfoField(defaultType)) {
v.newField(myClass, Opcodes.ACC_PROTECTED, "$typeInfo", "Ljet/typeinfo/TypeInfo;", null, null); v.newField(myClass, Opcodes.ACC_PROTECTED, "$typeInfo", "Ljet/TypeInfo;", null, null);
MethodVisitor mv = v.newMethod(myClass, Opcodes.ACC_PUBLIC, "getTypeInfo", "()Ljet/typeinfo/TypeInfo;", null, null); MethodVisitor mv = v.newMethod(myClass, Opcodes.ACC_PUBLIC, "getTypeInfo", "()Ljet/TypeInfo;", null, null);
if (v.generateCode()) { if (v.generateCode()) {
mv.visitCode(); mv.visitCode();
InstructionAdapter iv = new InstructionAdapter(mv); InstructionAdapter iv = new InstructionAdapter(mv);
String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(); String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName();
iv.load(0, JetTypeMapper.TYPE_OBJECT); iv.load(0, JetTypeMapper.TYPE_OBJECT);
iv.getfield(owner, "$typeInfo", "Ljet/typeinfo/TypeInfo;"); iv.getfield(owner, "$typeInfo", "Ljet/TypeInfo;");
iv.areturn(JetTypeMapper.TYPE_TYPEINFO); iv.areturn(JetTypeMapper.TYPE_TYPEINFO);
FunctionCodegen.endVisit(iv, "getTypeInfo", myClass); FunctionCodegen.endVisit(iv, "getTypeInfo", myClass);
} }
mv = v.newMethod(myClass, Opcodes.ACC_PROTECTED | Opcodes.ACC_FINAL, "$setTypeInfo", "(Ljet/typeinfo/TypeInfo;)V", null, null); mv = v.newMethod(myClass, Opcodes.ACC_PROTECTED | Opcodes.ACC_FINAL, "$setTypeInfo", "(Ljet/TypeInfo;)V", null, null);
if (v.generateCode()) { if (v.generateCode()) {
mv.visitCode(); mv.visitCode();
InstructionAdapter iv = new InstructionAdapter(mv); InstructionAdapter iv = new InstructionAdapter(mv);
String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(); String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName();
iv.load(0, JetTypeMapper.TYPE_OBJECT); iv.load(0, JetTypeMapper.TYPE_OBJECT);
iv.load(1, JetTypeMapper.TYPE_OBJECT); iv.load(1, JetTypeMapper.TYPE_OBJECT);
iv.putfield(owner, "$typeInfo", "Ljet/typeinfo/TypeInfo;"); iv.putfield(owner, "$typeInfo", "Ljet/TypeInfo;");
mv.visitInsn(Opcodes.RETURN); mv.visitInsn(Opcodes.RETURN);
FunctionCodegen.endVisit(iv, "$setTypeInfo", myClass); FunctionCodegen.endVisit(iv, "$setTypeInfo", myClass);
} }
@@ -869,26 +869,26 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
} }
private void genGetStaticGetTypeInfoMethod() { private void genGetStaticGetTypeInfoMethod() {
final MethodVisitor mv = v.newMethod(myClass, Opcodes.ACC_PUBLIC, "getTypeInfo", "()Ljet/typeinfo/TypeInfo;", null, null); final MethodVisitor mv = v.newMethod(myClass, Opcodes.ACC_PUBLIC, "getTypeInfo", "()Ljet/TypeInfo;", null, null);
if (v.generateCode()) { if (v.generateCode()) {
mv.visitCode(); mv.visitCode();
InstructionAdapter v = new InstructionAdapter(mv); InstructionAdapter v = new InstructionAdapter(mv);
String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName(); String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName();
v.getstatic(owner, "$staticTypeInfo", "Ljet/typeinfo/TypeInfo;"); v.getstatic(owner, "$staticTypeInfo", "Ljet/TypeInfo;");
v.areturn(JetTypeMapper.TYPE_TYPEINFO); v.areturn(JetTypeMapper.TYPE_TYPEINFO);
FunctionCodegen.endVisit(v, "getTypeInfo", myClass); FunctionCodegen.endVisit(v, "getTypeInfo", myClass);
} }
} }
private void staticTypeInfoField() { private void staticTypeInfoField() {
v.newField(myClass, Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL | Opcodes.ACC_STATIC, "$staticTypeInfo", "Ljet/typeinfo/TypeInfo;", null, null); v.newField(myClass, Opcodes.ACC_PUBLIC | Opcodes.ACC_FINAL | Opcodes.ACC_STATIC, "$staticTypeInfo", "Ljet/TypeInfo;", null, null);
staticInitializerChunks.add(new CodeChunk() { staticInitializerChunks.add(new CodeChunk() {
@Override @Override
public void generate(InstructionAdapter v) { public void generate(InstructionAdapter v) {
v.aconst(typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION)); v.aconst(typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION));
v.iconst(0); v.iconst(0);
v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/typeinfo/TypeInfo;"); v.invokestatic("jet/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/TypeInfo;");
v.putstatic(typeMapper.mapType(descriptor.getDefaultType(), kind).getInternalName(), "$staticTypeInfo", "Ljet/typeinfo/TypeInfo;"); v.putstatic(typeMapper.mapType(descriptor.getDefaultType(), kind).getInternalName(), "$staticTypeInfo", "Ljet/TypeInfo;");
} }
}); });
} }
@@ -3,7 +3,7 @@ package org.jetbrains.jet.codegen;
import com.intellij.psi.PsiElement; import com.intellij.psi.PsiElement;
import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiTreeUtil;
import jet.JetObject; import jet.JetObject;
import jet.typeinfo.TypeInfo; import jet.TypeInfo;
import jet.typeinfo.TypeInfoProjection; import jet.typeinfo.TypeInfoProjection;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -121,11 +121,11 @@ public class NamespaceCodegen {
for(int index = 0; index != context.typeInfoConstantsCount; index++) { for(int index = 0; index != context.typeInfoConstantsCount; index++) {
JetType type = context.reverseTypeInfoConstants.get(index); JetType type = context.reverseTypeInfoConstants.get(index);
String fieldName = "$typeInfoCache$" + index; String fieldName = "$typeInfoCache$" + index;
v.newField(null, ACC_PRIVATE | ACC_STATIC | ACC_SYNTHETIC, fieldName, "Ljet/typeinfo/TypeInfo;", null, null); v.newField(null, ACC_PRIVATE | ACC_STATIC | ACC_SYNTHETIC, fieldName, "Ljet/TypeInfo;", null, null);
MethodVisitor mmv = v.newMethod(null, ACC_PUBLIC | ACC_STATIC | ACC_SYNTHETIC, "$getCachedTypeInfo$" + index, "()Ljet/typeinfo/TypeInfo;", null, null); MethodVisitor mmv = v.newMethod(null, ACC_PUBLIC | ACC_STATIC | ACC_SYNTHETIC, "$getCachedTypeInfo$" + index, "()Ljet/TypeInfo;", null, null);
InstructionAdapter v = new InstructionAdapter(mmv); InstructionAdapter v = new InstructionAdapter(mmv);
v.visitFieldInsn(GETSTATIC, jvmClassName, fieldName, "Ljet/typeinfo/TypeInfo;"); v.visitFieldInsn(GETSTATIC, jvmClassName, fieldName, "Ljet/TypeInfo;");
v.visitInsn(DUP); v.visitInsn(DUP);
Label end = new Label(); Label end = new Label();
v.visitJumpInsn(IFNONNULL, end); v.visitJumpInsn(IFNONNULL, end);
@@ -134,7 +134,7 @@ public class NamespaceCodegen {
generateTypeInfo(context, v, type, state.getTypeMapper(), type); generateTypeInfo(context, v, type, state.getTypeMapper(), type);
v.dup(); v.dup();
v.visitFieldInsn(PUTSTATIC, jvmClassName, fieldName, "Ljet/typeinfo/TypeInfo;"); v.visitFieldInsn(PUTSTATIC, jvmClassName, fieldName, "Ljet/TypeInfo;");
v.visitLabel(end); v.visitLabel(end);
v.visitInsn(ARETURN); v.visitInsn(ARETURN);
FunctionCodegen.endVisit(v, "type info method", namespace); FunctionCodegen.endVisit(v, "type info method", namespace);
@@ -145,21 +145,21 @@ public class NamespaceCodegen {
private static void generateTypeInfo(CodegenContext context, InstructionAdapter v, JetType jetType, JetTypeMapper typeMapper, JetType root) { private static void generateTypeInfo(CodegenContext context, InstructionAdapter v, JetType jetType, JetTypeMapper typeMapper, JetType root) {
String knownTypeInfo = typeMapper.isKnownTypeInfo(jetType); String knownTypeInfo = typeMapper.isKnownTypeInfo(jetType);
if(knownTypeInfo != null) { if(knownTypeInfo != null) {
v.getstatic("jet/typeinfo/TypeInfo", knownTypeInfo, "Ljet/typeinfo/TypeInfo;"); v.getstatic("jet/TypeInfo", knownTypeInfo, "Ljet/TypeInfo;");
return; return;
} }
DeclarationDescriptor declarationDescriptor = jetType.getConstructor().getDeclarationDescriptor(); DeclarationDescriptor declarationDescriptor = jetType.getConstructor().getDeclarationDescriptor();
if(!jetType.equals(root) && jetType.getArguments().size() == 0 && !(declarationDescriptor instanceof JavaClassDescriptor) && !JetStandardClasses.getAny().equals(declarationDescriptor)) { if(!jetType.equals(root) && jetType.getArguments().size() == 0 && !(declarationDescriptor instanceof JavaClassDescriptor) && !JetStandardClasses.getAny().equals(declarationDescriptor)) {
// TODO: we need some better checks here // TODO: we need some better checks here
v.getstatic(typeMapper.mapType(jetType, OwnerKind.IMPLEMENTATION).getInternalName(), "$typeInfo", "Ljet/typeinfo/TypeInfo;"); v.getstatic(typeMapper.mapType(jetType, OwnerKind.IMPLEMENTATION).getInternalName(), "$typeInfo", "Ljet/TypeInfo;");
return; return;
} }
boolean hasUnsubstituted = TypeUtils.hasUnsubstitutedTypeParameters(jetType); boolean hasUnsubstituted = TypeUtils.hasUnsubstitutedTypeParameters(jetType);
if(!jetType.equals(root) && !hasUnsubstituted) { if(!jetType.equals(root) && !hasUnsubstituted) {
int typeInfoConstantIndex = context.getTypeInfoConstantIndex(jetType); int typeInfoConstantIndex = context.getTypeInfoConstantIndex(jetType);
v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/typeinfo/TypeInfo;"); v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/TypeInfo;");
return; return;
} }
@@ -180,10 +180,10 @@ public class NamespaceCodegen {
ExpressionCodegen.genTypeInfoToProjection(v, argument.getProjectionKind()); ExpressionCodegen.genTypeInfoToProjection(v, argument.getProjectionKind());
v.astore(JetTypeMapper.TYPE_OBJECT); v.astore(JetTypeMapper.TYPE_OBJECT);
} }
v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z[Ljet/typeinfo/TypeInfoProjection;)Ljet/typeinfo/TypeInfo;"); v.invokestatic("jet/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z[Ljet/typeinfo/TypeInfoProjection;)Ljet/TypeInfo;");
} }
else { else {
v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/typeinfo/TypeInfo;"); v.invokestatic("jet/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/TypeInfo;");
} }
} }
@@ -29,7 +29,7 @@ public class ArrayIterator implements IntrinsicMethod {
JetStandardLibrary standardLibrary = codegen.getState().getStandardLibrary(); JetStandardLibrary standardLibrary = codegen.getState().getStandardLibrary();
if(containingDeclaration.equals(standardLibrary.getArray())) { if(containingDeclaration.equals(standardLibrary.getArray())) {
codegen.generateTypeInfo(funDescriptor.getReturnType().getArguments().get(0).getType(), null); codegen.generateTypeInfo(funDescriptor.getReturnType().getArguments().get(0).getType(), null);
v.invokestatic("jet/runtime/ArrayIterator", "iterator", "([Ljava/lang/Object;Ljet/typeinfo/TypeInfo;)Ljet/Iterator;"); v.invokestatic("jet/runtime/ArrayIterator", "iterator", "([Ljava/lang/Object;Ljet/TypeInfo;)Ljet/Iterator;");
return StackValue.onStack(JetTypeMapper.TYPE_ITERATOR); return StackValue.onStack(JetTypeMapper.TYPE_ITERATOR);
} }
else if(containingDeclaration.equals(standardLibrary.getByteArrayClass())) { else if(containingDeclaration.equals(standardLibrary.getByteArrayClass())) {
@@ -17,7 +17,7 @@ public class ValueTypeInfo implements IntrinsicMethod {
@Override @Override
public StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, PsiElement element, List<JetExpression> arguments, StackValue receiver) { public StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, PsiElement element, List<JetExpression> arguments, StackValue receiver) {
codegen.gen(arguments.get(0), JetTypeMapper.TYPE_JET_OBJECT); codegen.gen(arguments.get(0), JetTypeMapper.TYPE_JET_OBJECT);
v.invokeinterface(JetTypeMapper.TYPE_JET_OBJECT.getInternalName(), "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); v.invokeinterface(JetTypeMapper.TYPE_JET_OBJECT.getInternalName(), "getTypeInfo", "()Ljet/TypeInfo;");
return StackValue.onStack(JetTypeMapper.TYPE_TYPEINFO); return StackValue.onStack(JetTypeMapper.TYPE_TYPEINFO);
} }
} }
+2 -26
View File
@@ -1,6 +1,6 @@
package jet package jet
package typeinfo { //package typeinfo {
class TypeInfo<out T> { class TypeInfo<out T> {
fun isSubtypeOf(other : TypeInfo<*>) : Boolean fun isSubtypeOf(other : TypeInfo<*>) : Boolean
fun isInstance(obj : Any?) : Boolean fun isInstance(obj : Any?) : Boolean
@@ -8,31 +8,7 @@ package typeinfo {
fun typeinfo<T>() : TypeInfo<T> fun typeinfo<T>() : TypeInfo<T>
fun typeinfo<T>(expression : T) : TypeInfo<T> fun typeinfo<T>(expression : T) : TypeInfo<T>
} //}
package io {
fun print(message : Any?)
fun print(message : Int)
fun print(message : Long)
fun print(message : Byte)
fun print(message : Short)
fun print(message : Char)
fun print(message : Boolean)
fun print(message : Float)
fun print(message : Double)
fun println(message : Any?)
fun println(message : Int)
fun println(message : Long)
fun println(message : Byte)
fun println(message : Short)
fun println(message : Char)
fun println(message : Boolean)
fun println(message : Float)
fun println(message : Double)
fun readLine() : String?
}
fun <R> Any.synchronized(block : () -> R) : R fun <R> Any.synchronized(block : () -> R) : R
@@ -7,10 +7,11 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.lang.JetSemanticServices; import org.jetbrains.jet.lang.JetSemanticServices;
import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
import org.jetbrains.jet.lang.descriptors.FunctionDescriptor; import org.jetbrains.jet.lang.descriptors.FunctionDescriptor;
import org.jetbrains.jet.lang.descriptors.NamespaceDescriptor;
import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor; import org.jetbrains.jet.lang.descriptors.annotations.AnnotationDescriptor;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.AnalyzingUtils;
import org.jetbrains.jet.lang.resolve.BindingTraceContext;
import org.jetbrains.jet.lang.resolve.TopDownAnalyzer;
import org.jetbrains.jet.lang.resolve.scopes.JetScope; import org.jetbrains.jet.lang.resolve.scopes.JetScope;
import org.jetbrains.jet.lang.resolve.scopes.RedeclarationHandler; import org.jetbrains.jet.lang.resolve.scopes.RedeclarationHandler;
import org.jetbrains.jet.lang.resolve.scopes.WritableScope; import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
@@ -120,7 +121,6 @@ public class JetStandardLibrary {
private JetType tuple0Type; private JetType tuple0Type;
private JetType nullableStringType; private JetType nullableStringType;
private NamespaceDescriptor typeInfoNamespace;
private Set<FunctionDescriptor> typeInfoFunction; private Set<FunctionDescriptor> typeInfoFunction;
private JetStandardLibrary(@NotNull Project project) { private JetStandardLibrary(@NotNull Project project) {
@@ -168,9 +168,9 @@ public class JetStandardLibrary {
this.arrayClass = (ClassDescriptor) libraryScope.getClassifier("Array"); this.arrayClass = (ClassDescriptor) libraryScope.getClassifier("Array");
this.iterableClass = (ClassDescriptor) libraryScope.getClassifier("Iterable"); this.iterableClass = (ClassDescriptor) libraryScope.getClassifier("Iterable");
typeInfoNamespace = libraryScope.getNamespace("typeinfo"); // typeInfoNamespace = libraryScope.getNamespace("typeinfo");
this.typeInfoClass = (ClassDescriptor) typeInfoNamespace.getMemberScope().getClassifier("TypeInfo"); this.typeInfoClass = (ClassDescriptor) libraryScope.getClassifier("TypeInfo");
typeInfoFunction = typeInfoNamespace.getMemberScope().getFunctions("typeinfo"); this.typeInfoFunction = libraryScope.getFunctions("typeinfo");
this.byteType = new JetTypeImpl(getByte()); this.byteType = new JetTypeImpl(getByte());
this.charType = new JetTypeImpl(getChar()); this.charType = new JetTypeImpl(getChar());
@@ -297,11 +297,11 @@ public class JetStandardLibrary {
return iterableClass; return iterableClass;
} }
public NamespaceDescriptor getTypeInfoNamespace() { // public NamespaceDescriptor getTypeInfoNamespace() {
initStdClasses(); // initStdClasses();
return typeInfoNamespace; // return typeInfoNamespace;
} // }
//
public ClassDescriptor getTypeInfo() { public ClassDescriptor getTypeInfo() {
initStdClasses(); initStdClasses();
return typeInfoClass; return typeInfoClass;
@@ -1,7 +1,7 @@
class Point() { class Point() {
} }
fun foo() : typeinfo.TypeInfo<Point> { fun foo() : TypeInfo<Point> {
val p = Point(); val p = Point();
return typeinfo.typeinfo<Point>(p); return typeinfo<Point>(p);
} }
@@ -1,7 +1,7 @@
class Simple { class Simple {
{ {
jet.typeinfo.TypeInfo blabla = null; jet.TypeInfo blabla = null;
new Impossible<String>(blabla); new Impossible<String>(blabla);
} }
} }
@@ -1,7 +1,7 @@
class GenericArray { class GenericArray {
public static void ggff() { public static void ggff() {
jet.typeinfo.TypeInfo noise = null; jet.TypeInfo noise = null;
String[] s = namespace.ffgg(noise, new String[0]); String[] s = namespace.ffgg(noise, new String[0]);
} }
} }
@@ -4,7 +4,7 @@ import java.util.ArrayList;
class ListOfT { class ListOfT {
public static void check() { public static void check() {
jet.typeinfo.TypeInfo nobodyCaresAboutTypeinfo = null; jet.TypeInfo nobodyCaresAboutTypeinfo = null;
List<String> list = new ArrayList<String>(); List<String> list = new ArrayList<String>();
List<String> r = namespace.listOfT(nobodyCaresAboutTypeinfo, list); List<String> r = namespace.listOfT(nobodyCaresAboutTypeinfo, list);
} }
@@ -4,7 +4,7 @@ import java.math.BigDecimal;
class MapOfKString { class MapOfKString {
public static void gfgdgfg() { public static void gfgdgfg() {
jet.typeinfo.TypeInfo useless = null; jet.TypeInfo useless = null;
Map<BigDecimal, String> map = new HashMap<BigDecimal, String>(); Map<BigDecimal, String> map = new HashMap<BigDecimal, String>();
@@ -3,6 +3,6 @@ class Question {
// id2 is to prevent java type parameter type inference // id2 is to prevent java type parameter type inference
static <T> T id2(T p) { return p; } static <T> T id2(T p) { return p; }
{ {
java.util.List<String> s = id2(namespace.id((jet.typeinfo.TypeInfo) null, null)); java.util.List<String> s = id2(namespace.id((jet.TypeInfo) null, null));
} }
} }
@@ -3,6 +3,6 @@ class Question {
// id2 is to prevent java type parameter type inference // id2 is to prevent java type parameter type inference
static <T> T id2(T p) { return p; } static <T> T id2(T p) { return p; }
{ {
String s = id2(namespace.id((jet.typeinfo.TypeInfo) null, null)); String s = id2(namespace.id((jet.TypeInfo) null, null));
} }
} }
@@ -1,12 +1,12 @@
// KT-716 Type inference failed // KT-716 Type inference failed
// +JDK // +JDK
fun <T> typeinfo.TypeInfo<T>.getJavaClass() : java.lang.Class<T> { fun <T> TypeInfo<T>.getJavaClass() : java.lang.Class<T> {
val t : java.lang.Object = this <!CAST_NEVER_SUCCEEDS!>as<!> java.lang.Object val t : java.lang.Object = this <!CAST_NEVER_SUCCEEDS!>as<!> java.lang.Object
return <!UNCHECKED_CAST!>t.getClass() as java.lang.Class<T><!> // inferred type is Object but Serializable was expected return <!UNCHECKED_CAST!>t.getClass() as java.lang.Class<T><!> // inferred type is Object but Serializable was expected
} }
fun getJavaClass<T>() = typeinfo.typeinfo<T>.getJavaClass() fun getJavaClass<T>() = typeinfo<T>.getJavaClass()
fun main(args : Array<String>) { fun main(args : Array<String>) {
System.out?.println(getJavaClass<String>) System.out?.println(getJavaClass<String>)
@@ -18,7 +18,7 @@ public class ClassGenTest extends CodegenTestCase {
final Class aClass = loadClass("SimpleClass", generateClassesInFile()); final Class aClass = loadClass("SimpleClass", generateClassesInFile());
final Method[] methods = aClass.getDeclaredMethods(); final Method[] methods = aClass.getDeclaredMethods();
// public int SimpleClass.foo() // public int SimpleClass.foo()
// public jet.typeinfo.TypeInfo SimpleClass.getTypeInfo() // public jet.TypeInfo SimpleClass.getTypeInfo()
assertEquals(2, methods.length); assertEquals(2, methods.length);
} }
@@ -3,7 +3,7 @@ package org.jetbrains.jet.codegen;
import jet.IntRange; import jet.IntRange;
import jet.Tuple2; import jet.Tuple2;
import jet.Tuple4; import jet.Tuple4;
import jet.typeinfo.TypeInfo; import jet.TypeInfo;
import java.awt.*; import java.awt.*;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
@@ -2,7 +2,7 @@ package org.jetbrains.jet.codegen;
import jet.JetObject; import jet.JetObject;
import jet.TypeCastException; import jet.TypeCastException;
import jet.typeinfo.TypeInfo; import jet.TypeInfo;
import java.lang.reflect.Method; import java.lang.reflect.Method;
@@ -31,7 +31,7 @@ public class TypeInfoTest extends CodegenTestCase {
} }
public void testNoArgTypeinfo() throws Exception { public void testNoArgTypeinfo() throws Exception {
loadText("fun foo() = typeinfo.typeinfo<Int>()"); loadText("fun foo() = typeinfo<Int>()");
Method foo = generateFunction(); Method foo = generateFunction();
TypeInfo typeInfo = (TypeInfo) foo.invoke(null); TypeInfo typeInfo = (TypeInfo) foo.invoke(null);
assertSame(TypeInfo.INT_TYPE_INFO, typeInfo); assertSame(TypeInfo.INT_TYPE_INFO, typeInfo);
@@ -90,8 +90,8 @@ public class JetTypeCheckerTest extends JetLiteFixture {
} }
public void testTypeInfo() throws Exception { public void testTypeInfo() throws Exception {
assertType("typeinfo.typeinfo<Int>", "typeinfo.TypeInfo<Int>"); assertType("typeinfo<Int>", "TypeInfo<Int>");
assertType("typeinfo.typeinfo<typeinfo.TypeInfo<Int>>", "typeinfo.TypeInfo<typeinfo.TypeInfo<Int>>"); assertType("typeinfo<TypeInfo<Int>>", "TypeInfo<TypeInfo<Int>>");
} }
public void testJumps() throws Exception { public void testJumps() throws Exception {
+7 -7
View File
@@ -16,15 +16,15 @@ script
; ;
preamble preamble
: namespaceHeader? import* : packageHeader? import*
; ;
namespaceHeader packageHeader
: modifiers "namespace" SimpleName{"."} SEMI? : modifiers "package" SimpleName{"."} SEMI?
; ;
import import
: "import" ("namespace" ".")? SimpleName{"."} ("." "*" | "as" SimpleName)? SEMI? : "import" ("package" ".")? SimpleName{"."} ("." "*" | "as" SimpleName)? SEMI?
; ;
/** /**
@@ -32,7 +32,7 @@ bq. See [Imports|Namespaces#Imports]
*/ */
toplevelObject toplevelObject
: namespace : package
: class : class
: object : object
: function : function
@@ -40,8 +40,8 @@ toplevelObject
: typedef : typedef
; ;
namespace package
: "namespace" SimpleName{"."} "{" : "package" SimpleName{"."} "{"
import* import*
toplevelObject* toplevelObject*
"}" "}"
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -3,8 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction0<E, R> extends DefaultJetObject { public abstract class ExtensionFunction0<E, R> extends DefaultJetObject {
protected ExtensionFunction0(TypeInfo<?> typeInfo) { protected ExtensionFunction0(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction1<E, D1, R> extends DefaultJetObject { public abstract class ExtensionFunction1<E, D1, R> extends DefaultJetObject {
protected ExtensionFunction1(TypeInfo<?> typeInfo) { protected ExtensionFunction1(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction10<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, R> extends DefaultJetObject { public abstract class ExtensionFunction10<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, R> extends DefaultJetObject {
protected ExtensionFunction10(TypeInfo<?> typeInfo) { protected ExtensionFunction10(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction11<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, R> extends DefaultJetObject { public abstract class ExtensionFunction11<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, R> extends DefaultJetObject {
protected ExtensionFunction11(TypeInfo<?> typeInfo) { protected ExtensionFunction11(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction12<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, R> extends DefaultJetObject { public abstract class ExtensionFunction12<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, R> extends DefaultJetObject {
protected ExtensionFunction12(TypeInfo<?> typeInfo) { protected ExtensionFunction12(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction13<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, R> extends DefaultJetObject { public abstract class ExtensionFunction13<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, R> extends DefaultJetObject {
protected ExtensionFunction13(TypeInfo<?> typeInfo) { protected ExtensionFunction13(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction14<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, R> extends DefaultJetObject { public abstract class ExtensionFunction14<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, R> extends DefaultJetObject {
protected ExtensionFunction14(TypeInfo<?> typeInfo) { protected ExtensionFunction14(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction15<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, R> extends DefaultJetObject { public abstract class ExtensionFunction15<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, R> extends DefaultJetObject {
protected ExtensionFunction15(TypeInfo<?> typeInfo) { protected ExtensionFunction15(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction16<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, R> extends DefaultJetObject { public abstract class ExtensionFunction16<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, R> extends DefaultJetObject {
protected ExtensionFunction16(TypeInfo<?> typeInfo) { protected ExtensionFunction16(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction17<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, R> extends DefaultJetObject { public abstract class ExtensionFunction17<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, R> extends DefaultJetObject {
protected ExtensionFunction17(TypeInfo<?> typeInfo) { protected ExtensionFunction17(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction18<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, R> extends DefaultJetObject { public abstract class ExtensionFunction18<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, R> extends DefaultJetObject {
protected ExtensionFunction18(TypeInfo<?> typeInfo) { protected ExtensionFunction18(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction19<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, R> extends DefaultJetObject { public abstract class ExtensionFunction19<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, R> extends DefaultJetObject {
protected ExtensionFunction19(TypeInfo<?> typeInfo) { protected ExtensionFunction19(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction2<E, D1, D2, R> extends DefaultJetObject { public abstract class ExtensionFunction2<E, D1, D2, R> extends DefaultJetObject {
protected ExtensionFunction2(TypeInfo<?> typeInfo) { protected ExtensionFunction2(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction20<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, R> extends DefaultJetObject { public abstract class ExtensionFunction20<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, R> extends DefaultJetObject {
protected ExtensionFunction20(TypeInfo<?> typeInfo) { protected ExtensionFunction20(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction21<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, R> extends DefaultJetObject { public abstract class ExtensionFunction21<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, R> extends DefaultJetObject {
protected ExtensionFunction21(TypeInfo<?> typeInfo) { protected ExtensionFunction21(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction22<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, R> extends DefaultJetObject { public abstract class ExtensionFunction22<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, R> extends DefaultJetObject {
protected ExtensionFunction22(TypeInfo<?> typeInfo) { protected ExtensionFunction22(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction3<E, D1, D2, D3, R> extends DefaultJetObject { public abstract class ExtensionFunction3<E, D1, D2, D3, R> extends DefaultJetObject {
protected ExtensionFunction3(TypeInfo<?> typeInfo) { protected ExtensionFunction3(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction4<E, D1, D2, D3, D4, R> extends DefaultJetObject { public abstract class ExtensionFunction4<E, D1, D2, D3, D4, R> extends DefaultJetObject {
protected ExtensionFunction4(TypeInfo<?> typeInfo) { protected ExtensionFunction4(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction5<E, D1, D2, D3, D4, D5, R> extends DefaultJetObject { public abstract class ExtensionFunction5<E, D1, D2, D3, D4, D5, R> extends DefaultJetObject {
protected ExtensionFunction5(TypeInfo<?> typeInfo) { protected ExtensionFunction5(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction6<E, D1, D2, D3, D4, D5, D6, R> extends DefaultJetObject { public abstract class ExtensionFunction6<E, D1, D2, D3, D4, D5, D6, R> extends DefaultJetObject {
protected ExtensionFunction6(TypeInfo<?> typeInfo) { protected ExtensionFunction6(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction7<E, D1, D2, D3, D4, D5, D6, D7, R> extends DefaultJetObject { public abstract class ExtensionFunction7<E, D1, D2, D3, D4, D5, D6, D7, R> extends DefaultJetObject {
protected ExtensionFunction7(TypeInfo<?> typeInfo) { protected ExtensionFunction7(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction8<E, D1, D2, D3, D4, D5, D6, D7, D8, R> extends DefaultJetObject { public abstract class ExtensionFunction8<E, D1, D2, D3, D4, D5, D6, D7, D8, R> extends DefaultJetObject {
protected ExtensionFunction8(TypeInfo<?> typeInfo) { protected ExtensionFunction8(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class ExtensionFunction9<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, R> extends DefaultJetObject { public abstract class ExtensionFunction9<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, R> extends DefaultJetObject {
protected ExtensionFunction9(TypeInfo<?> typeInfo) { protected ExtensionFunction9(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
+2 -9
View File
@@ -3,13 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintStream;
public abstract class Function0<R> extends DefaultJetObject { public abstract class Function0<R> extends DefaultJetObject {
protected Function0(TypeInfo typeInfo) { protected Function0(TypeInfo typeInfo) {
super(typeInfo); super(typeInfo);
@@ -30,7 +23,7 @@ public abstract class Function0<R> extends DefaultJetObject {
// " */\n" + // " */\n" +
// "package jet;\n" + // "package jet;\n" +
// "\n" + // "\n" +
// "import jet.typeinfo.TypeInfo;\n" + // "import jet.TypeInfo;\n" +
// "public abstract class Function" + i + "<"); // "public abstract class Function" + i + "<");
// for(int k = 1; k <= i; k++) // for(int k = 1; k <= i; k++)
// out.print("D" + k + ", "); // out.print("D" + k + ", ");
@@ -61,7 +54,7 @@ public abstract class Function0<R> extends DefaultJetObject {
// " */\n" + // " */\n" +
// "package jet;\n" + // "package jet;\n" +
// "\n" + // "\n" +
// "import jet.typeinfo.TypeInfo;\n" + // "import jet.TypeInfo;\n" +
// "public abstract class ExtensionFunction" + i + "<E, "); // "public abstract class ExtensionFunction" + i + "<E, ");
// for(int k = 1; k <= i; k++) // for(int k = 1; k <= i; k++)
// out.print("D" + k + ", "); // out.print("D" + k + ", ");
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function1<D1, R> extends DefaultJetObject { public abstract class Function1<D1, R> extends DefaultJetObject {
protected Function1(TypeInfo<?> typeInfo) { protected Function1(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function10<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, R> extends DefaultJetObject { public abstract class Function10<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, R> extends DefaultJetObject {
protected Function10(TypeInfo<?> typeInfo) { protected Function10(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function11<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, R> extends DefaultJetObject { public abstract class Function11<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, R> extends DefaultJetObject {
protected Function11(TypeInfo<?> typeInfo) { protected Function11(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function12<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, R> extends DefaultJetObject { public abstract class Function12<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, R> extends DefaultJetObject {
protected Function12(TypeInfo<?> typeInfo) { protected Function12(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function13<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, R> extends DefaultJetObject { public abstract class Function13<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, R> extends DefaultJetObject {
protected Function13(TypeInfo<?> typeInfo) { protected Function13(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function14<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, R> extends DefaultJetObject { public abstract class Function14<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, R> extends DefaultJetObject {
protected Function14(TypeInfo<?> typeInfo) { protected Function14(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function15<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, R> extends DefaultJetObject { public abstract class Function15<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, R> extends DefaultJetObject {
protected Function15(TypeInfo<?> typeInfo) { protected Function15(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function16<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, R> extends DefaultJetObject { public abstract class Function16<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, R> extends DefaultJetObject {
protected Function16(TypeInfo<?> typeInfo) { protected Function16(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function17<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, R> extends DefaultJetObject { public abstract class Function17<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, R> extends DefaultJetObject {
protected Function17(TypeInfo<?> typeInfo) { protected Function17(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function18<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, R> extends DefaultJetObject { public abstract class Function18<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, R> extends DefaultJetObject {
protected Function18(TypeInfo<?> typeInfo) { protected Function18(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function19<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, R> extends DefaultJetObject { public abstract class Function19<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, R> extends DefaultJetObject {
protected Function19(TypeInfo<?> typeInfo) { protected Function19(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function2<D1, D2, R> extends DefaultJetObject { public abstract class Function2<D1, D2, R> extends DefaultJetObject {
protected Function2(TypeInfo<?> typeInfo) { protected Function2(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function20<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, R> extends DefaultJetObject { public abstract class Function20<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, R> extends DefaultJetObject {
protected Function20(TypeInfo<?> typeInfo) { protected Function20(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function21<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, R> extends DefaultJetObject { public abstract class Function21<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, R> extends DefaultJetObject {
protected Function21(TypeInfo<?> typeInfo) { protected Function21(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function22<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, R> extends DefaultJetObject { public abstract class Function22<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, R> extends DefaultJetObject {
protected Function22(TypeInfo<?> typeInfo) { protected Function22(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function3<D1, D2, D3, R> extends DefaultJetObject { public abstract class Function3<D1, D2, D3, R> extends DefaultJetObject {
protected Function3(TypeInfo<?> typeInfo) { protected Function3(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function4<D1, D2, D3, D4, R> extends DefaultJetObject { public abstract class Function4<D1, D2, D3, D4, R> extends DefaultJetObject {
protected Function4(TypeInfo<?> typeInfo) { protected Function4(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function5<D1, D2, D3, D4, D5, R> extends DefaultJetObject { public abstract class Function5<D1, D2, D3, D4, D5, R> extends DefaultJetObject {
protected Function5(TypeInfo<?> typeInfo) { protected Function5(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function6<D1, D2, D3, D4, D5, D6, R> extends DefaultJetObject { public abstract class Function6<D1, D2, D3, D4, D5, D6, R> extends DefaultJetObject {
protected Function6(TypeInfo<?> typeInfo) { protected Function6(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function7<D1, D2, D3, D4, D5, D6, D7, R> extends DefaultJetObject { public abstract class Function7<D1, D2, D3, D4, D5, D6, D7, R> extends DefaultJetObject {
protected Function7(TypeInfo<?> typeInfo) { protected Function7(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function8<D1, D2, D3, D4, D5, D6, D7, D8, R> extends DefaultJetObject { public abstract class Function8<D1, D2, D3, D4, D5, D6, D7, D8, R> extends DefaultJetObject {
protected Function8(TypeInfo<?> typeInfo) { protected Function8(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-1
View File
@@ -3,7 +3,6 @@
*/ */
package jet; package jet;
import jet.typeinfo.TypeInfo;
public abstract class Function9<D1, D2, D3, D4, D5, D6, D7, D8, D9, R> extends DefaultJetObject { public abstract class Function9<D1, D2, D3, D4, D5, D6, D7, D8, D9, R> extends DefaultJetObject {
protected Function9(TypeInfo<?> typeInfo) { protected Function9(TypeInfo<?> typeInfo) {
super(typeInfo); super(typeInfo);
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public final class IntRange implements Range<Integer>, IntIterable, JetObject { public final class IntRange implements Range<Integer>, IntIterable, JetObject {
private final static TypeInfo typeInfo = TypeInfo.getTypeInfo(IntRange.class, false); private final static TypeInfo typeInfo = TypeInfo.getTypeInfo(IntRange.class, false);
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author abreslav * @author abreslav
* @author alex.tkachman * @author alex.tkachman
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public final class LongRange implements Range<Long>, LongIterable, JetObject { public final class LongRange implements Range<Long>, LongIterable, JetObject {
private final static TypeInfo typeInfo = TypeInfo.getTypeInfo(IntRange.class, false); private final static TypeInfo typeInfo = TypeInfo.getTypeInfo(IntRange.class, false);
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
/** /**
* @author alex.tkachman * @author alex.tkachman
*/ */
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple1<T1> extends DefaultJetObject { public class Tuple1<T1> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends DefaultJetObject{ public class Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends DefaultJetObject{ public class Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extends DefaultJetObject { public class Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> extends DefaultJetObject{ public class Tuple13<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> extends DefaultJetObject{ public class Tuple14<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extends DefaultJetObject { public class Tuple15<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> extends DefaultJetObject { public class Tuple16<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> extends DefaultJetObject { public class Tuple17<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> extends DefaultJetObject{ public class Tuple18<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> extends DefaultJetObject { public class Tuple19<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple2<T1, T2> extends DefaultJetObject { public class Tuple2<T1, T2> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> extends DefaultJetObject{ public class Tuple20<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> extends DefaultJetObject { public class Tuple21<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> extends DefaultJetObject { public class Tuple22<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple3<T1, T2, T3> extends DefaultJetObject { public class Tuple3<T1, T2, T3> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple4<T1, T2, T3, T4> extends DefaultJetObject { public class Tuple4<T1, T2, T3, T4> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple5<T1, T2, T3, T4, T5> extends DefaultJetObject{ public class Tuple5<T1, T2, T3, T4, T5> extends DefaultJetObject{
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;
-2
View File
@@ -1,7 +1,5 @@
package jet; package jet;
import jet.typeinfo.TypeInfo;
public class Tuple6<T1, T2, T3, T4, T5, T6> extends DefaultJetObject { public class Tuple6<T1, T2, T3, T4, T5, T6> extends DefaultJetObject {
public final T1 _1; public final T1 _1;
public final T2 _2; public final T2 _2;

Some files were not shown because too many files have changed in this diff Show More