[AA] Remove classifiers from non-static declared member scopes

- The semantics of a non-static declared member scope should be as
  follows: For a variable `c: C` of class type `C`, the declared member
  scope should contain all members `x` accessible as `c.x` (visibility
  notwithstanding) which are *also* explicitly declared in `C`.
- Classifiers are not accessible as properties of a variable `c`, only
  as static members of the class `C` itself, so non-static declared
  member scopes should not contain any classifiers.

^KT-61800
This commit is contained in:
Marco Pennekamp
2023-09-14 22:38:14 +02:00
committed by Space Team
parent 8b24baade9
commit 5679acbbdb
17 changed files with 200 additions and 159 deletions
@@ -2,10 +2,4 @@ fun foo(): kotlin.Int
val bar: kotlin.String
class C2
object O2
companion object
constructor()
@@ -119,93 +119,6 @@ KtKotlinPropertySymbol:
javaSetterName: null
setterDeprecationStatus: null
KtNamedClassOrObjectSymbol:
annotationsList: []
classIdIfNonLocal: test/C.C2
classKind: CLASS
companionObject: null
contextReceivers: []
isActual: false
isData: false
isExpect: false
isExternal: false
isFun: false
isInline: false
isInner: false
modality: FINAL
name: C2
origin: SOURCE
superTypes: [
KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any
]
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
annotationApplicableTargets: null
deprecationStatus: null
KtNamedClassOrObjectSymbol:
annotationsList: []
classIdIfNonLocal: test/C.O2
classKind: OBJECT
companionObject: null
contextReceivers: []
isActual: false
isData: false
isExpect: false
isExternal: false
isFun: false
isInline: false
isInner: false
modality: FINAL
name: O2
origin: SOURCE
superTypes: [
KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any
]
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
annotationApplicableTargets: null
deprecationStatus: null
KtNamedClassOrObjectSymbol:
annotationsList: []
classIdIfNonLocal: test/C.Companion
classKind: COMPANION_OBJECT
companionObject: null
contextReceivers: []
isActual: false
isData: false
isExpect: false
isExternal: false
isFun: false
isInline: false
isInner: false
modality: FINAL
name: Companion
origin: SOURCE
superTypes: [
KtUsualClassType:
annotationsList: []
ownTypeArguments: []
type: kotlin/Any
]
symbolKind: CLASS_MEMBER
typeParameters: []
visibility: Public
getContainingModule: KtSourceModule "Sources of main"
annotationApplicableTargets: null
deprecationStatus: null
KtConstructorSymbol:
annotationsList: []
callableIdIfNonLocal: null
@@ -12,6 +12,8 @@ public interface SuperInterface {
// FILE: SuperClass.java
public abstract class SuperClass implements SuperInterface {
public static class NestedSuperClass { }
@Override
public int getActualRandomNumber() {
return getRandomNumber();
@@ -26,6 +28,8 @@ public abstract class SuperClass implements SuperInterface {
// FILE: JavaClass.java
public class JavaClass extends SuperClass {
public static class NestedClass { }
public static int foo = 1;
public static String bar() {