diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index c9374b6dfa7..0e81f301460 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -12,6 +12,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.diagnostics.DiagnosticUtils; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; +import org.jetbrains.jet.lang.resolve.StdlibNames; import org.jetbrains.jet.lang.resolve.calls.*; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.resolve.java.JavaClassDescriptor; @@ -2618,16 +2619,16 @@ If finally block is present, its last expression is the value of try expression. } else { v.load(0, TYPE_OBJECT); - v.invokeinterface("jet/JetObject", "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); + v.invokeinterface(StdlibNames.JET_OBJECT_TYPE.getInternalName(), "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); } } else { v.load(0, TYPE_OBJECT); while(descriptor != containingDeclaration) { descriptor = CodegenUtil.getOuterClassDescriptor(descriptor); - v.invokeinterface("jet/JetObject", "getOuterObject", "()Ljet/JetObject;"); + v.invokeinterface(StdlibNames.JET_OBJECT_TYPE.getInternalName(), "getOuterObject", "()Ljet/JetObject;"); } - v.invokeinterface("jet/JetObject", "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); + v.invokeinterface(StdlibNames.JET_OBJECT_TYPE.getInternalName(), "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); } v.aconst(ownerType); v.iconst(typeParameterDescriptor.getIndex()); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java index a637350f361..5ae78f4a284 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ImplementationBodyCodegen.java @@ -6,6 +6,7 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.OverridingUtil; +import org.jetbrains.jet.lang.resolve.StdlibNames; import org.jetbrains.jet.lang.resolve.constants.CompileTimeConstant; import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.TypeProjection; @@ -59,7 +60,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { getSuperClass(); List interfaces = new ArrayList(); - interfaces.add("jet/JetObject"); + interfaces.add(StdlibNames.JET_OBJECT_TYPE.getInternalName()); interfaces.addAll(getSuperInterfaces(myClass)); boolean isAbstract = false; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ValueTypeInfo.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ValueTypeInfo.java index 3c9c43d97f7..c604a291d3e 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ValueTypeInfo.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ValueTypeInfo.java @@ -5,6 +5,7 @@ import org.jetbrains.jet.codegen.ExpressionCodegen; import org.jetbrains.jet.codegen.JetTypeMapper; import org.jetbrains.jet.codegen.StackValue; import org.jetbrains.jet.lang.psi.JetExpression; +import org.jetbrains.jet.lang.resolve.StdlibNames; import org.objectweb.asm.Type; import org.objectweb.asm.commons.InstructionAdapter; @@ -17,7 +18,7 @@ public class ValueTypeInfo implements IntrinsicMethod { @Override public StackValue generate(ExpressionCodegen codegen, InstructionAdapter v, Type expectedType, PsiElement element, List arguments, StackValue receiver) { codegen.gen(arguments.get(0), JetTypeMapper.TYPE_JET_OBJECT); - v.invokeinterface("jet/JetObject", "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); + v.invokeinterface(StdlibNames.JET_OBJECT_TYPE.getInternalName(), "getTypeInfo", "()Ljet/typeinfo/TypeInfo;"); return StackValue.onStack(JetTypeMapper.TYPE_TYPEINFO); } } diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/StdlibNames.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/StdlibNames.java index fcc779f5c99..aaad7538e0f 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/StdlibNames.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/StdlibNames.java @@ -29,4 +29,8 @@ public class StdlibNames { public static final String JET_METHOD_NULLABLE_RETURN_TYPE_FIELD = "nullableReturnType"; + + public static final Type JET_OBJECT_TYPE = Type.getObjectType("jet/JetObject"); + public static final String JET_OBJECT_CLASS = "jet.JetObject"; + public static final String JET_OBJECT_DESCRIPTOR = "Ljet/JetObject;"; }