| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- First-class callables
- -----
- <?php
- foo(...);
- $this->foo(...);
- A::foo(...);
- // These are invalid, but accepted on the parser level.
- new Foo(...);
- $this?->foo(...);
- #[Foo(...)]
- function foo() {}
- -----
- !!php7
- array(
- 0: Stmt_Expression(
- expr: Expr_FuncCall(
- name: Name(
- parts: array(
- 0: foo
- )
- )
- args: array(
- 0: VariadicPlaceholder(
- )
- )
- )
- )
- 1: Stmt_Expression(
- expr: Expr_MethodCall(
- var: Expr_Variable(
- name: this
- )
- name: Identifier(
- name: foo
- )
- args: array(
- 0: VariadicPlaceholder(
- )
- )
- )
- )
- 2: Stmt_Expression(
- expr: Expr_StaticCall(
- class: Name(
- parts: array(
- 0: A
- )
- )
- name: Identifier(
- name: foo
- )
- args: array(
- 0: VariadicPlaceholder(
- )
- )
- )
- )
- 3: Stmt_Expression(
- expr: Expr_New(
- class: Name(
- parts: array(
- 0: Foo
- )
- )
- args: array(
- 0: VariadicPlaceholder(
- )
- )
- comments: array(
- 0: // These are invalid, but accepted on the parser level.
- )
- )
- comments: array(
- 0: // These are invalid, but accepted on the parser level.
- )
- )
- 4: Stmt_Expression(
- expr: Expr_NullsafeMethodCall(
- var: Expr_Variable(
- name: this
- )
- name: Identifier(
- name: foo
- )
- args: array(
- 0: VariadicPlaceholder(
- )
- )
- )
- )
- 5: Stmt_Function(
- attrGroups: array(
- 0: AttributeGroup(
- attrs: array(
- 0: Attribute(
- name: Name(
- parts: array(
- 0: Foo
- )
- )
- args: array(
- 0: VariadicPlaceholder(
- )
- )
- )
- )
- )
- )
- byRef: false
- name: Identifier(
- name: foo
- )
- params: array(
- )
- returnType: null
- stmts: array(
- )
- )
- )
|