Class: Mayu::Resources::Transformers::Haml::StateAndPropsTransformer
- Inherits:
-
Object
- Object
- Mayu::Resources::Transformers::Haml::StateAndPropsTransformer
- Includes:
- SyntaxTree::DSL
- Defined in:
- lib/mayu/resources/transformers/haml.rb
Constant Summary collapse
- COLLECTIONS =
{ SyntaxTree::IVar => "state", SyntaxTree::GVar => "props" }
Instance Method Summary collapse
Instance Method Details
#visitor ⇒ Object
882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 |
# File 'lib/mayu/resources/transformers/haml.rb', line 882 def visitor MutationVisitor.build do |visitor| visitor.mutate( "VarRef[value: GVar[value: /\\A\\$\\w+/]]" ) { |var_ref| aref(var_ref.value) } visitor.mutate( "Assign[target: VarField[value: GVar]]" ) do |assign| assign => { target: { target: { value: var_name } } } loc = assign.target.location raise "Can not write to prop #{var_name} on line #{loc.start_line} col #{loc.start_column}" end visitor.mutate("VarRef[value: IVar]") do |var_ref| aref(var_ref.value) end # visitor.mutate( # "OpAssign[target: VarField[value: IVar]]" # ) do |assign| # assign.copy(target: aref_field(assign.target.value)) # end # # visitor.mutate( # "Assign[target: VarField[value: IVar]]" # ) do |assign| # assign.copy(target: aref_field(assign.target.value)) # end end end |