From c10c1ad7f61e22ef6b68c5cda6700f149b00e7b3 Mon Sep 17 00:00:00 2001 From: Stanislav Erokhin Date: Thu, 21 Aug 2014 15:08:01 +0400 Subject: [PATCH] Fix wrong containingDeclaration for property type parameter. --- .../jet/lang/resolve/DescriptorResolver.java | 2 +- .../diagnostics/tests/MultipleBounds.kt | 6 + .../diagnostics/tests/MultipleBounds.lazy.log | 699 +++++++++--------- .../diagnostics/tests/MultipleBounds.txt | 9 + compiler/testData/renderer/Classes.kt | 8 + .../testData/renderer/GlobalProperties.kt | 2 +- 6 files changed, 375 insertions(+), 351 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java index 632a990185f..6a0d676720b 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/DescriptorResolver.java @@ -952,7 +952,7 @@ public class DescriptorResolver { WritableScope writableScope = new WritableScopeImpl( scope, containingDeclaration, new TraceBasedRedeclarationHandler(trace), "Scope with type parameters of a property"); - typeParameterDescriptors = resolveTypeParametersForCallableDescriptor(containingDeclaration, writableScope, typeParameters, + typeParameterDescriptors = resolveTypeParametersForCallableDescriptor(propertyDescriptor, writableScope, typeParameters, trace); writableScope.changeLockLevel(WritableScope.LockLevel.READING); resolveGenericBounds(property, propertyDescriptor, writableScope, typeParameterDescriptors, trace); diff --git a/compiler/testData/diagnostics/tests/MultipleBounds.kt b/compiler/testData/diagnostics/tests/MultipleBounds.kt index 17edd6c5491..6a8b1db31ba 100644 --- a/compiler/testData/diagnostics/tests/MultipleBounds.kt +++ b/compiler/testData/diagnostics/tests/MultipleBounds.kt @@ -8,6 +8,12 @@ trait B { fun bar() : Double = 1.0; } +trait G { + val boo: Double where X : B + val bal: Double where A : B + val bas: Double where X : B +} + class C() : A(), B class D() { diff --git a/compiler/testData/diagnostics/tests/MultipleBounds.lazy.log b/compiler/testData/diagnostics/tests/MultipleBounds.lazy.log index 034b293b87a..cb287ee517c 100644 --- a/compiler/testData/diagnostics/tests/MultipleBounds.lazy.log +++ b/compiler/testData/diagnostics/tests/MultipleBounds.lazy.log @@ -23,428 +23,429 @@ LazyJavaPackageFragmentProvider@5 { packageFragments('Jet87.D': FqName@21) = null packageFragments('Jet87.Double': FqName@22) = null packageFragments('Jet87.Foo': FqName@23) = null - packageFragments('Jet87.Int': FqName@24) = null - packageFragments('Jet87.T': FqName@25) = null - packageFragments('Jet87.Test': FqName@26) = null - packageFragments('Jet87.Test1': FqName@27) = null - packageFragments('Jet87.X': FqName@28) = null - packageFragments('Jet87.Y': FqName@29) = null - packageFragments('Jet87.nioho': FqName@30) = null - packageFragments('Jet87.t1': FqName@31) = null - packageFragments('Jet87.t2': FqName@32) = null - packageFragments('Jet87.t3': FqName@33) = null - packageFragments('Jet87.x': FqName@34) = null - packageFragments('T': FqName@35) = null - packageFragments('java': FqName@36) = LazyJavaPackageFragment@37['java'] - packageFragments('java.lang': FqName@38) = LazyJavaPackageFragment@39['lang'] - packageFragments('java.lang.A': FqName@40) = null - packageFragments('java.lang.B': FqName@41) = null - packageFragments('java.lang.Bar': FqName@42) = null - packageFragments('java.lang.C': FqName@43) = null - packageFragments('java.lang.Double': FqName@44) = null - packageFragments('java.lang.Foo': FqName@45) = null - packageFragments('java.lang.Int': FqName@46) = null - packageFragments('java.lang.T': FqName@47) = null - packageFragments('java.lang.nioho': FqName@48) = null - packageFragments('kotlin': FqName@49) = null - packageFragments('kotlin.A': FqName@50) = null - packageFragments('kotlin.B': FqName@51) = null - packageFragments('kotlin.Bar': FqName@52) = null - packageFragments('kotlin.C': FqName@53) = null - packageFragments('kotlin.Double': FqName@54) = null - packageFragments('kotlin.Foo': FqName@55) = null - packageFragments('kotlin.Int': FqName@56) = null - packageFragments('kotlin.T': FqName@57) = null - packageFragments('kotlin.io': FqName@58) = null - packageFragments('kotlin.jvm': FqName@59) = null - packageFragments('kotlin.nioho': FqName@60) = null - packageFragments('nioho': FqName@61) = null + packageFragments('Jet87.G': FqName@24) = null + packageFragments('Jet87.Int': FqName@25) = null + packageFragments('Jet87.T': FqName@26) = null + packageFragments('Jet87.Test': FqName@27) = null + packageFragments('Jet87.Test1': FqName@28) = null + packageFragments('Jet87.X': FqName@29) = null + packageFragments('Jet87.Y': FqName@30) = null + packageFragments('Jet87.nioho': FqName@31) = null + packageFragments('Jet87.t1': FqName@32) = null + packageFragments('Jet87.t2': FqName@33) = null + packageFragments('Jet87.t3': FqName@34) = null + packageFragments('Jet87.x': FqName@35) = null + packageFragments('T': FqName@36) = null + packageFragments('java': FqName@37) = LazyJavaPackageFragment@38['java'] + packageFragments('java.lang': FqName@39) = LazyJavaPackageFragment@40['lang'] + packageFragments('java.lang.A': FqName@41) = null + packageFragments('java.lang.B': FqName@42) = null + packageFragments('java.lang.Bar': FqName@43) = null + packageFragments('java.lang.C': FqName@44) = null + packageFragments('java.lang.Double': FqName@45) = null + packageFragments('java.lang.Foo': FqName@46) = null + packageFragments('java.lang.Int': FqName@47) = null + packageFragments('java.lang.T': FqName@48) = null + packageFragments('java.lang.nioho': FqName@49) = null + packageFragments('kotlin': FqName@50) = null + packageFragments('kotlin.A': FqName@51) = null + packageFragments('kotlin.B': FqName@52) = null + packageFragments('kotlin.Bar': FqName@53) = null + packageFragments('kotlin.C': FqName@54) = null + packageFragments('kotlin.Double': FqName@55) = null + packageFragments('kotlin.Foo': FqName@56) = null + packageFragments('kotlin.Int': FqName@57) = null + packageFragments('kotlin.T': FqName@58) = null + packageFragments('kotlin.io': FqName@59) = null + packageFragments('kotlin.jvm': FqName@60) = null + packageFragments('kotlin.nioho': FqName@61) = null + packageFragments('nioho': FqName@62) = null } -LazyJavaPackageFragment@37['java'] { - classes('lang': Name@62) = null // through LazyPackageFragmentScopeForJavaPackage@63 - deserializedPackageScope = Empty@64 // through LazyPackageFragmentScopeForJavaPackage@63 - functions('lang': Name@65) = EmptyList@66[empty] // through LazyPackageFragmentScopeForJavaPackage@63 - memberIndex = computeMemberIndex$1@67 // through LazyPackageFragmentScopeForJavaPackage@63 +LazyJavaPackageFragment@38['java'] { + classes('lang': Name@63) = null // through LazyPackageFragmentScopeForJavaPackage@64 + deserializedPackageScope = Empty@65 // through LazyPackageFragmentScopeForJavaPackage@64 + functions('lang': Name@66) = EmptyList@67[empty] // through LazyPackageFragmentScopeForJavaPackage@64 + memberIndex = computeMemberIndex$1@68 // through LazyPackageFragmentScopeForJavaPackage@64 } -LazyJavaPackageFragment@39['lang'] { - classes('A': Name@68) = null // through LazyPackageFragmentScopeForJavaPackage@69 - classes('C': Name@70) = null // through LazyPackageFragmentScopeForJavaPackage@69 - classes('Test1': Name@71) = null // through LazyPackageFragmentScopeForJavaPackage@69 - classes('nioho': Name@72) = null // through LazyPackageFragmentScopeForJavaPackage@69 - classes('test2': Name@73) = null // through LazyPackageFragmentScopeForJavaPackage@69 - deserializedPackageScope = Empty@64 // through LazyPackageFragmentScopeForJavaPackage@69 - functions('A': Name@68) = EmptyList@66[empty] // through LazyPackageFragmentScopeForJavaPackage@69 - functions('C': Name@70) = EmptyList@66[empty] // through LazyPackageFragmentScopeForJavaPackage@69 - functions('Test1': Name@71) = EmptyList@66[empty] // through LazyPackageFragmentScopeForJavaPackage@69 - functions('test2': Name@73) = EmptyList@66[empty] // through LazyPackageFragmentScopeForJavaPackage@69 - memberIndex = computeMemberIndex$1@74 // through LazyPackageFragmentScopeForJavaPackage@69 +LazyJavaPackageFragment@40['lang'] { + classes('A': Name@69) = null // through LazyPackageFragmentScopeForJavaPackage@70 + classes('C': Name@71) = null // through LazyPackageFragmentScopeForJavaPackage@70 + classes('Test1': Name@72) = null // through LazyPackageFragmentScopeForJavaPackage@70 + classes('nioho': Name@73) = null // through LazyPackageFragmentScopeForJavaPackage@70 + classes('test2': Name@74) = null // through LazyPackageFragmentScopeForJavaPackage@70 + deserializedPackageScope = Empty@65 // through LazyPackageFragmentScopeForJavaPackage@70 + functions('A': Name@69) = EmptyList@67[empty] // through LazyPackageFragmentScopeForJavaPackage@70 + functions('C': Name@71) = EmptyList@67[empty] // through LazyPackageFragmentScopeForJavaPackage@70 + functions('Test1': Name@72) = EmptyList@67[empty] // through LazyPackageFragmentScopeForJavaPackage@70 + functions('test2': Name@74) = EmptyList@67[empty] // through LazyPackageFragmentScopeForJavaPackage@70 + memberIndex = computeMemberIndex$1@75 // through LazyPackageFragmentScopeForJavaPackage@70 } -ResolutionTaskHolder@75 { - = ArrayList@76[1] { ResolutionCandidate@77 } - = ArrayList@78[1] { ResolutionCandidate@77 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@76 { + = ArrayList@77[1] { ResolutionCandidate@78 } + = ArrayList@79[1] { ResolutionCandidate@78 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@79 { - = ArrayList@80[1] { ResolutionCandidate@81 } - = ArrayList@82[1] { ResolutionCandidate@81 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@80 { + = ArrayList@81[1] { ResolutionCandidate@82 } + = ArrayList@83[1] { ResolutionCandidate@82 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@83 { - = ArrayList@84[1] { ResolutionCandidate@85 } - = ArrayList@86[1] { ResolutionCandidate@85 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@84 { + = ArrayList@85[1] { ResolutionCandidate@86 } + = ArrayList@87[1] { ResolutionCandidate@86 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@87 { - = ArrayList@88[1] { ResolutionCandidate@89 } - = ArrayList@90[1] { ResolutionCandidate@89 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@88 { + = ArrayList@89[1] { ResolutionCandidate@90 } + = ArrayList@91[1] { ResolutionCandidate@90 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@91 { - = ArrayList@92[1] { ResolutionCandidate@93 } - = ArrayList@94[1] { ResolutionCandidate@93 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@92 { + = ArrayList@93[1] { ResolutionCandidate@94 } + = ArrayList@95[1] { ResolutionCandidate@94 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@95 { - = ArrayList@96[1] { ResolutionCandidate@97 } - = ArrayList@98[1] { ResolutionCandidate@97 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@96 { + = ArrayList@97[1] { ResolutionCandidate@98 } + = ArrayList@99[1] { ResolutionCandidate@98 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@99 { - = ArrayList@100[1] { ResolutionCandidate@101 } - = ArrayList@102[1] { ResolutionCandidate@101 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@100 { + = ArrayList@101[1] { ResolutionCandidate@102 } + = ArrayList@103[1] { ResolutionCandidate@102 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@103 { - = ArrayList@104[1] { ResolutionCandidate@105 } - = ArrayList@106[1] { ResolutionCandidate@105 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@104 { + = ArrayList@105[1] { ResolutionCandidate@106 } + = ArrayList@107[1] { ResolutionCandidate@106 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@107 { - = ArrayList@108[1] { ResolutionCandidate@109 } - = ArrayList@110[1] { ResolutionCandidate@109 } - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@108 { + = ArrayList@109[1] { ResolutionCandidate@110 } + = ArrayList@111[1] { ResolutionCandidate@110 } + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } -ResolutionTaskHolder@111 { - = ArrayList@112[1] { ResolutionCandidate@113 } - = ArrayList@114[1] { ResolutionCandidate@113 } +ResolutionTaskHolder@112 { + = ArrayList@113[1] { ResolutionCandidate@114 } + = ArrayList@115[1] { ResolutionCandidate@114 } } -ResolutionTaskHolder@115 { - = ArrayList@116[1] { ResolutionCandidate@117 } - = ArrayList@118[1] { ResolutionCandidate@117 } +ResolutionTaskHolder@116 { + = ArrayList@117[1] { ResolutionCandidate@118 } + = ArrayList@119[1] { ResolutionCandidate@118 } } -ResolutionTaskHolder@119 { - = ArrayList@120[1] { ResolutionCandidate@121 } - = ArrayList@122[1] { ResolutionCandidate@121 } +ResolutionTaskHolder@120 { + = ArrayList@121[1] { ResolutionCandidate@122 } + = ArrayList@123[1] { ResolutionCandidate@122 } } -ResolutionTaskHolder@123 { - = ArrayList@124[1] { ResolutionCandidate@125 } - = ArrayList@126[1] { ResolutionCandidate@125 } +ResolutionTaskHolder@124 { + = ArrayList@125[1] { ResolutionCandidate@126 } + = ArrayList@127[1] { ResolutionCandidate@126 } } -ResolutionTaskHolder@127 { - = ArrayList@128[1] { ResolutionCandidate@129 } - = ArrayList@130[1] { ResolutionCandidate@129 } +ResolutionTaskHolder@128 { + = ArrayList@129[1] { ResolutionCandidate@130 } + = ArrayList@131[1] { ResolutionCandidate@130 } } -ResolutionTaskHolder@131 { - = ArrayList@132[1] { ResolutionCandidate@133 } - = ArrayList@134[1] { ResolutionCandidate@133 } +ResolutionTaskHolder@132 { + = ArrayList@133[1] { ResolutionCandidate@134 } + = ArrayList@135[1] { ResolutionCandidate@134 } } -ResolutionTaskHolder@135 { - = ArrayList@136[1] { ResolutionCandidate@137 } - = ArrayList@138[1] { ResolutionCandidate@137 } +ResolutionTaskHolder@136 { + = ArrayList@137[1] { ResolutionCandidate@138 } + = ArrayList@139[1] { ResolutionCandidate@138 } } -ResolutionTaskHolder@139 { - = ArrayList@140[1] { ResolutionCandidate@141 } - = ArrayList@142[1] { ResolutionCandidate@141 } +ResolutionTaskHolder@140 { + = ArrayList@141[1] { ResolutionCandidate@142 } + = ArrayList@143[1] { ResolutionCandidate@142 } } -ResolutionTaskHolder@143 { - = ArrayList@144[1] { ResolutionCandidate@145 } - = ArrayList@146[1] { ResolutionCandidate@145 } +ResolutionTaskHolder@144 { + = ArrayList@145[1] { ResolutionCandidate@146 } + = ArrayList@147[1] { ResolutionCandidate@146 } } -ResolutionTaskHolder@147 { - = ArrayList@148[1] { ResolutionCandidate@149 } - = ArrayList@150[1] { ResolutionCandidate@149 } -} - -ResolutionTaskHolder@151 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] +ResolutionTaskHolder@148 { + = ArrayList@149[1] { ResolutionCandidate@150 } + = ArrayList@151[1] { ResolutionCandidate@150 } } ResolutionTaskHolder@152 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@153 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@154 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@155 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@156 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@157 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@158 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@159 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@160 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@161 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } ResolutionTaskHolder@162 { - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] - = EmptyList@66[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] +} + +ResolutionTaskHolder@163 { + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] + = EmptyList@67[empty] } diff --git a/compiler/testData/diagnostics/tests/MultipleBounds.txt b/compiler/testData/diagnostics/tests/MultipleBounds.txt index d995f20bf6c..b23e4f4c882 100644 --- a/compiler/testData/diagnostics/tests/MultipleBounds.txt +++ b/compiler/testData/diagnostics/tests/MultipleBounds.txt @@ -69,6 +69,15 @@ package Jet87 { public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String } + internal trait G { + internal abstract val bal: kotlin.Double + internal abstract val bas: kotlin.Double + internal abstract val boo: kotlin.Double where X : Jet87.B + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String + } + internal final class Test { public constructor Test() public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean diff --git a/compiler/testData/renderer/Classes.kt b/compiler/testData/renderer/Classes.kt index a7af8495f9f..7f1078a545b 100644 --- a/compiler/testData/renderer/Classes.kt +++ b/compiler/testData/renderer/Classes.kt @@ -9,6 +9,9 @@ public open class TheClass [AnotherAnnotation] () { val shouldBeFinal: Int = 5 + val T.checkTypeParameterScope: Int get() = 6 + val checkTypeParameterScope2 = 6 + protected abstract fun foo() {} private class Inner {} @@ -40,6 +43,11 @@ public trait TwoUpperBounds where T : Number, T : Any // defined in rendererTest.TheClass //private final val privateVal: kotlin.Int defined in rendererTest.TheClass //internal final val shouldBeFinal: kotlin.Int defined in rendererTest.TheClass +//internal final val T.checkTypeParameterScope: kotlin.Int defined in rendererTest.TheClass +// defined in rendererTest.TheClass.checkTypeParameterScope +//internal final fun T.(): kotlin.Int defined in rendererTest.TheClass +//internal final val checkTypeParameterScope2: kotlin.Int defined in rendererTest.TheClass +// defined in rendererTest.TheClass.checkTypeParameterScope2 //protected abstract fun foo(): kotlin.Unit defined in rendererTest.TheClass //private final class Inner defined in rendererTest.TheClass //public constructor Inner() defined in rendererTest.TheClass.Inner diff --git a/compiler/testData/renderer/GlobalProperties.kt b/compiler/testData/renderer/GlobalProperties.kt index d2ebbad307e..d8403e609cc 100644 --- a/compiler/testData/renderer/GlobalProperties.kt +++ b/compiler/testData/renderer/GlobalProperties.kt @@ -25,5 +25,5 @@ get() {} //public fun kotlin.Int.(): kotlin.Int defined in rendererTest //kotlin.deprecated internal val deprecatedVal: kotlin.Int defined in rendererTest //public val T.extWithTwoUpperBounds: kotlin.Int where T : kotlin.Number defined in rendererTest -// defined in rendererTest +// defined in rendererTest.extWithTwoUpperBounds //public fun T.(): kotlin.Int defined in rendererTest