element: T2
implicit values:
  KaImplicitReceiver:
    scopeIndexInTower = 2
    type = KaUsualClassType:
      annotations: []
      typeArguments: []
      type: C
    ownerSymbol = KaNamedFunctionSymbol:
      /foo(<extension receiver>: C, param: kotlin.Int, param2: kotlin.String): kotlin.Unit
    label = foo


  KaScopeImplicitArgumentValue:
    scopeIndexInTower = 3
    type = KaUsualClassType:
      annotations: []
      typeArguments: []
      type: A
    symbol = KaContextParameterSymbol:
      a: A

scopes:
  TypeParameterScope, index = 0
    packages: 0
    classifiers: 2
      KaTypeParameterSymbol:
        anchorPsi: KtTypeParameter
        annotations: []
        isActual: false
        isExpect: false
        isExternal: false
        isReified: false
        location: LOCAL
        modality: FINAL
        name: T2
        origin: SOURCE
        psi: KtTypeParameter
        realPsi: KtTypeParameter
        upperBounds: []
        variance: INVARIANT
        visibility: LOCAL
      KaTypeParameterSymbol:
        anchorPsi: KtTypeParameter
        annotations: []
        isActual: false
        isExpect: false
        isExternal: false
        isReified: false
        location: LOCAL
        modality: FINAL
        name: T3
        origin: SOURCE
        psi: KtTypeParameter
        realPsi: KtTypeParameter
        upperBounds: []
        variance: INVARIANT
        visibility: LOCAL
    callables: 0
    constructors: 0

  LocalScope, index = 1
    packages: 0
    classifiers: 0
    callables: 0
    constructors: 0

  TypeScope, index = 2
    packages: 0
    classifiers: 0
    callables: 3
      KaNamedFunctionSymbol:
        anchorPsi: null
        annotations: []
        callableId: kotlin/Any.equals
        contextParameters: []
        contextReceivers: []
        contractEffects: []
        hasStableParameterNames: true
        isActual: false
        isBuiltinFunctionInvoke: false
        isCompanion: false
        isExpect: false
        isExtension: false
        isExternal: false
        isInfix: false
        isInline: false
        isOperator: true
        isOverride: false
        isStatic: false
        isSuspend: false
        isTailRec: false
        location: CLASS
        modality: OPEN
        name: equals
        origin: LIBRARY
        psi: null
        realPsi: null
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: kotlin/Boolean
        typeParameters: []
        valueParameters: [
          KaValueParameterSymbol:
            anchorPsi: null
            annotations: []
            callableId: null
            contextParameters: []
            contextReceivers: []
            hasDeclaredDefaultValue: false
            hasDefaultValue: false
            isActual: false
            isCompanion: false
            isCrossinline: false
            isDelegated: false
            isExpect: false
            isExtension: false
            isExternal: false
            isImplicitLambdaParameter: false
            isNoinline: false
            isVal: true
            isVararg: false
            location: LOCAL
            modality: FINAL
            name: other
            origin: LIBRARY
            primaryConstructorProperty: null
            psi: null
            realPsi: null
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: kotlin/Any?
            typeParameters: []
            visibility: PUBLIC
        ]
        visibility: PUBLIC
      KaNamedFunctionSymbol:
        anchorPsi: null
        annotations: []
        callableId: kotlin/Any.hashCode
        contextParameters: []
        contextReceivers: []
        contractEffects: []
        hasStableParameterNames: true
        isActual: false
        isBuiltinFunctionInvoke: false
        isCompanion: false
        isExpect: false
        isExtension: false
        isExternal: false
        isInfix: false
        isInline: false
        isOperator: false
        isOverride: false
        isStatic: false
        isSuspend: false
        isTailRec: false
        location: CLASS
        modality: OPEN
        name: hashCode
        origin: LIBRARY
        psi: null
        realPsi: null
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: kotlin/Int
        typeParameters: []
        valueParameters: []
        visibility: PUBLIC
      KaNamedFunctionSymbol:
        anchorPsi: null
        annotations: []
        callableId: kotlin/Any.toString
        contextParameters: []
        contextReceivers: []
        contractEffects: []
        hasStableParameterNames: true
        isActual: false
        isBuiltinFunctionInvoke: false
        isCompanion: false
        isExpect: false
        isExtension: false
        isExternal: false
        isInfix: false
        isInline: false
        isOperator: false
        isOverride: false
        isStatic: false
        isSuspend: false
        isTailRec: false
        location: CLASS
        modality: OPEN
        name: toString
        origin: LIBRARY
        psi: null
        realPsi: null
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: kotlin/String
        typeParameters: []
        valueParameters: []
        visibility: PUBLIC
    constructors: 1
      KaConstructorSymbol:
        anchorPsi: KtClass
        annotations: []
        callableId: null
        containingClassId: C
        contextParameters: []
        contextReceivers: []
        hasStableParameterNames: true
        isActual: false
        isCompanion: false
        isExpect: false
        isExtension: false
        isExternal: false
        isPrimary: true
        location: CLASS
        modality: FINAL
        origin: SOURCE_MEMBER_GENERATED
        psi: KtClass
        realPsi: null
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: C
        typeParameters: []
        valueParameters: []
        visibility: PUBLIC

  LocalScope, index = 4
    packages: 0
    classifiers: 0
    callables: 3
      KaContextParameterSymbol:
        anchorPsi: KtParameter
        annotations: []
        callableId: null
        contextParameters: []
        contextReceivers: []
        isActual: false
        isCompanion: false
        isDelegated: false
        isExpect: false
        isExtension: false
        isExternal: false
        isVal: true
        location: LOCAL
        modality: FINAL
        name: a
        origin: SOURCE
        psi: KtParameter
        realPsi: KtParameter
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: A
        typeParameters: []
        visibility: PUBLIC
      KaValueParameterSymbol:
        anchorPsi: KtParameter
        annotations: []
        callableId: null
        contextParameters: []
        contextReceivers: []
        hasDeclaredDefaultValue: false
        hasDefaultValue: false
        isActual: false
        isCompanion: false
        isCrossinline: false
        isDelegated: false
        isExpect: false
        isExtension: false
        isExternal: false
        isImplicitLambdaParameter: false
        isNoinline: false
        isVal: true
        isVararg: false
        location: LOCAL
        modality: FINAL
        name: param
        origin: SOURCE
        primaryConstructorProperty: null
        psi: KtParameter
        realPsi: KtParameter
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: kotlin/Int
        typeParameters: []
        visibility: PUBLIC
      KaValueParameterSymbol:
        anchorPsi: KtParameter
        annotations: []
        callableId: null
        contextParameters: []
        contextReceivers: []
        hasDeclaredDefaultValue: false
        hasDefaultValue: false
        isActual: false
        isCompanion: false
        isCrossinline: false
        isDelegated: false
        isExpect: false
        isExtension: false
        isExternal: false
        isImplicitLambdaParameter: false
        isNoinline: false
        isVal: true
        isVararg: false
        location: LOCAL
        modality: FINAL
        name: param2
        origin: SOURCE
        primaryConstructorProperty: null
        psi: KtParameter
        realPsi: KtParameter
        receiverParameter: null
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: kotlin/String
        typeParameters: []
        visibility: PUBLIC
    constructors: 0

  TypeParameterScope, index = 5
    packages: 0
    classifiers: 1
      KaTypeParameterSymbol:
        anchorPsi: KtTypeParameter
        annotations: []
        isActual: false
        isExpect: false
        isExternal: false
        isReified: false
        location: LOCAL
        modality: FINAL
        name: T1
        origin: SOURCE
        psi: KtTypeParameter
        realPsi: KtTypeParameter
        upperBounds: []
        variance: INVARIANT
        visibility: LOCAL
    callables: 0
    constructors: 0

  ExplicitSimpleImportingScope, index = 6
    packages: 0
    classifiers: 0
    callables: 0
    constructors: 0

  PackageMemberScope, index = 7
    packages: 6
      KaPackageSymbol:
        anchorPsi: PsiPackage(META-INF)
        fqName: META-INF
        location: TOP_LEVEL
        origin: SOURCE
        psi: PsiPackage(META-INF)
        realPsi: PsiPackage(META-INF)
      KaPackageSymbol:
        anchorPsi: PsiPackage(java)
        fqName: java
        location: TOP_LEVEL
        origin: SOURCE
        psi: PsiPackage(java)
        realPsi: PsiPackage(java)
      KaPackageSymbol:
        anchorPsi: PsiPackage(javax)
        fqName: javax
        location: TOP_LEVEL
        origin: SOURCE
        psi: PsiPackage(javax)
        realPsi: PsiPackage(javax)
      KaPackageSymbol:
        anchorPsi: PsiPackage(kotlin)
        fqName: kotlin
        location: TOP_LEVEL
        origin: SOURCE
        psi: PsiPackage(kotlin)
        realPsi: PsiPackage(kotlin)
      KaPackageSymbol:
        anchorPsi: PsiPackage(org)
        fqName: org
        location: TOP_LEVEL
        origin: SOURCE
        psi: PsiPackage(org)
        realPsi: PsiPackage(org)
      KaPackageSymbol:
        anchorPsi: PsiPackage(sun)
        fqName: sun
        location: TOP_LEVEL
        origin: SOURCE
        psi: PsiPackage(sun)
        realPsi: PsiPackage(sun)
    classifiers: 4
      KaNamedClassSymbol:
        anchorPsi: KtClass
        annotations: []
        classId: A
        classKind: CLASS
        companionObject: null
        contextReceivers: []
        isActual: false
        isData: false
        isExpect: false
        isExternal: false
        isFun: false
        isInline: false
        isInner: false
        location: TOP_LEVEL
        modality: FINAL
        name: A
        origin: SOURCE
        psi: KtClass
        realPsi: KtClass
        superTypes: [
          KaUsualClassType:
            annotations: []
            typeArguments: []
            type: kotlin/Any
        ]
        typeParameters: []
        visibility: PUBLIC
      KaNamedClassSymbol:
        anchorPsi: KtClass
        annotations: []
        classId: B
        classKind: CLASS
        companionObject: null
        contextReceivers: []
        isActual: false
        isData: false
        isExpect: false
        isExternal: false
        isFun: false
        isInline: false
        isInner: false
        location: TOP_LEVEL
        modality: FINAL
        name: B
        origin: SOURCE
        psi: KtClass
        realPsi: KtClass
        superTypes: [
          KaUsualClassType:
            annotations: []
            typeArguments: []
            type: kotlin/Any
        ]
        typeParameters: []
        visibility: PUBLIC
      KaNamedClassSymbol:
        anchorPsi: KtClass
        annotations: []
        classId: C
        classKind: CLASS
        companionObject: null
        contextReceivers: []
        isActual: false
        isData: false
        isExpect: false
        isExternal: false
        isFun: false
        isInline: false
        isInner: false
        location: TOP_LEVEL
        modality: FINAL
        name: C
        origin: SOURCE
        psi: KtClass
        realPsi: KtClass
        superTypes: [
          KaUsualClassType:
            annotations: []
            typeArguments: []
            type: kotlin/Any
        ]
        typeParameters: []
        visibility: PUBLIC
      KaNamedClassSymbol:
        anchorPsi: KtClass
        annotations: []
        classId: D
        classKind: CLASS
        companionObject: null
        contextReceivers: []
        isActual: false
        isData: false
        isExpect: false
        isExternal: false
        isFun: false
        isInline: false
        isInner: false
        location: TOP_LEVEL
        modality: FINAL
        name: D
        origin: SOURCE
        psi: KtClass
        realPsi: KtClass
        superTypes: [
          KaUsualClassType:
            annotations: []
            typeArguments: []
            type: kotlin/Any
        ]
        typeParameters: []
        visibility: PUBLIC
    callables: 1
      KaNamedFunctionSymbol:
        anchorPsi: KtNamedFunction
        annotations: []
        callableId: /foo
        contextParameters: [
          KaContextParameterSymbol:
            anchorPsi: KtParameter
            annotations: []
            callableId: null
            contextParameters: []
            contextReceivers: []
            isActual: false
            isCompanion: false
            isDelegated: false
            isExpect: false
            isExtension: false
            isExternal: false
            isVal: true
            location: LOCAL
            modality: FINAL
            name: a
            origin: SOURCE
            psi: KtParameter
            realPsi: KtParameter
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: A
            typeParameters: []
            visibility: PUBLIC
        ]
        contextReceivers: [
          KaContextReceiver:
            label: a
            type: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: A
        ]
        contractEffects: []
        hasStableParameterNames: true
        isActual: false
        isBuiltinFunctionInvoke: false
        isCompanion: false
        isExpect: false
        isExtension: true
        isExternal: false
        isInfix: false
        isInline: false
        isOperator: false
        isOverride: false
        isStatic: false
        isSuspend: false
        isTailRec: false
        location: TOP_LEVEL
        modality: FINAL
        name: foo
        origin: SOURCE
        psi: KtNamedFunction
        realPsi: KtNamedFunction
        receiverParameter: KaReceiverParameterSymbol:
          anchorPsi: KtTypeReference
          annotations: []
          callableId: null
          contextParameters: []
          contextReceivers: []
          isActual: false
          isCompanion: false
          isDelegated: false
          isExpect: false
          isExtension: false
          isExternal: false
          isVal: true
          location: LOCAL
          modality: FINAL
          name: <receiver>
          origin: SOURCE
          owningCallableSymbol: KaNamedFunctionSymbol(/foo)
          psi: KtTypeReference
          realPsi: KtTypeReference
          receiverParameter: null
          returnType: KaUsualClassType:
            annotations: []
            typeArguments: []
            type: C
          typeParameters: []
          visibility: PUBLIC
        returnType: KaUsualClassType:
          annotations: []
          typeArguments: []
          type: kotlin/Unit
        typeParameters: [
          KaTypeParameterSymbol:
            anchorPsi: KtTypeParameter
            annotations: []
            isActual: false
            isExpect: false
            isExternal: false
            isReified: false
            location: LOCAL
            modality: FINAL
            name: T1
            origin: SOURCE
            psi: KtTypeParameter
            realPsi: KtTypeParameter
            upperBounds: []
            variance: INVARIANT
            visibility: LOCAL
        ]
        valueParameters: [
          KaValueParameterSymbol:
            anchorPsi: KtParameter
            annotations: []
            callableId: null
            contextParameters: []
            contextReceivers: []
            hasDeclaredDefaultValue: false
            hasDefaultValue: false
            isActual: false
            isCompanion: false
            isCrossinline: false
            isDelegated: false
            isExpect: false
            isExtension: false
            isExternal: false
            isImplicitLambdaParameter: false
            isNoinline: false
            isVal: true
            isVararg: false
            location: LOCAL
            modality: FINAL
            name: param
            origin: SOURCE
            primaryConstructorProperty: null
            psi: KtParameter
            realPsi: KtParameter
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: kotlin/Int
            typeParameters: []
            visibility: PUBLIC
          KaValueParameterSymbol:
            anchorPsi: KtParameter
            annotations: []
            callableId: null
            contextParameters: []
            contextReceivers: []
            hasDeclaredDefaultValue: false
            hasDefaultValue: false
            isActual: false
            isCompanion: false
            isCrossinline: false
            isDelegated: false
            isExpect: false
            isExtension: false
            isExternal: false
            isImplicitLambdaParameter: false
            isNoinline: false
            isVal: true
            isVararg: false
            location: LOCAL
            modality: FINAL
            name: param2
            origin: SOURCE
            primaryConstructorProperty: null
            psi: KtParameter
            realPsi: KtParameter
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: kotlin/String
            typeParameters: []
            visibility: PUBLIC
        ]
        visibility: PUBLIC
    constructors: 0

  DefaultSimpleImportingScope, index = 8

  DefaultSimpleImportingScope, index = 9

  ExplicitStarImportingScope, index = 10
    packages: 0
    classifiers: 0
    callables: 0
    constructors: 0

  DefaultStarImportingScope, index = 11
