KtFile: 'simple.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,188): 'sealed interface MySealed {'
  null

KtDeclarationModifierList(78,84): 'sealed'
  null

KtClassBody(104,188): '{'
  null

KtClass(110,145): 'class Left(val x: String): MySealed'
  null

KtPrimaryConstructor(120,135): '(val x: String)'
  null

KtParameterList(120,135): '(val x: String)'
  null

KtParameter(121,134): 'val x: String'
  null

KtTypeReference(128,134): 'String'
  null

KtUserType(128,134): 'String'
  null

KtNameReferenceExpression(128,134): 'String'
  null

KtSuperTypeList(137,145): 'MySealed'
  null

KtSuperTypeEntry(137,145): 'MySealed'
  null

KtTypeReference(137,145): 'MySealed'
  null

KtUserType(137,145): 'MySealed'
  null

KtNameReferenceExpression(137,145): 'MySealed'
  null

KtClass(150,186): 'class Right(val y: String): MySealed'
  null

KtPrimaryConstructor(161,176): '(val y: String)'
  null

KtParameterList(161,176): '(val y: String)'
  null

KtParameter(162,175): 'val y: String'
  null

KtTypeReference(169,175): 'String'
  null

KtUserType(169,175): 'String'
  null

KtNameReferenceExpression(169,175): 'String'
  null

KtSuperTypeList(178,186): 'MySealed'
  null

KtSuperTypeEntry(178,186): 'MySealed'
  null

KtTypeReference(178,186): 'MySealed'
  null

KtUserType(178,186): 'MySealed'
  null

KtNameReferenceExpression(178,186): 'MySealed'
  null

KtNamedFunction(190,267): 'fun MySealed.getOrElse() = when (this) {'
  null

KtTypeReference(194,202): 'MySealed'
  null

KtUserType(194,202): 'MySealed'
  null

KtNameReferenceExpression(194,202): 'MySealed'
  null

KtParameterList(212,214): '()'
  null

KtWhenExpression(217,267): 'when (this) {'
  null

KtThisExpression(223,227): 'this'
  null

KtNameReferenceExpression(223,227): 'this'
  null

KtWhenEntry(235,247): 'is Left -> x'
  null

KtWhenConditionIsPattern(235,242): 'is Left'
  null

KtTypeReference(238,242): 'Left'
  null

KtUserType(238,242): 'Left'
  null

KtNameReferenceExpression(238,242): 'Left'
  null

KtNameReferenceExpression(246,247): '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(/getOrElse)
            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(252,265): 'is Right -> y'
  null

KtWhenConditionIsPattern(252,260): 'is Right'
  null

KtTypeReference(255,260): 'Right'
  null

KtUserType(255,260): 'Right'
  null

KtNameReferenceExpression(255,260): 'Right'
  null

KtNameReferenceExpression(264,265): '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(/getOrElse)
            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 = {}
