expression: a
KtType: Outer<kotlin.String>.A<kotlin.Int>

KtTypeScope:
KtFunctionLikeSignature:
  receiverType = null
  returnType = kotlin.collections.Map<kotlin.Int, kotlin.collections.Map<Y, kotlin.String>>
  symbol = /Outer.A.foo(<dispatch receiver>: Outer.A<X, O>, x: X, y: Y): kotlin.collections.Map<X, kotlin.collections.Map<Y, O>>
  valueParameters = [
    KtVariableLikeSignature:
      name = x
      receiverType = null
      returnType = kotlin.Int
      symbol = x: X
      callableIdIfNonLocal = null,
    KtVariableLikeSignature:
      name = y
      receiverType = null
      returnType = Y
      symbol = y: Y
      callableIdIfNonLocal = null
  ]
  callableIdIfNonLocal = /Outer.A.foo
KtVariableLikeSignature:
  name = map
  receiverType = null
  returnType = kotlin.collections.Map<kotlin.Int, kotlin.String>
  symbol = val map: kotlin.collections.Map<X, O>
  callableIdIfNonLocal = /Outer.A.map
KtFunctionLikeSignature:
  receiverType = null
  returnType = kotlin.String
  symbol = /Outer.A.fromSuper(<dispatch receiver>: Outer.A<X, O>): O
  valueParameters = []
  callableIdIfNonLocal = /Outer.A.fromSuper
KtFunctionLikeSignature:
  receiverType = null
  returnType = kotlin.Boolean
  symbol = kotlin/Any.equals(<dispatch receiver>: kotlin.Any, other: kotlin.Any?): kotlin.Boolean
  valueParameters = [
    KtVariableLikeSignature:
      name = other
      receiverType = null
      returnType = kotlin.Any?
      symbol = other: kotlin.Any?
      callableIdIfNonLocal = null
  ]
  callableIdIfNonLocal = kotlin/Any.equals
KtFunctionLikeSignature:
  receiverType = null
  returnType = kotlin.Int
  symbol = kotlin/Any.hashCode(<dispatch receiver>: kotlin.Any): kotlin.Int
  valueParameters = []
  callableIdIfNonLocal = kotlin/Any.hashCode
KtFunctionLikeSignature:
  receiverType = null
  returnType = kotlin.String
  symbol = kotlin/Any.toString(<dispatch receiver>: kotlin.Any): kotlin.String
  valueParameters = []
  callableIdIfNonLocal = kotlin/Any.toString


Declaration Scope:
KtFunctionSymbol:
  annotationsList: []
  callableIdIfNonLocal: /Outer.A.foo
  contextReceivers: []
  hasStableParameterNames: true
  isBuiltinFunctionInvoke: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: false
  isOverride: false
  isStatic: false
  isSuspend: false
  modality: FINAL
  name: foo
  origin: SOURCE
  receiverType: null
  returnType: kotlin/collections/Map<X, kotlin/collections/Map<Y, O>>
  symbolKind: CLASS_MEMBER
  typeParameters: [
    KtTypeParameterSymbol(Y)
  ]
  valueParameters: [
    KtValueParameterSymbol(x)
    KtValueParameterSymbol(y)
  ]
  visibility: Public
KtKotlinPropertySymbol:
  annotationsList: []
  callableIdIfNonLocal: /Outer.A.map
  contextReceivers: []
  getter: KtPropertyGetterSymbol(<getter>)
  hasBackingField: true
  hasGetter: true
  hasSetter: false
  initializer: null
  isConst: false
  isDelegatedProperty: false
  isExtension: false
  isFromPrimaryConstructor: false
  isLateInit: false
  isOverride: false
  isStatic: false
  isVal: true
  modality: FINAL
  name: map
  origin: SOURCE
  receiverType: null
  returnType: kotlin/collections/Map<X, O>
  setter: null
  symbolKind: CLASS_MEMBER
  typeParameters: []
  visibility: Public
KtFunctionSymbol:
  annotationsList: []
  callableIdIfNonLocal: /Outer.A.fromSuper
  contextReceivers: []
  hasStableParameterNames: true
  isBuiltinFunctionInvoke: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: false
  isOverride: false
  isStatic: false
  isSuspend: false
  modality: ABSTRACT
  name: fromSuper
  origin: SUBSTITUTION_OVERRIDE
  receiverType: null
  returnType: O
  symbolKind: CLASS_MEMBER
  typeParameters: []
  valueParameters: []
  visibility: Public
KtFunctionSymbol:
  annotationsList: []
  callableIdIfNonLocal: kotlin/Any.equals
  contextReceivers: []
  hasStableParameterNames: true
  isBuiltinFunctionInvoke: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: true
  isOverride: false
  isStatic: false
  isSuspend: false
  modality: OPEN
  name: equals
  origin: LIBRARY
  receiverType: null
  returnType: kotlin/Boolean
  symbolKind: CLASS_MEMBER
  typeParameters: []
  valueParameters: [
    KtValueParameterSymbol(other)
  ]
  visibility: Public
KtFunctionSymbol:
  annotationsList: []
  callableIdIfNonLocal: kotlin/Any.hashCode
  contextReceivers: []
  hasStableParameterNames: true
  isBuiltinFunctionInvoke: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: false
  isOverride: false
  isStatic: false
  isSuspend: false
  modality: OPEN
  name: hashCode
  origin: LIBRARY
  receiverType: null
  returnType: kotlin/Int
  symbolKind: CLASS_MEMBER
  typeParameters: []
  valueParameters: []
  visibility: Public
KtFunctionSymbol:
  annotationsList: []
  callableIdIfNonLocal: kotlin/Any.toString
  contextReceivers: []
  hasStableParameterNames: true
  isBuiltinFunctionInvoke: false
  isExtension: false
  isExternal: false
  isInfix: false
  isInline: false
  isOperator: false
  isOverride: false
  isStatic: false
  isSuspend: false
  modality: OPEN
  name: toString
  origin: LIBRARY
  receiverType: null
  returnType: kotlin/String
  symbolKind: CLASS_MEMBER
  typeParameters: []
  valueParameters: []
  visibility: Public

