jet.typeinfo.TypeInfo -> jet.TypeInfo
This commit is contained in:
@@ -253,7 +253,7 @@ public class ClosureCodegen extends ObjectOrClosureCodegen {
|
||||
iv.load(0, Type.getObjectType(funClass));
|
||||
// expressionCodegen.generateTypeInfo(new ProjectionErasingJetType(returnType));
|
||||
iv.aconst(null); // @todo
|
||||
iv.invokespecial(funClass, "<init>", "(Ljet/typeinfo/TypeInfo;)V");
|
||||
iv.invokespecial(funClass, "<init>", "(Ljet/TypeInfo;)V");
|
||||
|
||||
i = 1;
|
||||
int k = 0;
|
||||
|
||||
@@ -991,7 +991,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
|
||||
else if (descriptor instanceof TypeParameterDescriptor) {
|
||||
TypeParameterDescriptor typeParameterDescriptor = (TypeParameterDescriptor) descriptor;
|
||||
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()));
|
||||
|
||||
return StackValue.onStack(TYPE_OBJECT);
|
||||
@@ -2118,7 +2118,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> {
|
||||
if(elementType != null) {
|
||||
generateTypeInfo(elementType, null);
|
||||
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 {
|
||||
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) {
|
||||
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) {
|
||||
String knownTypeInfo = typeMapper.isKnownTypeInfo(jetType);
|
||||
if(knownTypeInfo != null) {
|
||||
v.getstatic("jet/typeinfo/TypeInfo", knownTypeInfo, "Ljet/typeinfo/TypeInfo;");
|
||||
v.getstatic("jet/TypeInfo", knownTypeInfo, "Ljet/TypeInfo;");
|
||||
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)) {
|
||||
// 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;
|
||||
}
|
||||
|
||||
boolean hasUnsubstituted = TypeUtils.hasUnsubstitutedTypeParameters(jetType);
|
||||
if(!hasUnsubstituted) {
|
||||
int typeInfoConstantIndex = context.getTypeInfoConstantIndex(jetType);
|
||||
v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/typeinfo/TypeInfo;");
|
||||
v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/TypeInfo;");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2590,10 +2590,10 @@ If finally block is present, its last expression is the value of try expression.
|
||||
genTypeInfoToProjection(v, argument.getProjectionKind());
|
||||
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 {
|
||||
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)
|
||||
v.checkcast(TYPE_TYPEINFOPROJECTION);
|
||||
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)
|
||||
v.invokestatic("jet/typeinfo/TypeInfo", "outProjection", "(Ljet/typeinfo/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;");
|
||||
v.invokestatic("jet/TypeInfo", "outProjection", "(Ljet/TypeInfo;)Ljet/typeinfo/TypeInfoProjection;");
|
||||
else
|
||||
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(!(context instanceof CodegenContext.ConstructorContext)) {
|
||||
v.load(0, TYPE_OBJECT);
|
||||
v.getfield(ownerType.getInternalName(), "$typeInfo", "Ljet/typeinfo/TypeInfo;");
|
||||
v.getfield(ownerType.getInternalName(), "$typeInfo", "Ljet/TypeInfo;");
|
||||
}
|
||||
else {
|
||||
v.load(((ConstructorFrameMap)myFrameMap).getTypeInfoIndex(), TYPE_OBJECT);
|
||||
}
|
||||
}
|
||||
else {
|
||||
v.getstatic(ownerType.getInternalName(), "$typeInfo", "Ljet/typeinfo/TypeInfo;");
|
||||
v.getstatic(ownerType.getInternalName(), "$typeInfo", "Ljet/TypeInfo;");
|
||||
}
|
||||
}
|
||||
else {
|
||||
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 {
|
||||
@@ -2656,11 +2656,11 @@ If finally block is present, its last expression is the value of try expression.
|
||||
descriptor = CodegenUtil.getOuterClassDescriptor(descriptor);
|
||||
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.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;
|
||||
}
|
||||
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();
|
||||
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) {
|
||||
signature.append("Ljava/lang/Object;");
|
||||
}
|
||||
|
||||
@@ -500,7 +500,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
if (CodegenUtil.requireTypeInfoConstructorArg(descriptor.getDefaultType()) && kind == OwnerKind.IMPLEMENTATION) {
|
||||
iv.load(0, 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) {
|
||||
@@ -836,27 +836,27 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
JetType defaultType = descriptor.getDefaultType();
|
||||
if(CodegenUtil.requireTypeInfoConstructorArg(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()) {
|
||||
mv.visitCode();
|
||||
InstructionAdapter iv = new InstructionAdapter(mv);
|
||||
String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName();
|
||||
iv.load(0, JetTypeMapper.TYPE_OBJECT);
|
||||
iv.getfield(owner, "$typeInfo", "Ljet/typeinfo/TypeInfo;");
|
||||
iv.getfield(owner, "$typeInfo", "Ljet/TypeInfo;");
|
||||
iv.areturn(JetTypeMapper.TYPE_TYPEINFO);
|
||||
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()) {
|
||||
mv.visitCode();
|
||||
InstructionAdapter iv = new InstructionAdapter(mv);
|
||||
String owner = typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION).getInternalName();
|
||||
iv.load(0, 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);
|
||||
FunctionCodegen.endVisit(iv, "$setTypeInfo", myClass);
|
||||
}
|
||||
@@ -869,26 +869,26 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
}
|
||||
|
||||
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()) {
|
||||
mv.visitCode();
|
||||
InstructionAdapter v = new InstructionAdapter(mv);
|
||||
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);
|
||||
FunctionCodegen.endVisit(v, "getTypeInfo", myClass);
|
||||
}
|
||||
}
|
||||
|
||||
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() {
|
||||
@Override
|
||||
public void generate(InstructionAdapter v) {
|
||||
v.aconst(typeMapper.mapType(descriptor.getDefaultType(), OwnerKind.IMPLEMENTATION));
|
||||
v.iconst(0);
|
||||
v.invokestatic("jet/typeinfo/TypeInfo", "getTypeInfo", "(Ljava/lang/Class;Z)Ljet/typeinfo/TypeInfo;");
|
||||
v.putstatic(typeMapper.mapType(descriptor.getDefaultType(), kind).getInternalName(), "$staticTypeInfo", "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;");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.jetbrains.jet.codegen;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import jet.JetObject;
|
||||
import jet.typeinfo.TypeInfo;
|
||||
import jet.TypeInfo;
|
||||
import jet.typeinfo.TypeInfoProjection;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -121,11 +121,11 @@ public class NamespaceCodegen {
|
||||
for(int index = 0; index != context.typeInfoConstantsCount; index++) {
|
||||
JetType type = context.reverseTypeInfoConstants.get(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);
|
||||
v.visitFieldInsn(GETSTATIC, jvmClassName, fieldName, "Ljet/typeinfo/TypeInfo;");
|
||||
v.visitFieldInsn(GETSTATIC, jvmClassName, fieldName, "Ljet/TypeInfo;");
|
||||
v.visitInsn(DUP);
|
||||
Label end = new Label();
|
||||
v.visitJumpInsn(IFNONNULL, end);
|
||||
@@ -134,7 +134,7 @@ public class NamespaceCodegen {
|
||||
generateTypeInfo(context, v, type, state.getTypeMapper(), type);
|
||||
v.dup();
|
||||
|
||||
v.visitFieldInsn(PUTSTATIC, jvmClassName, fieldName, "Ljet/typeinfo/TypeInfo;");
|
||||
v.visitFieldInsn(PUTSTATIC, jvmClassName, fieldName, "Ljet/TypeInfo;");
|
||||
v.visitLabel(end);
|
||||
v.visitInsn(ARETURN);
|
||||
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) {
|
||||
String knownTypeInfo = typeMapper.isKnownTypeInfo(jetType);
|
||||
if(knownTypeInfo != null) {
|
||||
v.getstatic("jet/typeinfo/TypeInfo", knownTypeInfo, "Ljet/typeinfo/TypeInfo;");
|
||||
v.getstatic("jet/TypeInfo", knownTypeInfo, "Ljet/TypeInfo;");
|
||||
return;
|
||||
}
|
||||
|
||||
DeclarationDescriptor declarationDescriptor = jetType.getConstructor().getDeclarationDescriptor();
|
||||
if(!jetType.equals(root) && jetType.getArguments().size() == 0 && !(declarationDescriptor instanceof JavaClassDescriptor) && !JetStandardClasses.getAny().equals(declarationDescriptor)) {
|
||||
// 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;
|
||||
}
|
||||
|
||||
boolean hasUnsubstituted = TypeUtils.hasUnsubstitutedTypeParameters(jetType);
|
||||
if(!jetType.equals(root) && !hasUnsubstituted) {
|
||||
int typeInfoConstantIndex = context.getTypeInfoConstantIndex(jetType);
|
||||
v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/typeinfo/TypeInfo;");
|
||||
v.invokestatic(context.getNamespaceClassName(), "$getCachedTypeInfo$" + typeInfoConstantIndex, "()Ljet/TypeInfo;");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -180,10 +180,10 @@ public class NamespaceCodegen {
|
||||
ExpressionCodegen.genTypeInfoToProjection(v, argument.getProjectionKind());
|
||||
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 {
|
||||
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();
|
||||
if(containingDeclaration.equals(standardLibrary.getArray())) {
|
||||
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);
|
||||
}
|
||||
else if(containingDeclaration.equals(standardLibrary.getByteArrayClass())) {
|
||||
|
||||
@@ -17,7 +17,7 @@ public class ValueTypeInfo implements IntrinsicMethod {
|
||||
@Override
|
||||
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);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package jet
|
||||
|
||||
package typeinfo {
|
||||
//package typeinfo {
|
||||
class TypeInfo<out T> {
|
||||
fun isSubtypeOf(other : TypeInfo<*>) : Boolean
|
||||
fun isInstance(obj : Any?) : Boolean
|
||||
@@ -8,31 +8,7 @@ package typeinfo {
|
||||
|
||||
fun typeinfo<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
|
||||
|
||||
|
||||
@@ -7,10 +7,11 @@ import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.JetSemanticServices;
|
||||
import org.jetbrains.jet.lang.descriptors.ClassDescriptor;
|
||||
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.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.RedeclarationHandler;
|
||||
import org.jetbrains.jet.lang.resolve.scopes.WritableScope;
|
||||
@@ -120,7 +121,6 @@ public class JetStandardLibrary {
|
||||
private JetType tuple0Type;
|
||||
private JetType nullableStringType;
|
||||
|
||||
private NamespaceDescriptor typeInfoNamespace;
|
||||
private Set<FunctionDescriptor> typeInfoFunction;
|
||||
|
||||
private JetStandardLibrary(@NotNull Project project) {
|
||||
@@ -168,9 +168,9 @@ public class JetStandardLibrary {
|
||||
this.arrayClass = (ClassDescriptor) libraryScope.getClassifier("Array");
|
||||
|
||||
this.iterableClass = (ClassDescriptor) libraryScope.getClassifier("Iterable");
|
||||
typeInfoNamespace = libraryScope.getNamespace("typeinfo");
|
||||
this.typeInfoClass = (ClassDescriptor) typeInfoNamespace.getMemberScope().getClassifier("TypeInfo");
|
||||
typeInfoFunction = typeInfoNamespace.getMemberScope().getFunctions("typeinfo");
|
||||
// typeInfoNamespace = libraryScope.getNamespace("typeinfo");
|
||||
this.typeInfoClass = (ClassDescriptor) libraryScope.getClassifier("TypeInfo");
|
||||
this.typeInfoFunction = libraryScope.getFunctions("typeinfo");
|
||||
|
||||
this.byteType = new JetTypeImpl(getByte());
|
||||
this.charType = new JetTypeImpl(getChar());
|
||||
@@ -297,11 +297,11 @@ public class JetStandardLibrary {
|
||||
return iterableClass;
|
||||
}
|
||||
|
||||
public NamespaceDescriptor getTypeInfoNamespace() {
|
||||
initStdClasses();
|
||||
return typeInfoNamespace;
|
||||
}
|
||||
|
||||
// public NamespaceDescriptor getTypeInfoNamespace() {
|
||||
// initStdClasses();
|
||||
// return typeInfoNamespace;
|
||||
// }
|
||||
//
|
||||
public ClassDescriptor getTypeInfo() {
|
||||
initStdClasses();
|
||||
return typeInfoClass;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
class Point() {
|
||||
}
|
||||
|
||||
fun foo() : typeinfo.TypeInfo<Point> {
|
||||
fun foo() : TypeInfo<Point> {
|
||||
val p = Point();
|
||||
return typeinfo.typeinfo<Point>(p);
|
||||
return typeinfo<Point>(p);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
class Simple {
|
||||
{
|
||||
jet.typeinfo.TypeInfo blabla = null;
|
||||
jet.TypeInfo blabla = null;
|
||||
new Impossible<String>(blabla);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
class GenericArray {
|
||||
public static void ggff() {
|
||||
jet.typeinfo.TypeInfo noise = null;
|
||||
jet.TypeInfo noise = null;
|
||||
String[] s = namespace.ffgg(noise, new String[0]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import java.util.ArrayList;
|
||||
class ListOfT {
|
||||
|
||||
public static void check() {
|
||||
jet.typeinfo.TypeInfo nobodyCaresAboutTypeinfo = null;
|
||||
jet.TypeInfo nobodyCaresAboutTypeinfo = null;
|
||||
List<String> list = new ArrayList<String>();
|
||||
List<String> r = namespace.listOfT(nobodyCaresAboutTypeinfo, list);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import java.math.BigDecimal;
|
||||
|
||||
class MapOfKString {
|
||||
public static void gfgdgfg() {
|
||||
jet.typeinfo.TypeInfo useless = null;
|
||||
jet.TypeInfo useless = null;
|
||||
|
||||
Map<BigDecimal, String> map = new HashMap<BigDecimal, String>();
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@ class Question {
|
||||
// id2 is to prevent java type parameter type inference
|
||||
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
|
||||
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
|
||||
// +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
|
||||
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>) {
|
||||
System.out?.println(getJavaClass<String>)
|
||||
|
||||
@@ -18,7 +18,7 @@ public class ClassGenTest extends CodegenTestCase {
|
||||
final Class aClass = loadClass("SimpleClass", generateClassesInFile());
|
||||
final Method[] methods = aClass.getDeclaredMethods();
|
||||
// public int SimpleClass.foo()
|
||||
// public jet.typeinfo.TypeInfo SimpleClass.getTypeInfo()
|
||||
// public jet.TypeInfo SimpleClass.getTypeInfo()
|
||||
assertEquals(2, methods.length);
|
||||
}
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.jetbrains.jet.codegen;
|
||||
import jet.IntRange;
|
||||
import jet.Tuple2;
|
||||
import jet.Tuple4;
|
||||
import jet.typeinfo.TypeInfo;
|
||||
import jet.TypeInfo;
|
||||
|
||||
import java.awt.*;
|
||||
import java.lang.reflect.InvocationTargetException;
|
||||
|
||||
@@ -2,7 +2,7 @@ package org.jetbrains.jet.codegen;
|
||||
|
||||
import jet.JetObject;
|
||||
import jet.TypeCastException;
|
||||
import jet.typeinfo.TypeInfo;
|
||||
import jet.TypeInfo;
|
||||
|
||||
import java.lang.reflect.Method;
|
||||
|
||||
@@ -31,7 +31,7 @@ public class TypeInfoTest extends CodegenTestCase {
|
||||
}
|
||||
|
||||
public void testNoArgTypeinfo() throws Exception {
|
||||
loadText("fun foo() = typeinfo.typeinfo<Int>()");
|
||||
loadText("fun foo() = typeinfo<Int>()");
|
||||
Method foo = generateFunction();
|
||||
TypeInfo typeInfo = (TypeInfo) foo.invoke(null);
|
||||
assertSame(TypeInfo.INT_TYPE_INFO, typeInfo);
|
||||
|
||||
@@ -90,8 +90,8 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
||||
}
|
||||
|
||||
public void testTypeInfo() throws Exception {
|
||||
assertType("typeinfo.typeinfo<Int>", "typeinfo.TypeInfo<Int>");
|
||||
assertType("typeinfo.typeinfo<typeinfo.TypeInfo<Int>>", "typeinfo.TypeInfo<typeinfo.TypeInfo<Int>>");
|
||||
assertType("typeinfo<Int>", "TypeInfo<Int>");
|
||||
assertType("typeinfo<TypeInfo<Int>>", "TypeInfo<TypeInfo<Int>>");
|
||||
}
|
||||
|
||||
public void testJumps() throws Exception {
|
||||
|
||||
@@ -16,15 +16,15 @@ script
|
||||
;
|
||||
|
||||
preamble
|
||||
: namespaceHeader? import*
|
||||
: packageHeader? import*
|
||||
;
|
||||
|
||||
namespaceHeader
|
||||
: modifiers "namespace" SimpleName{"."} SEMI?
|
||||
packageHeader
|
||||
: modifiers "package" SimpleName{"."} SEMI?
|
||||
;
|
||||
|
||||
import
|
||||
: "import" ("namespace" ".")? SimpleName{"."} ("." "*" | "as" SimpleName)? SEMI?
|
||||
: "import" ("package" ".")? SimpleName{"."} ("." "*" | "as" SimpleName)? SEMI?
|
||||
;
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,7 @@ bq. See [Imports|Namespaces#Imports]
|
||||
*/
|
||||
|
||||
toplevelObject
|
||||
: namespace
|
||||
: package
|
||||
: class
|
||||
: object
|
||||
: function
|
||||
@@ -40,8 +40,8 @@ toplevelObject
|
||||
: typedef
|
||||
;
|
||||
|
||||
namespace
|
||||
: "namespace" SimpleName{"."} "{"
|
||||
package
|
||||
: "package" SimpleName{"."} "{"
|
||||
import*
|
||||
toplevelObject*
|
||||
"}"
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -3,8 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public abstract class ExtensionFunction0<E, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction0(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction1<E, D1, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction1(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction10<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction10(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction11(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction12(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction13(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction14(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction15(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction16(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction17(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction18(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction19(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction2<E, D1, D2, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction2(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction20(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction21(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected ExtensionFunction22(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction3<E, D1, D2, D3, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction3(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction4<E, D1, D2, D3, D4, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction4(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction5<E, D1, D2, D3, D4, D5, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction5(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction6<E, D1, D2, D3, D4, D5, D6, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction6(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction7<E, D1, D2, D3, D4, D5, D6, D7, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction7(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction8<E, D1, D2, D3, D4, D5, D6, D7, D8, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction8(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class ExtensionFunction9<E, D1, D2, D3, D4, D5, D6, D7, D8, D9, R> extends DefaultJetObject {
|
||||
protected ExtensionFunction9(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -3,13 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function0(TypeInfo typeInfo) {
|
||||
super(typeInfo);
|
||||
@@ -30,7 +23,7 @@ public abstract class Function0<R> extends DefaultJetObject {
|
||||
// " */\n" +
|
||||
// "package jet;\n" +
|
||||
// "\n" +
|
||||
// "import jet.typeinfo.TypeInfo;\n" +
|
||||
// "import jet.TypeInfo;\n" +
|
||||
// "public abstract class Function" + i + "<");
|
||||
// for(int k = 1; k <= i; k++)
|
||||
// out.print("D" + k + ", ");
|
||||
@@ -61,7 +54,7 @@ public abstract class Function0<R> extends DefaultJetObject {
|
||||
// " */\n" +
|
||||
// "package jet;\n" +
|
||||
// "\n" +
|
||||
// "import jet.typeinfo.TypeInfo;\n" +
|
||||
// "import jet.TypeInfo;\n" +
|
||||
// "public abstract class ExtensionFunction" + i + "<E, ");
|
||||
// for(int k = 1; k <= i; k++)
|
||||
// out.print("D" + k + ", ");
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function1<D1, R> extends DefaultJetObject {
|
||||
protected Function1(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function10<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, R> extends DefaultJetObject {
|
||||
protected Function10(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function11<D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, R> extends DefaultJetObject {
|
||||
protected Function11(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function12(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function13(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function14(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function15(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function16(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function17(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function18(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function19(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function2<D1, D2, R> extends DefaultJetObject {
|
||||
protected Function2(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function20(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function21(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
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 {
|
||||
protected Function22(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function3<D1, D2, D3, R> extends DefaultJetObject {
|
||||
protected Function3(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function4<D1, D2, D3, D4, R> extends DefaultJetObject {
|
||||
protected Function4(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function5<D1, D2, D3, D4, D5, R> extends DefaultJetObject {
|
||||
protected Function5(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function6<D1, D2, D3, D4, D5, D6, R> extends DefaultJetObject {
|
||||
protected Function6(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function7<D1, D2, D3, D4, D5, D6, D7, R> extends DefaultJetObject {
|
||||
protected Function7(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function8<D1, D2, D3, D4, D5, D6, D7, D8, R> extends DefaultJetObject {
|
||||
protected Function8(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
*/
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
public abstract class Function9<D1, D2, D3, D4, D5, D6, D7, D8, D9, R> extends DefaultJetObject {
|
||||
protected Function9(TypeInfo<?> typeInfo) {
|
||||
super(typeInfo);
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public final class IntRange implements Range<Integer>, IntIterable, JetObject {
|
||||
private final static TypeInfo typeInfo = TypeInfo.getTypeInfo(IntRange.class, false);
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author abreslav
|
||||
* @author alex.tkachman
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public final class LongRange implements Range<Long>, LongIterable, JetObject {
|
||||
private final static TypeInfo typeInfo = TypeInfo.getTypeInfo(IntRange.class, false);
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
/**
|
||||
* @author alex.tkachman
|
||||
*/
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple1<T1> extends DefaultJetObject {
|
||||
public final T1 _1;
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple10<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> extends DefaultJetObject{
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple11<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> extends DefaultJetObject{
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple12<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> extends DefaultJetObject {
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple2<T1, T2> extends DefaultJetObject {
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
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 final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple3<T1, T2, T3> extends DefaultJetObject {
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple4<T1, T2, T3, T4> extends DefaultJetObject {
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple5<T1, T2, T3, T4, T5> extends DefaultJetObject{
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package jet;
|
||||
|
||||
import jet.typeinfo.TypeInfo;
|
||||
|
||||
public class Tuple6<T1, T2, T3, T4, T5, T6> extends DefaultJetObject {
|
||||
public final T1 _1;
|
||||
public final T2 _2;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user