KtFile: 'main.kt'
  null

KtPackageDirective(103,115): 'package main'
  null

KtNameReferenceExpression(111,115): 'main'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      main
    ]

KtImportList(117,234): 'import kotlin.contracts.ExperimentalContracts'
  null

KtImportDirective(117,162): 'import kotlin.contracts.ExperimentalContracts'
  null

KtDotQualifiedExpression(124,162): 'kotlin.contracts.ExperimentalContracts'
  null

KtDotQualifiedExpression(124,140): 'kotlin.contracts'
  null

KtNameReferenceExpression(124,130): 'kotlin'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin
    ]

KtNameReferenceExpression(131,140): 'contracts'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin.contracts
    ]

KtNameReferenceExpression(141,162): 'ExperimentalContracts'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ExperimentalContracts
    ]

KtImportDirective(163,201): 'import kotlin.contracts.InvocationKind'
  null

KtDotQualifiedExpression(170,201): 'kotlin.contracts.InvocationKind'
  null

KtDotQualifiedExpression(170,186): 'kotlin.contracts'
  null

KtNameReferenceExpression(170,176): 'kotlin'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin
    ]

KtNameReferenceExpression(177,186): 'contracts'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin.contracts
    ]

KtNameReferenceExpression(187,201): 'InvocationKind'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind
    ]

KtImportDirective(202,234): 'import kotlin.contracts.contract'
  null

KtDotQualifiedExpression(209,234): 'kotlin.contracts.contract'
  null

KtDotQualifiedExpression(209,225): 'kotlin.contracts'
  null

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

KtNameReferenceExpression(216,225): 'contracts'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin.contracts
    ]

KtNameReferenceExpression(226,234): 'contract'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/contract(builder: kotlin.contracts.ContractBuilder.() -> kotlin.Unit): kotlin.Unit
    ]

KtNamedFunction(236,507): '@OptIn(ExperimentalContracts::class)'
  null

KtDeclarationModifierList(236,272): '@OptIn(ExperimentalContracts::class)'
  null

KtAnnotationEntry(236,272): '@OptIn(ExperimentalContracts::class)'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(vararg markerClass: kotlin.reflect.KClass<out kotlin.Annotation>): kotlin.OptIn
    ]

KtConstructorCalleeExpression(237,242): 'OptIn'
  KaSymbolResolutionSuccess:
    symbols = [
      <constructor>(vararg markerClass: kotlin.reflect.KClass<out kotlin.Annotation>): kotlin.OptIn
    ]

KtTypeReference(237,242): 'OptIn'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/OptIn
    ]

KtUserType(237,242): 'OptIn'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/OptIn
    ]

KtNameReferenceExpression(237,242): 'OptIn'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/OptIn
    ]

KtValueArgumentList(242,272): '(ExperimentalContracts::class)'
  null

KtValueArgument(243,271): 'ExperimentalContracts::class'
  null

KtClassLiteralExpression(243,271): 'ExperimentalContracts::class'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ExperimentalContracts
    ]

KtNameReferenceExpression(243,264): 'ExperimentalContracts'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ExperimentalContracts
    ]

KtParameterList(282,322): '(block1: () -> Unit, block2: () -> Unit)'
  null

KtParameter(283,301): 'block1: () -> Unit'
  null

KtTypeReference(291,301): '() -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0
    ]

KtFunctionType(291,301): '() -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0
    ]

KtParameterList(291,293): '()'
  null

KtTypeReference(297,301): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

KtUserType(297,301): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

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

KtParameter(303,321): 'block2: () -> Unit'
  null

KtTypeReference(311,321): '() -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0
    ]

KtFunctionType(311,321): '() -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0
    ]

KtParameterList(311,313): '()'
  null

KtTypeReference(317,321): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

KtUserType(317,321): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

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

KtBlockExpression(323,507): '{'
  null

KtCallExpression(329,478): 'contract {'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/contract(builder: kotlin.contracts.ContractBuilder.() -> kotlin.Unit): kotlin.Unit
    ]

KtNameReferenceExpression(329,337): 'contract'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/contract(builder: kotlin.contracts.ContractBuilder.() -> kotlin.Unit): kotlin.Unit
    ]

