KtFile: 'elvisOperatorEnum.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(78,268): 'enum class MyEnum {'
  null

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(96,268): '{'
  null

KtEnumEntry(102,110): 'Option1,'
  null

KtEnumEntry(111,119): 'Option2,'
  null

KtEnumEntry(120,128): 'Option3;'
  null

KtObjectDeclaration(133,266): 'companion object {'
  null

KtDeclarationModifierList(133,142): 'companion'
  null

KtClassBody(150,266): '{'
  null

KtProperty(160,190): 'val enumProp: MyEnum = Option1'
  null

KtTypeReference(174,180): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(174,180): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(174,180): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(183,190): 'Option1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtProperty(199,226): 'val stringProp: String = ""'
  null

KtTypeReference(215,221): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(215,221): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtNameReferenceExpression(215,221): 'String'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtStringTemplateExpression(224,226): '""'
  null

KtNamedFunction(235,260): 'fun getOption() = Option1'
  null

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

KtNameReferenceExpression(253,260): 'Option1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtNamedFunction(270,293): 'fun <T>receive(e: T) {}'
  null

KtTypeParameterList(274,277): '<T>'
  null

KtTypeParameter(275,276): 'T'
  null

KtParameterList(284,290): '(e: T)'
  null

KtParameter(285,289): 'e: T'
  null

KtTypeReference(288,289): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtUserType(288,289): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtNameReferenceExpression(288,289): 'T'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtBlockExpression(291,293): '{}'
  null

KtProperty(294,330): 'val EnumOptionAlias = MyEnum.Option1'
  null

KtDotQualifiedExpression(316,330): 'MyEnum.Option1'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtNameReferenceExpression(316,322): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(323,330): 'Option1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtNamedFunction(332,742): 'fun testElvis() {'
  null

KtParameterList(345,347): '()'
  null

KtBlockExpression(348,742): '{'
  null

KtProperty(354,390): 'var i10: MyEnum = Option1 ?: Option2'
  null

KtTypeReference(363,369): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(363,369): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(363,369): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtBinaryExpression(372,390): 'Option1 ?: Option2'
  null

KtNameReferenceExpression(372,379): 'Option1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtOperationReferenceExpression(380,382): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(383,390): 'Option2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option2
    ]

KtProperty(395,432): 'var i11: MyEnum? = Option1 ?: Option2'
  null

KtTypeReference(404,411): 'MyEnum?'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNullableType(404,411): 'MyEnum?'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(404,410): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(404,410): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtBinaryExpression(414,432): 'Option1 ?: Option2'
  null

KtNameReferenceExpression(414,421): 'Option1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtOperationReferenceExpression(422,424): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(425,432): 'Option2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option2
    ]

KtProperty(437,474): 'var i20: MyEnum = enumProp ?: Option2'
  null

KtTypeReference(446,452): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(446,452): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(446,452): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtBinaryExpression(455,474): 'enumProp ?: Option2'
  null

KtNameReferenceExpression(455,463): 'enumProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val enumProp: MyEnum
    ]

KtOperationReferenceExpression(464,466): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(467,474): 'Option2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option2
    ]

KtProperty(479,519): 'var i30: MyEnum = enumProp ?: stringProp'
  null

KtTypeReference(488,494): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(488,494): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(488,494): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtBinaryExpression(497,519): 'enumProp ?: stringProp'
  null

KtNameReferenceExpression(497,505): 'enumProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val enumProp: MyEnum
    ]

KtOperationReferenceExpression(506,508): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(509,519): 'stringProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val stringProp: kotlin.String
    ]

KtProperty(524,564): 'var i40: MyEnum = stringProp ?: enumProp'
  null

KtTypeReference(533,539): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(533,539): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(533,539): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtBinaryExpression(542,564): 'stringProp ?: enumProp'
  null

KtNameReferenceExpression(542,552): 'stringProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val stringProp: kotlin.String
    ]

