Skip to content

Instantly share code, notes, and snippets.

@kateinoigakukun
Created December 4, 2020 12:35
Show Gist options
  • Save kateinoigakukun/f678a540c25958a09e272add657c7a94 to your computer and use it in GitHub Desktop.
Save kateinoigakukun/f678a540c25958a09e272add657c7a94 to your computer and use it in GitHub Desktop.
(source_file "main.swift"
(func_decl range=[main.swift:1:1 - line:3:1] "copies(a:x:y:)" interface type='(inout [[Int]], Int, Int) -> ()' access=internal
(parameter_list
(parameter "a" apiName=a type='[[Int]]' interface type='[[Int]]' inout)
(parameter "x" apiName=x type='Int' interface type='Int')
(parameter "y" apiName=y type='Int' interface type='Int') range=[main.swift:1:12 - line:1:45])
(brace_stmt range=[main.swift:1:47 - line:3:1]
(assign_expr type='()' location=main.swift:2:13 range=[main.swift:2:5 - line:2:21]
(subscript_expr type='@lvalue Int' location=main.swift:2:9 range=[main.swift:2:5 - line:2:11] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> Int))] arg_labels=_:
(inout_expr implicit type='inout Array<Int>' location=main.swift:2:5 range=[main.swift:2:5 - line:2:8]
(subscript_expr type='@lvalue [Int]' location=main.swift:2:6 range=[main.swift:2:5 - line:2:8] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> [Int]))] arg_labels=_:
(inout_expr implicit type='inout Array<[Int]>' location=main.swift:2:5 range=[main.swift:2:5 - line:2:5]
(declref_expr type='@lvalue [[Int]]' location=main.swift:2:5 range=[main.swift:2:5 - line:2:5] decl=main.(file).copies(a:x:y:).a@main.swift:1:13 function_ref=unapplied))
(paren_expr type='(Int)' location=main.swift:2:7 range=[main.swift:2:6 - line:2:8]
(declref_expr type='Int' location=main.swift:2:7 range=[main.swift:2:7 - line:2:7] decl=main.(file).copies(a:x:y:).y@main.swift:1:39 function_ref=unapplied))))
(paren_expr type='(Int)' location=main.swift:2:10 range=[main.swift:2:9 - line:2:11]
(declref_expr type='Int' location=main.swift:2:10 range=[main.swift:2:10 - line:2:10] decl=main.(file).copies(a:x:y:).x@main.swift:1:31 function_ref=unapplied)))
(load_expr implicit type='Int' location=main.swift:2:19 range=[main.swift:2:15 - line:2:21]
(subscript_expr type='@lvalue Int' location=main.swift:2:19 range=[main.swift:2:15 - line:2:21] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> Int))] arg_labels=_:
(inout_expr implicit type='inout Array<Int>' location=main.swift:2:15 range=[main.swift:2:15 - line:2:18]
(subscript_expr type='@lvalue [Int]' location=main.swift:2:16 range=[main.swift:2:15 - line:2:18] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> [Int]))] arg_labels=_:
(inout_expr implicit type='inout Array<[Int]>' location=main.swift:2:15 range=[main.swift:2:15 - line:2:15]
(declref_expr type='@lvalue [[Int]]' location=main.swift:2:15 range=[main.swift:2:15 - line:2:15] decl=main.(file).copies(a:x:y:).a@main.swift:1:13 function_ref=unapplied))
(paren_expr type='(Int)' location=main.swift:2:17 range=[main.swift:2:16 - line:2:18]
(declref_expr type='Int' location=main.swift:2:17 range=[main.swift:2:17 - line:2:17] decl=main.(file).copies(a:x:y:).y@main.swift:1:39 function_ref=unapplied))))
(paren_expr type='(Int)' location=main.swift:2:20 range=[main.swift:2:19 - line:2:21]
(declref_expr type='Int' location=main.swift:2:20 range=[main.swift:2:20 - line:2:20] decl=main.(file).copies(a:x:y:).x@main.swift:1:31 function_ref=unapplied)))))))
(func_decl range=[main.swift:5:1 - line:8:1] "noCopies(a:x:y:)" interface type='(inout [[Int]], Int, Int) -> ()' access=internal
(parameter_list
(parameter "a" apiName=a type='[[Int]]' interface type='[[Int]]' inout)
(parameter "x" apiName=x type='Int' interface type='Int')
(parameter "y" apiName=y type='Int' interface type='Int') range=[main.swift:5:14 - line:5:47])
(brace_stmt range=[main.swift:5:49 - line:8:1]
(pattern_binding_decl range=[main.swift:6:5 - line:6:19]
(pattern_named type='Int' 't')
Original init:
(subscript_expr type='<null>' arg_labels=_:
(subscript_expr type='@lvalue [Int]' location=main.swift:6:14 range=[main.swift:6:13 - line:6:16] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> [Int]))] arg_labels=_:
(inout_expr implicit type='inout Array<[Int]>' location=main.swift:6:13 range=[main.swift:6:13 - line:6:13]
(declref_expr type='@lvalue [[Int]]' location=main.swift:6:13 range=[main.swift:6:13 - line:6:13] decl=main.(file).noCopies(a:x:y:).a@main.swift:5:15 function_ref=unapplied))
(paren_expr type='(Int)' location=main.swift:6:15 range=[main.swift:6:14 - line:6:16]
(declref_expr type='Int' location=main.swift:6:15 range=[main.swift:6:15 - line:6:15] decl=main.(file).noCopies(a:x:y:).y@main.swift:5:41 function_ref=unapplied)))
(paren_expr type='(Int)' location=main.swift:6:18 range=[main.swift:6:17 - line:6:19]
(declref_expr type='Int' location=main.swift:6:18 range=[main.swift:6:18 - line:6:18] decl=main.(file).noCopies(a:x:y:).x@main.swift:5:33 function_ref=unapplied)))
Processed init:
(load_expr implicit type='Int' location=main.swift:6:17 range=[main.swift:6:13 - line:6:19]
(subscript_expr type='@lvalue Int' location=main.swift:6:17 range=[main.swift:6:13 - line:6:19] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> Int))] arg_labels=_:
(inout_expr implicit type='inout Array<Int>' location=main.swift:6:13 range=[main.swift:6:13 - line:6:16]
(subscript_expr type='@lvalue [Int]' location=main.swift:6:14 range=[main.swift:6:13 - line:6:16] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> [Int]))] arg_labels=_:
(inout_expr implicit type='inout Array<[Int]>' location=main.swift:6:13 range=[main.swift:6:13 - line:6:13]
(declref_expr type='@lvalue [[Int]]' location=main.swift:6:13 range=[main.swift:6:13 - line:6:13] decl=main.(file).noCopies(a:x:y:).a@main.swift:5:15 function_ref=unapplied))
(paren_expr type='(Int)' location=main.swift:6:15 range=[main.swift:6:14 - line:6:16]
(declref_expr type='Int' location=main.swift:6:15 range=[main.swift:6:15 - line:6:15] decl=main.(file).noCopies(a:x:y:).y@main.swift:5:41 function_ref=unapplied))))
(paren_expr type='(Int)' location=main.swift:6:18 range=[main.swift:6:17 - line:6:19]
(declref_expr type='Int' location=main.swift:6:18 range=[main.swift:6:18 - line:6:18] decl=main.(file).noCopies(a:x:y:).x@main.swift:5:33 function_ref=unapplied)))))
(var_decl range=[main.swift:6:9 - line:6:9] "t" type='Int' interface type='Int' access=private let readImpl=stored immutable)
(assign_expr type='()' location=main.swift:7:13 range=[main.swift:7:5 - line:7:15]
(subscript_expr type='@lvalue Int' location=main.swift:7:9 range=[main.swift:7:5 - line:7:11] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> Int))] arg_labels=_:
(inout_expr implicit type='inout Array<Int>' location=main.swift:7:5 range=[main.swift:7:5 - line:7:8]
(subscript_expr type='@lvalue [Int]' location=main.swift:7:6 range=[main.swift:7:5 - line:7:8] decl=Swift.(file).Array extension.subscript(_:) [with (substitution_map generic_signature=<Element> (substitution Element -> [Int]))] arg_labels=_:
(inout_expr implicit type='inout Array<[Int]>' location=main.swift:7:5 range=[main.swift:7:5 - line:7:5]
(declref_expr type='@lvalue [[Int]]' location=main.swift:7:5 range=[main.swift:7:5 - line:7:5] decl=main.(file).noCopies(a:x:y:).a@main.swift:5:15 function_ref=unapplied))
(paren_expr type='(Int)' location=main.swift:7:7 range=[main.swift:7:6 - line:7:8]
(declref_expr type='Int' location=main.swift:7:7 range=[main.swift:7:7 - line:7:7] decl=main.(file).noCopies(a:x:y:).y@main.swift:5:41 function_ref=unapplied))))
(paren_expr type='(Int)' location=main.swift:7:10 range=[main.swift:7:9 - line:7:11]
(declref_expr type='Int' location=main.swift:7:10 range=[main.swift:7:10 - line:7:10] decl=main.(file).noCopies(a:x:y:).x@main.swift:5:33 function_ref=unapplied)))
(declref_expr type='Int' location=main.swift:7:15 range=[main.swift:7:15 - line:7:15] decl=main.(file).noCopies(a:x:y:).t@main.swift:6:9 function_ref=unapplied)))))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment