trait Tlf\Lexer\Php\ClassMemberDirectives
Constants
Properties
-
`protected $_class_member_directives = [
'class_modifier'=> [ 'start'=>[ 'match''/(static|public|protected|private) /', 'rewind'=>1, 'previous.append''modifier'], 'buffer.clear'=>true, 'directive.stop_others'=>true, 'then :class_modifier'=>[ 'start'=>[ 'rewind'=>1, 'previous.append''modifier'], 'buffer.clear'=>true, 'directive.pop 1', 'stop', 'halt', ] ], 'then :separator'=>[ 'stop'=>[ 'rewind 1', 'previous.append''modifier'], 'forward 1', ], ], 'then :class_const', 'then :class_property', 'then :varchars'=>[ 'start'=>[ 'rewind'=>1, 'previous.append''modifier'], 'buffer.notin keyword', 'previous.set''method.name', 'previous.append'=>['class.name', 'method.definition'], 'stop', 'directive.pop 1', 'then :class_method', 'then :separator'=>[ 'stop'=>[ 'previous.append''method.definition'], ] ], ] ], 'then []'=>[ ':separator', ':class_const', ':class_property', ':class_method', ], ], 'stop'=>[ 'stop', 'rewind'=>1, ], ], 'class_method'=>[ 'start'=>[ 'match''(', 'previous.append''method.definition', 'rewind'=>1, 'ast.new'=>[ '_addto''methods', '_type''method', 'modifiers''_lexer:previous modifier', 'docblock''_lexer:unsetPrevious docblock', 'name''_lexer:unsetPrevious class.name', ], 'forward'=>1, 'buffer.clear'=>true, 'then :argslist_close', 'then :strings'=>[ 'start'=>[ 'previous.append''method.definition''method.arglist'], 'buffer.clear' ], 'stop'=>[ 'previous.append''method.definition''method.arglist'], 'buffer.clear'=>true, ], ], ] ], 'argslist_close'=>[ 'start'=>[ 'match' => ')', 'rewind 1', 'previous.append method.arglist', 'forward 1', 'previous.append method.definition', 'buffer.clear', 'stop', 'directive.pop 1', 'then :block' => [ 'start'=>[ 'rewind 1', 'buffer.clear', 'this:storeMethodDefinition', 'forward'=>1, 'buffer.clear true', 'then :block'=>[ 'stop'=>[ 'buffer.clear', ] ], 'then :block.stop'=>[ 'start'=>[ 'rewind'=>1, 'directive.pop 1', ] ], 'then :separator', 'then :strings'=>[ 'stop'=>[ 'buffer.clear'=>true, ] ], ], 'stop'=>[ 'directive.pop 2', 'ast.pop', 'buffer.clear'=>true, ], ], ], ], 'class_property'=>[ 'start'=>[ 'match''$', 'ast.new'=>[ '_addto''properties', '_type''property', 'modifiers''_lexer:previous modifier', 'docblock''_lexer:unsetPrevious docblock' ], 'rewind'=>1, 'buffer.clear true'=>true, 'forward'=>1, 'previous.append''property.declaration'], 'buffer.clear'=>true, 'then :varchars'=>[ 'start'=>[ capture property name 'rewind'=>1, 'previous.append''property.declaration'], 'ast.set''name', 'directive.pop 1', 'buffer.clear'=>true, 'then :separator'=>[ 'start'=>[ 'previous.append''property.declaration'], ], ], 'then :+equals'=>[ 'start'=>[ 'match''=', 'previous.append''property.declaration'], 'buffer.clear'=>true, 'then :separator'=>[ 'stop'=>[ 'rewind 1', 'previous.append''property.declaration'], 'forward 1', ], ], 'then :strings'=>[ 'stop'=>[ 'previous.append''property.declaration'], 'buffer.clear'=>true, ], ], 'then :+semicolon'=>[ 'start'=>[ 'match'';', 'previous.append''property.declaration'], 'rewind'=>1, 'ast.set'=>'declaration', 'this:setPropertyDeclaration', 'forward'=>1, 'buffer.clear'=>true, 'directive.pop'=>3, 'ast.pop'=>true, ] ] ] ], 'then :+semicolon'=>[ 'start'=>[ 'match'';', 'previous.append''property.declaration'], 'rewind'=>1, 'ast.set'=>'declaration', 'this:setPropertyDeclaration', 'forward'=>1, 'buffer.clear'=>true, 'directive.pop'=>2, 'ast.pop'=>true, ], ], ], ], ], ], 'class_const'=>[ 'stop'=>[ 'stop', 'rewind 1', ], 'start'=>[ 'match''const ', 'ast.new'=>[ '_type''const', '_addto''consts', 'docblock''_lexer:unsetPrevious docblock', 'definition''_token:buffer', 'modifiers''_lexer:unsetPrevious modifier', ], 'buffer.clear', 'then :varchars'=>[ catch the const's name 'start'=>[ 'rewind 1', 'buffer.notin keyword', 'ast.append''definition', 'ast.set''name', 'buffer.clear'=>true, 'directive.pop 1', 'stop', 'halt', 'then :+equals-forconst'=>[ 'start'=>[ 'match''=', 'ast.append''definition', 'buffer.clear', 'then :separator'=>[ 'stop'=>[ 'ast.append''definition', ], ], 'then :strings'=>[ 'start'=>[ 'buffer.clear', ], 'stop'=>[ 'ast.append''definition', 'buffer.clear', ], ], 'then :+semicolon'=>[ 'start'=>[ 'match'';', 'ast.append''definition', 'directive.pop 4', 'buffer.clear', ], ] ], 'stop'=>[ 'stop', 'rewind 1', ] ], ], ] ] ],
close the directive ];`