Created
July 13, 2018 22:11
-
-
Save dan-zheng/e21ca8e1858012baf1feea7c2c35d5e8 to your computer and use it in GitHub Desktop.
Swift struct stored property
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ swiftc -dump-ast stored.swift | |
(source_file | |
(struct_decl range=[stored.swift:1:1 - line:3:1] "Model" interface type='Model.Type' access=internal non-resilient | |
(pattern_binding_decl range=[stored.swift:2:3 - line:2:10] | |
(pattern_typed type='Float' | |
(pattern_named type='Float' 'w') | |
(type_ident | |
(component id='Float' bind=Swift.(file).Float)))) | |
(var_decl range=[stored.swift:2:7 - line:2:7] "w" type='Float' interface type='Float' access=internal storage_kind=stored_with_trivial_accessors | |
(accessor_decl implicit range=[stored.swift:2:7 - line:2:7] 'anonname=0x7f83f5055fd0' interface type='(Model) -> () -> Float' access=internal get_for=w | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model') range=[stored.swift:2:7 - line:2:7]) | |
(parameter_list) | |
(brace_stmt implicit range=[stored.swift:2:7 - line:2:7] | |
(return_stmt implicit | |
(member_ref_expr implicit type='Float' decl=stored.(file)[email protected]:2:7 direct_to_storage | |
(declref_expr implicit type='Model' decl=stored.(file).Model.<anonymous>[email protected]:2:7 function_ref=unapplied))))) | |
(accessor_decl implicit range=[stored.swift:2:7 - line:2:7] 'anonname=0x7f83f5056238' interface type='(inout Model) -> (Float) -> ()' access=internal set_for=w | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model' inout) range=[stored.swift:2:7 - line:2:7]) | |
(parameter_list | |
(parameter "value" type='Float' interface type='Float') range=[stored.swift:2:7 - line:2:7]) | |
(brace_stmt implicit range=[stored.swift:2:7 - line:2:7] | |
(assign_expr | |
(member_ref_expr implicit type='@lvalue Float' accessKind=write decl=stored.(file)[email protected]:2:7 direct_to_storage | |
(declref_expr implicit type='@lvalue Model' accessKind=readwrite decl=stored.(file).Model.<anonymous>[email protected]:2:7 function_ref=unapplied)) | |
(declref_expr implicit type='Float' decl=stored.(file).Model.<anonymous>[email protected]:2:7 function_ref=unapplied)))) | |
(accessor_decl implicit range=[stored.swift:2:7 - line:2:7] 'anonname=0x7f83f5057d00' interface type='(inout Model) -> (Builtin.RawPointer, inout Builtin.UnsafeValueBuffer) -> (Builtin.RawPointer, Builtin.RawPointer?)' access=internal materializeForSet_for=w | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model' inout) range=[stored.swift:2:7 - line:2:7]) | |
(parameter_list | |
(parameter "buffer" type='Builtin.RawPointer' interface type='Builtin.RawPointer') | |
(parameter "callbackStorage" type='Builtin.UnsafeValueBuffer' interface type='Builtin.UnsafeValueBuffer' inout) range=[stored.swift:2:7 - line:2:7]))) | |
(accessor_decl implicit range=[stored.swift:2:7 - line:2:7] 'anonname=0x7f83f5055fd0' interface type='(Model) -> () -> Float' access=internal get_for=w | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model') range=[stored.swift:2:7 - line:2:7]) | |
(parameter_list) | |
(brace_stmt implicit range=[stored.swift:2:7 - line:2:7] | |
(return_stmt implicit | |
(member_ref_expr implicit type='Float' decl=stored.(file)[email protected]:2:7 direct_to_storage | |
(declref_expr implicit type='Model' decl=stored.(file).Model.<anonymous>[email protected]:2:7 function_ref=unapplied))))) | |
(accessor_decl implicit range=[stored.swift:2:7 - line:2:7] 'anonname=0x7f83f5056238' interface type='(inout Model) -> (Float) -> ()' access=internal set_for=w | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model' inout) range=[stored.swift:2:7 - line:2:7]) | |
(parameter_list | |
(parameter "value" type='Float' interface type='Float') range=[stored.swift:2:7 - line:2:7]) | |
(brace_stmt implicit range=[stored.swift:2:7 - line:2:7] | |
(assign_expr | |
(member_ref_expr implicit type='@lvalue Float' accessKind=write decl=stored.(file)[email protected]:2:7 direct_to_storage | |
(declref_expr implicit type='@lvalue Model' accessKind=readwrite decl=stored.(file).Model.<anonymous>[email protected]:2:7 function_ref=unapplied)) | |
(declref_expr implicit type='Float' decl=stored.(file).Model.<anonymous>[email protected]:2:7 function_ref=unapplied)))) | |
(accessor_decl implicit range=[stored.swift:2:7 - line:2:7] 'anonname=0x7f83f5057d00' interface type='(inout Model) -> (Builtin.RawPointer, inout Builtin.UnsafeValueBuffer) -> (Builtin.RawPointer, Builtin.RawPointer?)' access=internal materializeForSet_for=w | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model' inout) range=[stored.swift:2:7 - line:2:7]) | |
(parameter_list | |
(parameter "buffer" type='Builtin.RawPointer' interface type='Builtin.RawPointer') | |
(parameter "callbackStorage" type='Builtin.UnsafeValueBuffer' interface type='Builtin.UnsafeValueBuffer' inout) range=[stored.swift:2:7 - line:2:7])) | |
(constructor_decl implicit range=[stored.swift:1:8 - line:1:8] "init(w:)" interface type='(Model.Type) -> (Float) -> Model' access=internal designated | |
(parameter_list | |
(parameter "self" type='Model' interface type='Model' inout) range=[stored.swift:1:8 - line:1:8]) | |
(parameter_list | |
(parameter "w" apiName=w type='Float' interface type='Float') range=[stored.swift:1:8 - line:1:8])))) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct Model { | |
var w: Float | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment