Skip to content

Commit

Permalink
Add grammar for readonly classes
Browse files Browse the repository at this point in the history
Signed-off-by: Nathanael Esayeas <nathanael.esayeas@protonmail.com>
  • Loading branch information
ghostwriter authored and nikic committed Mar 7, 2024
1 parent 287f3d0 commit ca697b4
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
14 changes: 12 additions & 2 deletions spec/14-classes.md
Expand Up @@ -60,11 +60,16 @@ While PHP supports *anonymous class types*, such a type cannot be declared using

<!-- GRAMMAR
class-declaration:
class-modifier? 'class' name class-base-clause? class-interface-clause? '{' class-member-declarations? '}'
class-modifiers? 'class' name class-base-clause? class-interface-clause? '{' class-member-declarations? '}'
class-modifiers:
class-modifier
class-modifiers class-modifier
class-modifier:
'abstract'
'final'
'readonly'
class-base-clause:
'extends' qualified-name
Expand All @@ -76,11 +81,16 @@ class-interface-clause:

<pre>
<i id="grammar-class-declaration">class-declaration:</i>
<i><a href="#grammar-class-modifier">class-modifier</a></i><sub>opt</sub> class <i><a href="09-lexical-structure.md#grammar-name">name</a></i> <i><a href="#grammar-class-base-clause">class-base-clause</a></i><sub>opt</sub> <i><a href="#grammar-class-interface-clause">class-interface-clause</a></i><sub>opt</sub> { <i><a href="#grammar-class-member-declarations">class-member-declarations</a></i><sub>opt</sub> }
<i><a href="#grammar-class-modifiers">class-modifiers</a></i><sub>opt</sub> class <i><a href="09-lexical-structure.md#grammar-name">name</a></i> <i><a href="#grammar-class-base-clause">class-base-clause</a></i><sub>opt</sub> <i><a href="#grammar-class-interface-clause">class-interface-clause</a></i><sub>opt</sub> { <i><a href="#grammar-class-member-declarations">class-member-declarations</a></i><sub>opt</sub> }

<i id="grammar-class-modifiers">class-modifiers:</i>
<i><a href="#grammar-class-modifier">class-modifier</a></i>
<i><a href="#grammar-class-modifiers">class-modifiers</a></i> <i><a href="#grammar-class-modifier">class-modifier</a></i>

<i id="grammar-class-modifier">class-modifier:</i>
abstract
final
readonly

<i id="grammar-class-base-clause">class-base-clause:</i>
extends <i><a href="09-lexical-structure.md#grammar-qualified-name">qualified-name</a></i>
Expand Down
7 changes: 6 additions & 1 deletion spec/19-grammar.md
Expand Up @@ -964,11 +964,16 @@ The grammar notation is described in [Grammars section](09-lexical-structure.md#

<pre>
<i id="grammar-class-declaration">class-declaration:</i>
<i><a href="#grammar-class-modifier">class-modifier</a></i><sub>opt</sub> class <i><a href="#grammar-name">name</a></i> <i><a href="#grammar-class-base-clause">class-base-clause</a></i><sub>opt</sub> <i><a href="#grammar-class-interface-clause">class-interface-clause</a></i><sub>opt</sub> { <i><a href="#grammar-class-member-declarations">class-member-declarations</a></i><sub>opt</sub> }
<i><a href="#grammar-class-modifiers">class-modifiers</a></i><sub>opt</sub> class <i><a href="#grammar-name">name</a></i> <i><a href="#grammar-class-base-clause">class-base-clause</a></i><sub>opt</sub> <i><a href="#grammar-class-interface-clause">class-interface-clause</a></i><sub>opt</sub> { <i><a href="#grammar-class-member-declarations">class-member-declarations</a></i><sub>opt</sub> }

<i id="grammar-class-modifiers">class-modifiers:</i>
<i><a href="#grammar-class-modifier">class-modifier</a></i>
<i><a href="#grammar-class-modifiers">class-modifiers</a></i> <i><a href="#grammar-class-modifier">class-modifier</a></i>

<i id="grammar-class-modifier">class-modifier:</i>
abstract
final
readonly

<i id="grammar-class-base-clause">class-base-clause:</i>
extends <i><a href="#grammar-qualified-name">qualified-name</a></i>
Expand Down

0 comments on commit ca697b4

Please sign in to comment.