KtOperationReferenceExpression(553,555): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(556,564): 'enumProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val enumProp: MyEnum
    ]

KtProperty(569,610): 'var i50: MyEnum = getOption() ?: enumProp'
  null

KtTypeReference(578,584): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(578,584): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(578,584): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtBinaryExpression(587,610): 'getOption() ?: enumProp'
  null

KtCallExpression(587,598): 'getOption()'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'getOption'.>

KtNameReferenceExpression(587,596): 'getOption'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'getOption'.>

KtValueArgumentList(596,598): '()'
  null

KtOperationReferenceExpression(599,601): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(602,610): 'enumProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val enumProp: MyEnum
    ]

KtCallExpression(616,651): 'receive<MyEnum>(Option1 ?: Option2)'
  KaSymbolResolutionSuccess:
    symbols = [
      /receive(e: T): kotlin.Unit
    ]

KtNameReferenceExpression(616,623): 'receive'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /receive(e: T): kotlin.Unit
    ]

KtTypeArgumentList(623,631): '<MyEnum>'
  null

KtTypeProjection(624,630): 'MyEnum'
  null

KtTypeReference(624,630): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(624,630): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(624,630): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtValueArgumentList(631,651): '(Option1 ?: Option2)'
  null

KtValueArgument(632,650): 'Option1 ?: Option2'
  null

KtBinaryExpression(632,650): 'Option1 ?: Option2'
  null

KtNameReferenceExpression(632,639): 'Option1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option1
    ]

KtOperationReferenceExpression(640,642): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(643,650): 'Option2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.Option2
    ]

KtCallExpression(656,695): 'receive<MyEnum>(enumProp ?: stringProp)'
  KaSymbolResolutionError:
    candidateSymbols = [
      /receive(e: T): kotlin.Unit
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyEnum' was expected.>

KtNameReferenceExpression(656,663): 'receive'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = [
      /receive(e: T): kotlin.Unit
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyEnum' was expected.>

KtTypeArgumentList(663,671): '<MyEnum>'
  null

KtTypeProjection(664,670): 'MyEnum'
  null

KtTypeReference(664,670): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(664,670): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(664,670): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtValueArgumentList(671,695): '(enumProp ?: stringProp)'
  null

KtValueArgument(672,694): 'enumProp ?: stringProp'
  null

KtBinaryExpression(672,694): 'enumProp ?: stringProp'
  null

KtNameReferenceExpression(672,680): 'enumProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val enumProp: MyEnum
    ]

KtOperationReferenceExpression(681,683): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtNameReferenceExpression(684,694): 'stringProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val stringProp: kotlin.String
    ]

KtCallExpression(700,740): 'receive<MyEnum>(enumProp ?: getOption())'
  KaSymbolResolutionSuccess:
    symbols = [
      /receive(e: T): kotlin.Unit
    ]

KtNameReferenceExpression(700,707): 'receive'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /receive(e: T): kotlin.Unit
    ]

KtTypeArgumentList(707,715): '<MyEnum>'
  null

KtTypeProjection(708,714): 'MyEnum'
  null

KtTypeReference(708,714): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(708,714): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtNameReferenceExpression(708,714): 'MyEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtValueArgumentList(715,740): '(enumProp ?: getOption())'
  null

KtValueArgument(716,739): 'enumProp ?: getOption()'
  null

KtBinaryExpression(716,739): 'enumProp ?: getOption()'
  null

KtNameReferenceExpression(716,724): 'enumProp'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val enumProp: MyEnum
    ]

KtOperationReferenceExpression(725,727): '?:'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  null

KtCallExpression(728,739): 'getOption()'
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'getOption'.>

KtNameReferenceExpression(728,737): 'getOption'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionError:
    candidateSymbols = []
    diagnostic = ERROR<UNRESOLVED_REFERENCE: Unresolved reference 'getOption'.>

KtValueArgumentList(737,739): '()'
  null
