KtFile: 'positionalDestructuringFullForm.kt'
  null

KtPackageDirective(0,0): ''
  null

KtImportList(0,0): ''
  null

KtClass(0,89): '// LANGUAGE: +NameBasedDestructuring'
  null

KtDeclarationModifierList(37,41): 'data'
  null

KtPrimaryConstructor(53,89): '(val first: String, val second: Int)'
  null

KtParameterList(53,89): '(val first: String, val second: Int)'
  null

KtParameter(54,71): 'val first: String'
  null

KtTypeReference(65,71): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(65,71): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

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

KtParameter(73,88): 'val second: Int'
  null

KtTypeReference(85,88): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtUserType(85,88): 'Int'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNameReferenceExpression(85,88): 'Int'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Int
    ]

KtNamedFunction(91,243): 'fun declaration(x: Tuple) {'
  null

KtParameterList(106,116): '(x: Tuple)'
  null

KtParameter(107,115): 'x: Tuple'
  null

KtTypeReference(110,115): 'Tuple'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtUserType(110,115): 'Tuple'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtNameReferenceExpression(110,115): 'Tuple'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtBlockExpression(117,243): '{'
  null

KtIfExpression(123,165): 'if (true) { [val first, var second,] = x }'
  null

KtContainerNode(127,131): 'true'
  null

KtConstantExpression(127,131): 'true'
  null

KtContainerNodeForControlStructureBody(133,165): '{ [val first, var second,] = x }'
  null

KtBlockExpression(133,165): '{ [val first, var second,] = x }'
  null

KtDestructuringDeclaration(135,163): '[val first, var second,] = x'
  null

KtDestructuringDeclarationEntry(136,145): 'val first'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtDestructuringDeclarationEntry(147,157): 'var second'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component2(<dispatch receiver>: Tuple): kotlin.Int
    ]

KtNameReferenceExpression(162,163): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: Tuple
    ]

KtIfExpression(170,199): 'if (true) { [var first] = x }'
  null

KtContainerNode(174,178): 'true'
  null

KtConstantExpression(174,178): 'true'
  null

KtContainerNodeForControlStructureBody(180,199): '{ [var first] = x }'
  null

KtBlockExpression(180,199): '{ [var first] = x }'
  null

KtDestructuringDeclaration(182,197): '[var first] = x'
  null

KtDestructuringDeclarationEntry(183,192): 'var first'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtNameReferenceExpression(196,197): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: Tuple
    ]

KtIfExpression(204,241): 'if (true) { [val first: String] = x }'
  null

KtContainerNode(208,212): 'true'
  null

KtConstantExpression(208,212): 'true'
  null

KtContainerNodeForControlStructureBody(214,241): '{ [val first: String] = x }'
  null

KtBlockExpression(214,241): '{ [val first: String] = x }'
  null

KtDestructuringDeclaration(216,239): '[val first: String] = x'
  null

KtDestructuringDeclarationEntry(217,234): 'val first: String'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtTypeReference(228,234): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(228,234): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

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

KtNameReferenceExpression(238,239): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: Tuple
    ]

KtNamedFunction(245,384): 'fun loop(x: List<Tuple>) {'
  null

KtParameterList(253,269): '(x: List<Tuple>)'
  null

KtParameter(254,268): 'x: List<Tuple>'
  null

KtTypeReference(257,268): 'List<Tuple>'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/collections/List
    ]

KtUserType(257,268): 'List<Tuple>'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/collections/List
    ]

KtNameReferenceExpression(257,261): 'List'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/collections/List
    ]

KtTypeArgumentList(261,268): '<Tuple>'
  null

KtTypeProjection(262,267): 'Tuple'
  null

KtTypeReference(262,267): 'Tuple'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtUserType(262,267): 'Tuple'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtNameReferenceExpression(262,267): 'Tuple'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtBlockExpression(270,384): '{'
  null

KtForExpression(276,314): 'for ([val first, val second,] in x) {}'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/collections/List.iterator(<dispatch receiver>: kotlin.collections.List<E>): kotlin.collections.Iterator<E>,
      kotlin/collections/Iterator.hasNext(<dispatch receiver>: kotlin.collections.Iterator<T>): kotlin.Boolean,
      kotlin/collections/Iterator.next(<dispatch receiver>: kotlin.collections.Iterator<T>): T
    ]

KtParameter(281,305): '[val first, val second,]'
  null

KtDestructuringDeclaration(281,305): '[val first, val second,]'
  null

KtDestructuringDeclarationEntry(282,291): 'val first'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtDestructuringDeclarationEntry(293,303): 'val second'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component2(<dispatch receiver>: Tuple): kotlin.Int
    ]

KtContainerNode(309,310): 'x'
  null

KtNameReferenceExpression(309,310): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: kotlin.collections.List<Tuple>
    ]

KtContainerNodeForControlStructureBody(312,314): '{}'
  null

KtBlockExpression(312,314): '{}'
  null

KtForExpression(319,344): 'for ([val first] in x) {}'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/collections/List.iterator(<dispatch receiver>: kotlin.collections.List<E>): kotlin.collections.Iterator<E>,
      kotlin/collections/Iterator.hasNext(<dispatch receiver>: kotlin.collections.Iterator<T>): kotlin.Boolean,
      kotlin/collections/Iterator.next(<dispatch receiver>: kotlin.collections.Iterator<T>): T
    ]

KtParameter(324,335): '[val first]'
  null

KtDestructuringDeclaration(324,335): '[val first]'
  null

KtDestructuringDeclarationEntry(325,334): 'val first'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtContainerNode(339,340): 'x'
  null

