KtFile: 'lambdaEnum.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

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

KtDeclarationModifierList(78,82): 'enum'
  null

KtClassBody(96,223): '{'
  null

KtEnumEntry(102,113): 'EnumValue1,'
  null

KtEnumEntry(114,125): 'EnumValue2;'
  null

KtObjectDeclaration(131,221): 'companion object {'
  null

KtDeclarationModifierList(131,140): 'companion'
  null

KtClassBody(148,221): '{'
  null

KtProperty(158,185): 'val EnumValue3 = EnumValue1'
  null

KtNameReferenceExpression(175,185): 'EnumValue1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.EnumValue1
    ]

KtProperty(194,215): 'val prop: String = ""'
  null

KtTypeReference(204,210): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(204,210): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

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

KtStringTemplateExpression(213,215): '""'
  null

KtNamedFunction(225,317): 'fun testLambda(lEnum: (arg: MyEnum) -> Unit) {'
  null

KtParameterList(239,269): '(lEnum: (arg: MyEnum) -> Unit)'
  null

KtParameter(240,268): 'lEnum: (arg: MyEnum) -> Unit'
  null

KtTypeReference(247,268): '(arg: MyEnum) -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function1
    ]

KtFunctionType(247,268): '(arg: MyEnum) -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function1
    ]

KtParameterList(247,260): '(arg: MyEnum)'
  null

KtParameter(248,259): 'arg: MyEnum'
  null

KtTypeReference(253,259): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(253,259): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtTypeReference(264,268): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

KtUserType(264,268): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

KtNameReferenceExpression(264,268): 'Unit'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

KtBlockExpression(270,317): '{'
  null

KtCallExpression(276,293): 'lEnum(EnumValue1)'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function1.invoke(<dispatch receiver>: (P1) -> R, p1: P1): R
    ]

KtNameReferenceExpression(276,281): 'lEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      lEnum: (@R|kotlin.ParameterName|(name = String(arg))  MyEnum) -> kotlin.Unit
    ]

KtValueArgumentList(281,293): '(EnumValue1)'
  null

KtValueArgument(282,292): 'EnumValue1'
  null

KtNameReferenceExpression(282,292): 'EnumValue1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.EnumValue1
    ]

KtCallExpression(298,315): 'lEnum(EnumValue2)'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function1.invoke(<dispatch receiver>: (P1) -> R, p1: P1): R
    ]

KtNameReferenceExpression(298,303): 'lEnum'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      lEnum: (@R|kotlin.ParameterName|(name = String(arg))  MyEnum) -> kotlin.Unit
    ]

KtValueArgumentList(303,315): '(EnumValue2)'
  null

KtValueArgument(304,314): 'EnumValue2'
  null

KtNameReferenceExpression(304,314): 'EnumValue2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum.EnumValue2
    ]

KtNamedFunction(319,354): 'fun <T>receiveLambda(l: () -> T) {}'
  null

KtTypeParameterList(323,326): '<T>'
  null

KtTypeParameter(324,325): 'T'
  null

KtParameterList(339,351): '(l: () -> T)'
  null

KtParameter(340,350): 'l: () -> T'
  null

KtTypeReference(343,350): '() -> T'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0
    ]

KtFunctionType(343,350): '() -> T'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0
    ]

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

KtTypeReference(349,350): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

KtUserType(349,350): 'T'
  KaSymbolResolutionSuccess:
    symbols = [
      T
    ]

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

KtBlockExpression(352,354): '{}'
  null

KtNamedFunction(356,501): 'fun testReceivedLambda() {'
  null

KtParameterList(378,380): '()'
  null

KtBlockExpression(381,501): '{'
  null

KtCallExpression(387,423): 'receiveLambda<MyEnum> { EnumValue1 }'
  KaSymbolResolutionSuccess:
    symbols = [
      /receiveLambda(l: () -> T): kotlin.Unit
    ]

KtNameReferenceExpression(387,400): 'receiveLambda'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /receiveLambda(l: () -> T): kotlin.Unit
    ]

KtTypeArgumentList(400,408): '<MyEnum>'
  null

KtTypeProjection(401,407): 'MyEnum'
  null

KtTypeReference(401,407): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(401,407): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtLambdaArgument(409,423): '{ EnumValue1 }'
  null

KtLambdaExpression(409,423): '{ EnumValue1 }'
  null

KtFunctionLiteral(409,423): '{ EnumValue1 }'
  null

KtBlockExpression(411,421): 'EnumValue1'
  null

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

KtCallExpression(428,464): 'receiveLambda<MyEnum> { EnumValue3 }'
  KaSymbolResolutionSuccess:
    symbols = [
      /receiveLambda(l: () -> T): kotlin.Unit
    ]

KtNameReferenceExpression(428,441): 'receiveLambda'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /receiveLambda(l: () -> T): kotlin.Unit
    ]

KtTypeArgumentList(441,449): '<MyEnum>'
  null

KtTypeProjection(442,448): 'MyEnum'
  null

KtTypeReference(442,448): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(442,448): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtLambdaArgument(450,464): '{ EnumValue3 }'
  null

KtLambdaExpression(450,464): '{ EnumValue3 }'
  null

KtFunctionLiteral(450,464): '{ EnumValue3 }'
  null

KtBlockExpression(452,462): 'EnumValue3'
  null

KtNameReferenceExpression(452,462): 'EnumValue3'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val EnumValue3: MyEnum
    ]

KtCallExpression(469,499): 'receiveLambda<MyEnum> { prop }'
  KaSymbolResolutionError:
    candidateSymbols = [
      /receiveLambda(l: () -> T): kotlin.Unit
    ]
    diagnostic = ERROR<ARGUMENT_TYPE_MISMATCH: Argument type mismatch: actual type is 'String', but 'MyEnum' was expected.>

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

KtTypeArgumentList(482,490): '<MyEnum>'
  null

KtTypeProjection(483,489): 'MyEnum'
  null

KtTypeReference(483,489): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

KtUserType(483,489): 'MyEnum'
  KaSymbolResolutionSuccess:
    symbols = [
      /MyEnum
    ]

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

KtLambdaArgument(491,499): '{ prop }'
  null

KtLambdaExpression(491,499): '{ prop }'
  null

KtFunctionLiteral(491,499): '{ prop }'
  null

KtBlockExpression(493,497): 'prop'
  null

KtNameReferenceExpression(493,497): 'prop'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: Used
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      val prop: kotlin.String
    ]
