Skip to content

Commit

Permalink
Document ClassLike/FunctionLike conversions
Browse files Browse the repository at this point in the history
  • Loading branch information
chx committed Oct 19, 2024
1 parent 8eea230 commit c942198
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions doc/2_Usage_of_basic_components.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,12 @@ without the `PhpParser\Node\` prefix and `\` replaced with `_`. It also does not
It is possible to associate custom metadata with a node using the `setAttribute()` method. This data
can then be retrieved using `hasAttribute()`, `getAttribute()` and `getAttributes()`.

`ClassLike` and `FunctionLike` statements can be converted between each other easily because their
constructor `__construct($name, array $subNodes = [], array $attributes = [])` takes subnodes and
attributes both of which are easy to retrieve, for example if `$node instanceof FunctionLike` then
`new ClassMethod($someName, get_object_vars($node), $node->getAttributes())` will convert it into a
`ClassMethod`.

By default, the parser adds the `startLine`, `endLine`, `startTokenPos`, `endTokenPos`,
`startFilePos`, `endFilePos` and `comments` attributes. `comments` is an array of
`PhpParser\Comment[\Doc]` instances.
Expand Down

0 comments on commit c942198

Please sign in to comment.