KtNameReferenceExpression(339,340): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: kotlin.collections.List<Tuple>
    ]

KtContainerNodeForControlStructureBody(342,344): '{}'
  null

KtBlockExpression(342,344): '{}'
  null

KtForExpression(349,382): 'for ([val first: String] in x) {}'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/collections/List.iterator(<dispatch receiver>: kotlin.collections.List<E>): kotlin.collections.Iterator<E>,
      kotlin/collections/Iterator.hasNext(<dispatch receiver>: kotlin.collections.Iterator<T>): kotlin.Boolean,
      kotlin/collections/Iterator.next(<dispatch receiver>: kotlin.collections.Iterator<T>): T
    ]

KtParameter(354,373): '[val first: String]'
  null

KtDestructuringDeclaration(354,373): '[val first: String]'
  null

KtDestructuringDeclarationEntry(355,372): 'val first: String'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtTypeReference(366,372): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(366,372): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

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

KtContainerNode(377,378): 'x'
  null

KtNameReferenceExpression(377,378): 'x'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: true
  KaSymbolResolutionSuccess:
    symbols = [
      x: kotlin.collections.List<Tuple>
    ]

KtContainerNodeForControlStructureBody(380,382): '{}'
  null

KtBlockExpression(380,382): '{}'
  null

KtNamedFunction(386,540): 'fun lambda() {'
  null

KtParameterList(396,398): '()'
  null

KtBlockExpression(399,540): '{'
  null

KtNamedFunction(405,435): 'fun foo(f: (Tuple) -> Unit) {}'
  null

KtParameterList(412,432): '(f: (Tuple) -> Unit)'
  null

KtParameter(413,431): 'f: (Tuple) -> Unit'
  null

KtTypeReference(416,431): '(Tuple) -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function1
    ]

KtFunctionType(416,431): '(Tuple) -> Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Function1
    ]

KtParameterList(416,423): '(Tuple)'
  null

KtParameter(417,422): 'Tuple'
  null

KtTypeReference(417,422): 'Tuple'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtUserType(417,422): 'Tuple'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtNameReferenceExpression(417,422): 'Tuple'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple
    ]

KtTypeReference(427,431): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

KtUserType(427,431): 'Unit'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/Unit
    ]

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

KtBlockExpression(433,435): '{}'
  null

KtCallExpression(441,476): 'foo { [val first, val second,] -> }'
  KaSymbolResolutionSuccess:
    symbols = [
      foo(f: (Tuple) -> kotlin.Unit): kotlin.Unit
    ]

KtNameReferenceExpression(441,444): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo(f: (Tuple) -> kotlin.Unit): kotlin.Unit
    ]

KtLambdaArgument(445,476): '{ [val first, val second,] -> }'
  null

KtLambdaExpression(445,476): '{ [val first, val second,] -> }'
  null

KtFunctionLiteral(445,476): '{ [val first, val second,] -> }'
  null

KtParameterList(447,471): '[val first, val second,]'
  null

KtParameter(447,471): '[val first, val second,]'
  null

KtDestructuringDeclaration(447,471): '[val first, val second,]'
  null

KtDestructuringDeclarationEntry(448,457): 'val first'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtDestructuringDeclarationEntry(459,469): 'val second'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component2(<dispatch receiver>: Tuple): kotlin.Int
    ]

KtBlockExpression(475,475): ''
  null

KtCallExpression(481,503): 'foo { [val first] -> }'
  KaSymbolResolutionSuccess:
    symbols = [
      foo(f: (Tuple) -> kotlin.Unit): kotlin.Unit
    ]

KtNameReferenceExpression(481,484): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo(f: (Tuple) -> kotlin.Unit): kotlin.Unit
    ]

KtLambdaArgument(485,503): '{ [val first] -> }'
  null

KtLambdaExpression(485,503): '{ [val first] -> }'
  null

KtFunctionLiteral(485,503): '{ [val first] -> }'
  null

KtParameterList(487,498): '[val first]'
  null

KtParameter(487,498): '[val first]'
  null

KtDestructuringDeclaration(487,498): '[val first]'
  null

KtDestructuringDeclarationEntry(488,497): 'val first'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtBlockExpression(502,502): ''
  null

KtCallExpression(508,538): 'foo { [val first: String] -> }'
  KaSymbolResolutionSuccess:
    symbols = [
      foo(f: (Tuple) -> kotlin.Unit): kotlin.Unit
    ]

KtNameReferenceExpression(508,511): 'foo'
  isImplicitReferenceToCompanion: false
  contextSensitiveResolutionStatus: NotAvailable
  lookupLocally: false
  KaSymbolResolutionSuccess:
    symbols = [
      foo(f: (Tuple) -> kotlin.Unit): kotlin.Unit
    ]

KtLambdaArgument(512,538): '{ [val first: String] -> }'
  null

KtLambdaExpression(512,538): '{ [val first: String] -> }'
  null

KtFunctionLiteral(512,538): '{ [val first: String] -> }'
  null

KtParameterList(514,533): '[val first: String]'
  null

KtParameter(514,533): '[val first: String]'
  null

KtDestructuringDeclaration(514,533): '[val first: String]'
  null

KtDestructuringDeclarationEntry(515,532): 'val first: String'
  KaSymbolResolutionSuccess:
    symbols = [
      /Tuple.component1(<dispatch receiver>: Tuple): kotlin.String
    ]

KtTypeReference(526,532): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

KtUserType(526,532): 'String'
  KaSymbolResolutionSuccess:
    symbols = [
      kotlin/String
    ]

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

KtBlockExpression(537,537): ''
  null
