Community
Participate
Working Groups
The OT/J grammar prohibits on-demand base imports. This should be made explicit in OTJLD. Additionally, using this illegal syntax seems to cause this (happened when changing base import to on-demand in GUIConnector of OTSample-Flightbonus): at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding$2.compare(ReferenceBinding.java:137) at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding$2.compare(ReferenceBinding.java:1) at java.util.TimSort.binarySort(TimSort.java:265) at java.util.TimSort.sort(TimSort.java:190) at java.util.Arrays.sort(Arrays.java:727) at org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.sortFields(ReferenceBinding.java:349) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.getField(BinaryTypeBinding.java:1467) at org.eclipse.objectteams.otdt.internal.core.compiler.bytecode.SingleValueAttribute.evaluate(SingleValueAttribute.java:203) at org.eclipse.jdt.internal.compiler.classfmt.ClassFileReader.evaluateOTAttributes(ClassFileReader.java:636) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.cachePartsFrom(BinaryTypeBinding.java:707) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$createBinaryTypeFrom$orig(LookupEnvironment.java:933) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$createBinaryTypeFrom$chain(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:916) at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:352) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$askForType$orig(LookupEnvironment.java:218) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$askForType$chain(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:106) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:306) at org.eclipse.jdt.internal.compiler.lookup.TypeSystem.getUnannotatedType(TypeSystem.java:225) at org.eclipse.jdt.internal.compiler.lookup.TypeSystem.getParameterizedType(TypeSystem.java:335) at org.eclipse.jdt.internal.compiler.lookup.TypeSystem.getParameterizedType(TypeSystem.java:382) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createParameterizedType(LookupEnvironment.java:1192) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.getTypeFromTypeSignature(LookupEnvironment.java:1791) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createFields(BinaryTypeBinding.java:767) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.cachePartsFrom(BinaryTypeBinding.java:666) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$createBinaryTypeFrom$orig(LookupEnvironment.java:933) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$createBinaryTypeFrom$chain(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:916) at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:352) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:246) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding$TeamPackageBinding.getRoleType(PackageBinding.java:393) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.findTypeInTeamPackage(SourceTypeBinding.java:1726) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding._OT$getMemberType$orig(SourceTypeBinding.java:1678) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding._OT$getMemberType$chain(SourceTypeBinding.java) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getMemberType(SourceTypeBinding.java) at org.eclipse.objectteams.otdt.internal.core.compiler.model.RoleModel.getClassPartBinding(RoleModel.java:613) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createMethod(BinaryTypeBinding.java:1079) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.createMethods(BinaryTypeBinding.java:1154) at org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.cachePartsFrom(BinaryTypeBinding.java:667) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$createBinaryTypeFrom$orig(LookupEnvironment.java:933) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment._OT$createBinaryTypeFrom$chain(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:916) at org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:352) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:246) at org.eclipse.jdt.internal.compiler.lookup.PackageBinding$TeamPackageBinding.getRoleType(PackageBinding.java:393) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.findTypeInTeamPackage(SourceTypeBinding.java:1726) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding._OT$getMemberType$orig(SourceTypeBinding.java:1678) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding._OT$getMemberType$chain(SourceTypeBinding.java) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getMemberType(SourceTypeBinding.java) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance._OT$copyRole$orig(CopyInheritance.java:572) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance._OT$copyRole$chain(CopyInheritance.java) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance._OT$copyRole$chain(CopyInheritance.java) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.copyRole(CopyInheritance.java) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.copyLateRolePart(CopyInheritance.java:776) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.copyLateRole(CopyInheritance.java:760) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.internalCheckCopyLateRoleFile(CopyInheritance.java:744) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.checkCopyLateRoleFile(CopyInheritance.java:704) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding._OT$getMemberType$orig(SourceTypeBinding.java:1673) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding._OT$getMemberType$chain(SourceTypeBinding.java) at org.eclipse.jdt.internal.compiler.lookup.SourceTypeBinding.getMemberType(SourceTypeBinding.java) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.loadRoleFiles(CopyInheritance.java:362) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.copyRolesFromTeam(CopyInheritance.java:232) at org.eclipse.objectteams.otdt.internal.core.compiler.statemachine.copyinheritance.CopyInheritance.copyRoles(CopyInheritance.java:196) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTeamMemberTypes(ClassScope.java:1527) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectMemberTypes(ClassScope.java:1491) at org.eclipse.jdt.internal.compiler.lookup.ClassScope._OT$connectTypeHierarchy$orig(ClassScope.java:2198) at org.eclipse.jdt.internal.compiler.lookup.ClassScope._OT$connectTypeHierarchy$chain(ClassScope.java) at org.eclipse.objectteams.otdt.internal.compiler.adaptor.BuildManager$__OT__ClassScope._OT$connectTypeHierarchy$base(BuildManager.java) at org.eclipse.objectteams.otdt.internal.compiler.adaptor.BuildManager$__OT__ClassScope.connectTypeHierarchy(BuildManager.java:175) at org.eclipse.objectteams.otdt.internal.compiler.adaptor.BuildManager._OT$ClassScope$connectTypeHierarchy$connectTypeHierarchy(BuildManager.java:171) at org.eclipse.jdt.internal.compiler.lookup.ClassScope._OT$connectTypeHierarchy$chain(ClassScope.java) at org.eclipse.jdt.internal.compiler.lookup.ClassScope.connectTypeHierarchy(ClassScope.java) at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.connectTypeHierarchy(CompilationUnitScope.java:575) at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.completeTypeBindings(LookupEnvironment.java:343) at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:840) at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:441) at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:487)
(In reply to Stephan Herrmann from comment #0) > Additionally, using this illegal syntax seems to cause this (happened when > changing base import to on-demand in GUIConnector of OTSample-Flightbonus): > > at > org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding$2. > compare(ReferenceBinding.java:137) That exception got its own home in bug 460525
Resolved via commit 83c7155ed78ba8bb341d533387fa3ab3317f242e