KtFile: 'main.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(24,34): 'import a.*'
  null

KtImportDirective(24,34): 'import a.*'
  null

KtNameReferenceExpression(31,32): 'a'
  null

KtClass(36,146): 'sealed interface MySealed {'
  null

KtDeclarationModifierList(36,42): 'sealed'
  null

KtClassBody(62,146): '{'
  null

KtClass(68,103): 'class Left(val x: String): MySealed'
  null

KtPrimaryConstructor(78,93): '(val x: String)'
  null

KtParameterList(78,93): '(val x: String)'
  null

KtParameter(79,92): 'val x: String'
  null

KtTypeReference(86,92): 'String'
  null

KtUserType(86,92): 'String'
  null

KtNameReferenceExpression(86,92): 'String'
  null

KtSuperTypeList(95,103): 'MySealed'
  null

KtSuperTypeEntry(95,103): 'MySealed'
  null

KtTypeReference(95,103): 'MySealed'
  null

KtUserType(95,103): 'MySealed'
  null

KtNameReferenceExpression(95,103): 'MySealed'
  null

KtClass(108,144): 'class Right(val y: String): MySealed'
  null

KtPrimaryConstructor(119,134): '(val y: String)'
  null

KtParameterList(119,134): '(val y: String)'
  null

KtParameter(120,133): 'val y: String'
  null

KtTypeReference(127,133): 'String'
  null

KtUserType(127,133): 'String'
  null

KtNameReferenceExpression(127,133): 'String'
  null

KtSuperTypeList(136,144): 'MySealed'
  null

KtSuperTypeEntry(136,144): 'MySealed'
  null

KtTypeReference(136,144): 'MySealed'
  null

KtUserType(136,144): 'MySealed'
  null

KtNameReferenceExpression(136,144): 'MySealed'
  null

KtNamedFunction(148,226): 'fun MySealed.getOrElse1() = when (this) {'
  null

KtTypeReference(152,160): 'MySealed'
  null

KtUserType(152,160): 'MySealed'
  null

KtNameReferenceExpression(152,160): 'MySealed'
  null

KtParameterList(171,173): '()'
  null

KtWhenExpression(176,226): 'when (this) {'
  null

KtThisExpression(182,186): 'this'
  null

KtNameReferenceExpression(182,186): 'this'
  null

KtWhenEntry(194,206): 'is Left -> x'
  null

KtWhenConditionIsPattern(194,201): 'is Left'
  null

KtTypeReference(197,201): 'Left'
  null

KtUserType(197,201): 'Left'
  null

KtNameReferenceExpression(197,201): 'Left'
  null

KtNameReferenceExpression(205,206): 'x'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaImplicitReceiverValue:
          symbol = 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(/getOrElse1)
            psi: KtTypeReference
            realPsi: KtTypeReference
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: MySealed
            typeParameters: []
            visibility: PUBLIC
          type = MySealed
        type = MySealed.Left
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = x
        receiverType = null
        returnType = kotlin.String
        symbol = val x: kotlin.String
        contextParameters = []
        callableId = /MySealed.Left.x
      typeArgumentsMapping = {}

KtWhenEntry(211,224): 'is Right -> y'
  null

KtWhenConditionIsPattern(211,219): 'is Right'
  null

KtTypeReference(214,219): 'Right'
  null

KtUserType(214,219): 'Right'
  null

KtNameReferenceExpression(214,219): 'Right'
  null

KtNameReferenceExpression(223,224): 'y'
  KaCallResolutionSuccess:
    call = KaSimpleVariableAccessCall:
      contextArguments = []
      dispatchReceiver = KaSmartCastedReceiverValue:
        original = KaImplicitReceiverValue:
          symbol = 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(/getOrElse1)
            psi: KtTypeReference
            realPsi: KtTypeReference
            receiverParameter: null
            returnType: KaUsualClassType:
              annotations: []
              typeArguments: []
              type: MySealed
            typeParameters: []
            visibility: PUBLIC
          type = MySealed
        type = MySealed.Right
      extensionReceiver = null
      isContextSensitive = false
      kind = Read
      signature = KaVariableSignature:
        name = y
        receiverType = null
        returnType = kotlin.String
        symbol = val y: kotlin.String
        contextParameters = []
        callableId = /MySealed.Right.y
      typeArgumentsMapping = {}

KtNamedFunction(228,301): 'fun Any.getOrElse2() = when (this) {'
  null

KtTypeReference(232,235): 'Any'
  null

KtUserType(232,235): 'Any'
  null

KtNameReferenceExpression(232,235): 'Any'
  null

KtParameterList(246,248): '()'
  null

KtWhenExpression(251,301): 'when (this) {'
  null

KtThisExpression(257,261): 'this'
  null

KtNameReferenceExpression(257,261): 'this'
  null

KtWhenEntry(269,281): 'is Left -> x'
  null

KtWhenConditionIsPattern(269,276): 'is Left'
  null

KtTypeReference(272,276): 'Left'
  null

KtUserType(272,276): 'Left'
  null

KtNameReferenceExpression(272,276): 'Left'
  null

KtNameReferenceExpression(280,281): 'x'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'x'.>

KtWhenEntry(286,299): 'is Right -> y'
  null

KtWhenConditionIsPattern(286,294): 'is Right'
  null

KtTypeReference(289,294): 'Right'
  null

KtUserType(289,294): 'Right'
  null

KtNameReferenceExpression(289,294): 'Right'
  null

KtNameReferenceExpression(298,299): 'y'
  KaCallResolutionError:
    candidateCalls = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'y'.>