KtLambdaArgument(338,478): '{'
  null

KtLambdaExpression(338,478): '{'
  null

KtFunctionLiteral(338,478): '{'
  null

KtBlockExpression(348,472): 'callsInPlace(block1, InvocationKind.EXACTLY_ONCE)'
  null

KtCallExpression(348,397): 'callsInPlace(block1, InvocationKind.EXACTLY_ONCE)'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ContractBuilder.callsInPlace(<dispatch receiver>: kotlin.contracts.ContractBuilder, lambda: kotlin.Function<R>, kind: kotlin.contracts.InvocationKind): kotlin.contracts.CallsInPlace
    ]

KtNameReferenceExpression(348,360): 'callsInPlace'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ContractBuilder.callsInPlace(<dispatch receiver>: kotlin.contracts.ContractBuilder, lambda: kotlin.Function<R>, kind: kotlin.contracts.InvocationKind): kotlin.contracts.CallsInPlace
    ]

KtValueArgumentList(360,397): '(block1, InvocationKind.EXACTLY_ONCE)'
  null

KtValueArgument(361,367): 'block1'
  null

KtNameReferenceExpression(361,367): 'block1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      block1: () -> kotlin.Unit
    ]

KtValueArgument(369,396): 'InvocationKind.EXACTLY_ONCE'
  null

KtDotQualifiedExpression(369,396): 'InvocationKind.EXACTLY_ONCE'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind.EXACTLY_ONCE
    ]

KtNameReferenceExpression(369,383): 'InvocationKind'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind
    ]

KtNameReferenceExpression(384,396): 'EXACTLY_ONCE'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind.EXACTLY_ONCE
    ]

KtCallExpression(406,472): 'callsInPlace(block2, kotlin.contracts.InvocationKind.EXACTLY_ONCE)'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ContractBuilder.callsInPlace(<dispatch receiver>: kotlin.contracts.ContractBuilder, lambda: kotlin.Function<R>, kind: kotlin.contracts.InvocationKind): kotlin.contracts.CallsInPlace
    ]

KtNameReferenceExpression(406,418): 'callsInPlace'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/ContractBuilder.callsInPlace(<dispatch receiver>: kotlin.contracts.ContractBuilder, lambda: kotlin.Function<R>, kind: kotlin.contracts.InvocationKind): kotlin.contracts.CallsInPlace
    ]

KtValueArgumentList(418,472): '(block2, kotlin.contracts.InvocationKind.EXACTLY_ONCE)'
  null

KtValueArgument(419,425): 'block2'
  null

KtNameReferenceExpression(419,425): 'block2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      block2: () -> kotlin.Unit
    ]

KtValueArgument(427,471): 'kotlin.contracts.InvocationKind.EXACTLY_ONCE'
  null

KtDotQualifiedExpression(427,471): 'kotlin.contracts.InvocationKind.EXACTLY_ONCE'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind.EXACTLY_ONCE
    ]

KtDotQualifiedExpression(427,458): 'kotlin.contracts.InvocationKind'
  null

KtDotQualifiedExpression(427,443): 'kotlin.contracts'
  null

KtNameReferenceExpression(427,433): 'kotlin'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin
    ]

KtNameReferenceExpression(434,443): 'contracts'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin.contracts
    ]

KtNameReferenceExpression(444,458): 'InvocationKind'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind
    ]

KtNameReferenceExpression(459,471): 'EXACTLY_ONCE'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/contracts/InvocationKind.EXACTLY_ONCE
    ]

KtCallExpression(484,492): 'block1()'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0.invoke(<dispatch receiver>: () -> R): R
    ]

KtNameReferenceExpression(484,490): 'block1'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      block1: () -> kotlin.Unit
    ]

KtValueArgumentList(490,492): '()'
  null

KtCallExpression(497,505): 'block2()'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function0.invoke(<dispatch receiver>: () -> R): R
    ]

KtNameReferenceExpression(497,503): 'block2'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      block2: () -> kotlin.Unit
    ]

KtValueArgumentList(503,505): '()'
  null
