diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index a15089082de..932cc931786 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -1189,7 +1189,7 @@ public class ExpressionCodegen extends JetVisitor implem } else { Type type = expressionType(expression); - Type targetType = type.equals(JET_UNIT_TYPE) ? type : OBJECT_TYPE; + Type targetType = type.equals(UNIT_TYPE) ? type : OBJECT_TYPE; gen(expression, targetType); @@ -3319,7 +3319,7 @@ public class ExpressionCodegen extends JetVisitor implem v.iconst(0); v.store(indexIndex, Type.INT_TYPE); - gen(args.get(1), JET_FUNCTION1_TYPE); + gen(args.get(1), FUNCTION1_TYPE); Label begin = new Label(); Label end = new Label(); @@ -3331,7 +3331,7 @@ public class ExpressionCodegen extends JetVisitor implem v.dup2(); v.load(indexIndex, Type.INT_TYPE); v.invokestatic("java/lang/Integer", "valueOf", "(I)Ljava/lang/Integer;"); - v.invokeinterface("jet/Function1", "invoke", "(Ljava/lang/Object;)Ljava/lang/Object;"); + v.invokeinterface(FUNCTION1_TYPE.getInternalName(), "invoke", "(Ljava/lang/Object;)Ljava/lang/Object;"); v.load(indexIndex, Type.INT_TYPE); v.iinc(indexIndex, 1); v.swap(); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionTypesUtil.java b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionTypesUtil.java index ffeb9c84f7e..75f7acbbe11 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/FunctionTypesUtil.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/FunctionTypesUtil.java @@ -37,6 +37,8 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import static org.jetbrains.jet.lang.types.lang.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME; + public class FunctionTypesUtil { private static final List FUNCTIONS; private static final List EXTENSION_FUNCTIONS; @@ -163,10 +165,10 @@ public class FunctionTypesUtil { public static Type getFunctionTraitClassName(@NotNull FunctionDescriptor descriptor) { int paramCount = descriptor.getValueParameters().size(); if (descriptor.getReceiverParameter() != null) { - return Type.getObjectType("jet/ExtensionFunction" + paramCount); + return Type.getObjectType(BUILT_INS_PACKAGE_FQ_NAME + "/ExtensionFunction" + paramCount); } else { - return Type.getObjectType("jet/Function" + paramCount); + return Type.getObjectType(BUILT_INS_PACKAGE_FQ_NAME + "/Function" + paramCount); } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java index 6758f921fe8..47423d1ca28 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java @@ -29,7 +29,6 @@ import org.jetbrains.jet.codegen.state.JetTypeMapper; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.JetExpression; import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall; -import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; import org.jetbrains.jet.lang.resolve.scopes.receivers.ReceiverValue; import org.jetbrains.jet.lexer.JetTokens; @@ -230,7 +229,7 @@ public abstract class StackValue { pop(v, fromType); } else if (fromType.getSort() == Type.VOID) { - if (toType.equals(JET_UNIT_TYPE) || toType.equals(OBJECT_TYPE)) { + if (toType.equals(UNIT_TYPE) || toType.equals(OBJECT_TYPE)) { putUnitInstance(v); } else if (toType.getSort() == Type.OBJECT || toType.getSort() == Type.ARRAY) { @@ -240,9 +239,9 @@ public abstract class StackValue { pushDefaultPrimitiveValueOnStack(toType, v); } } - else if (toType.equals(JET_UNIT_TYPE)) { + else if (toType.equals(UNIT_TYPE)) { if (fromType.equals(getType(Object.class))) { - v.checkcast(JET_UNIT_TYPE); + v.checkcast(UNIT_TYPE); } else if (!fromType.equals(getType(Void.class))) { pop(v, fromType); @@ -283,7 +282,7 @@ public abstract class StackValue { } public static void putUnitInstance(InstructionAdapter v) { - v.visitFieldInsn(GETSTATIC, AsmTypeConstants.JET_UNIT_TYPE.getInternalName(), "VALUE", AsmTypeConstants.JET_UNIT_TYPE.getDescriptor()); + v.visitFieldInsn(GETSTATIC, UNIT_TYPE.getInternalName(), "VALUE", UNIT_TYPE.getDescriptor()); } protected void putAsBoolean(InstructionAdapter v) { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java index 94cf08dd6c5..6e56a4a7706 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java @@ -26,7 +26,8 @@ import org.jetbrains.jet.lang.psi.JetExpression; import java.util.List; -import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.JET_INT_RANGE_TYPE; +import static org.jetbrains.asm4.Type.INT_TYPE; +import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.INT_RANGE_TYPE; public class ArrayIndices extends IntrinsicMethod { @NotNull @@ -41,7 +42,7 @@ public class ArrayIndices extends IntrinsicMethod { ) { receiver.put(receiver.type, v); v.arraylength(); - v.invokestatic("kotlin/jvm/internal/Intrinsics", "arrayIndices", "(I)Ljet/IntRange;"); - return JET_INT_RANGE_TYPE; + v.invokestatic("kotlin/jvm/internal/Intrinsics", "arrayIndices", Type.getMethodDescriptor(INT_RANGE_TYPE, INT_TYPE)); + return INT_RANGE_TYPE; } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java index 40aac2e8348..c385722f276 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java @@ -39,6 +39,7 @@ import java.util.List; import static org.jetbrains.jet.codegen.AsmUtil.asmDescByFqNameWithoutInnerClasses; import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.getType; import static org.jetbrains.jet.lang.resolve.java.mapping.PrimitiveTypesUtil.asmTypeForPrimitive; +import static org.jetbrains.jet.lang.types.lang.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME; public class ArrayIterator extends IntrinsicMethod { @NotNull @@ -66,7 +67,8 @@ public class ArrayIterator extends IntrinsicMethod { PrimitiveType primitiveType = jvmPrimitiveType.getPrimitiveType(); ClassDescriptor arrayClass = KotlinBuiltIns.getInstance().getPrimitiveArrayClassDescriptor(primitiveType); if (containingDeclaration.equals(arrayClass)) { - String iteratorDesc = asmDescByFqNameWithoutInnerClasses(new FqName("jet." + primitiveType.getTypeName() + "Iterator")); + FqName fqName = new FqName(BUILT_INS_PACKAGE_FQ_NAME + "." + primitiveType.getTypeName() + "Iterator"); + String iteratorDesc = asmDescByFqNameWithoutInnerClasses(fqName); String methodSignature = "([" + asmTypeForPrimitive(jvmPrimitiveType) + ")" + iteratorDesc; v.invokestatic("kotlin/jvm/internal/InternalPackage", "iterator", methodSignature); return Type.getType(iteratorDesc); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java index bf65ae00e10..26bfc6362ca 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java @@ -27,6 +27,8 @@ import org.jetbrains.jet.lang.resolve.java.AsmTypeConstants; import java.util.List; +import static org.jetbrains.jet.lang.types.lang.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME; + public class IteratorNext extends IntrinsicMethod { @NotNull @Override @@ -67,7 +69,7 @@ public class IteratorNext extends IntrinsicMethod { throw new UnsupportedOperationException(); } receiver.put(AsmTypeConstants.OBJECT_TYPE, v); - v.invokevirtual("jet/" + name + "Iterator", "next" + name, "()" + returnType.getDescriptor()); + v.invokevirtual(BUILT_INS_PACKAGE_FQ_NAME + "/" + name + "Iterator", "next" + name, "()" + returnType.getDescriptor()); return returnType; } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StupidSync.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StupidSync.java index 8fd64ab6282..41e2824adb6 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StupidSync.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StupidSync.java @@ -29,7 +29,7 @@ import org.jetbrains.jet.lang.psi.JetExpression; import java.util.Arrays; import java.util.List; -import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.JET_FUNCTION0_TYPE; +import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.FUNCTION0_TYPE; import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.OBJECT_TYPE; public class StupidSync extends IntrinsicMethod { @@ -43,8 +43,8 @@ public class StupidSync extends IntrinsicMethod { @Nullable List arguments, StackValue receiver ) { - codegen.pushMethodArguments((JetCallExpression) element, Arrays.asList(OBJECT_TYPE, JET_FUNCTION0_TYPE)); - v.invokestatic("kotlin/jvm/internal/Intrinsics", "stupidSync", "(Ljava/lang/Object;Ljet/Function0;)Ljava/lang/Object;"); + codegen.pushMethodArguments((JetCallExpression) element, Arrays.asList(OBJECT_TYPE, FUNCTION0_TYPE)); + v.invokestatic("kotlin/jvm/internal/Intrinsics", "stupidSync", Type.getMethodDescriptor(OBJECT_TYPE, OBJECT_TYPE, FUNCTION0_TYPE)); return OBJECT_TYPE; } } diff --git a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CommandLineScriptUtils.java b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CommandLineScriptUtils.java index 2389bd1360d..e51b653f1ed 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CommandLineScriptUtils.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/jvm/compiler/CommandLineScriptUtils.java @@ -17,17 +17,19 @@ package org.jetbrains.jet.cli.jvm.compiler; import org.jetbrains.jet.lang.resolve.AnalyzerScriptParameter; -import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.Name; import org.jetbrains.jet.lang.types.ref.JetTypeName; import java.util.Collections; import java.util.List; -public class CommandLineScriptUtils { +import static org.jetbrains.jet.lang.types.lang.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME; +public class CommandLineScriptUtils { private static final Name ARGS_NAME = Name.identifier("args"); - private static final JetTypeName ARGS_TYPE = JetTypeName.parse("jet.Array"); + + private static final JetTypeName ARGS_TYPE = + JetTypeName.parse(BUILT_INS_PACKAGE_FQ_NAME + ".Array<" + BUILT_INS_PACKAGE_FQ_NAME + ".String>"); private CommandLineScriptUtils() { } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AsmTypeConstants.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AsmTypeConstants.java index bb6b9af84ba..f5955fcab82 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AsmTypeConstants.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/AsmTypeConstants.java @@ -22,6 +22,8 @@ import org.jetbrains.asm4.Type; import java.util.HashMap; import java.util.Map; +import static org.jetbrains.jet.lang.types.lang.KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME; + public class AsmTypeConstants { private static final Map, Type> TYPES_MAP = new HashMap, Type>(); @@ -29,10 +31,10 @@ public class AsmTypeConstants { public static final Type JAVA_STRING_TYPE = getType(String.class); public static final Type JAVA_THROWABLE_TYPE = getType(Throwable.class); - public static final Type JET_UNIT_TYPE = Type.getObjectType("jet/Unit"); - public static final Type JET_FUNCTION0_TYPE = Type.getObjectType("jet/Function0"); - public static final Type JET_FUNCTION1_TYPE = Type.getObjectType("jet/Function1"); - public static final Type JET_INT_RANGE_TYPE = Type.getObjectType("jet/IntRange"); + public static final Type UNIT_TYPE = Type.getObjectType(BUILT_INS_PACKAGE_FQ_NAME + "/Unit"); + public static final Type FUNCTION0_TYPE = Type.getObjectType(BUILT_INS_PACKAGE_FQ_NAME + "/Function0"); + public static final Type FUNCTION1_TYPE = Type.getObjectType(BUILT_INS_PACKAGE_FQ_NAME + "/Function1"); + public static final Type INT_RANGE_TYPE = Type.getObjectType(BUILT_INS_PACKAGE_FQ_NAME + "/IntRange"); public static final Type OBJECT_REF_TYPE = Type.getObjectType("kotlin/jvm/internal/Ref$ObjectRef"); diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java index 8554f97cd75..2a100061d2f 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsDescriptorUtils.java @@ -42,7 +42,7 @@ public final class JsDescriptorUtils { // TODO: maybe we should use external annotations or something else. private static final Set FAKE_CLASSES = ContainerUtil.immutableSet( getFqNameSafe(KotlinBuiltIns.getInstance().getAny()).asString(), - "jet.Iterable" + getFqNameSafe(KotlinBuiltIns.getInstance().getIterable()).asString() ); private JsDescriptorUtils() {