Skip to content

Commit 51fc0ea

Browse files
[PHP 8.4] Add class constant types for Reflection (#4244)
1 parent a78c729 commit 51fc0ea

File tree

6 files changed

+148
-28
lines changed

6 files changed

+148
-28
lines changed

reference/reflection/reflectionattribute.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,10 @@
8080
<variablelist>
8181

8282
<varlistentry xml:id="reflectionattribute.constants.is-instanceof">
83-
<term><constant>ReflectionAttribute::IS_INSTANCEOF</constant></term>
83+
<term>
84+
<constant>ReflectionAttribute::IS_INSTANCEOF</constant>
85+
<type>int</type>
86+
</term>
8487
<listitem>
8588
<para>
8689
Retrieve attributes using an
@@ -112,6 +115,12 @@
112115
</row>
113116
</thead>
114117
<tbody>
118+
<row>
119+
<entry>8.4.0</entry>
120+
<entry>
121+
All class constants are now typed.
122+
</entry>
123+
</row>
115124
<row>
116125
<entry>8.4.0</entry>
117126
<entry>

reference/reflection/reflectionclass.xml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,10 @@
115115
<variablelist>
116116

117117
<varlistentry xml:id="reflectionclass.constants.is-implicit-abstract">
118-
<term><constant>ReflectionClass::IS_IMPLICIT_ABSTRACT</constant></term>
118+
<term>
119+
<constant>ReflectionClass::IS_IMPLICIT_ABSTRACT</constant>
120+
<type>int</type>
121+
</term>
119122
<listitem>
120123
<para>
121124
Indicates the class is <link linkend="language.oop5.abstract">
@@ -125,7 +128,10 @@
125128
</varlistentry>
126129

127130
<varlistentry xml:id="reflectionclass.constants.is-explicit-abstract">
128-
<term><constant>ReflectionClass::IS_EXPLICIT_ABSTRACT</constant></term>
131+
<term>
132+
<constant>ReflectionClass::IS_EXPLICIT_ABSTRACT</constant>
133+
<type>int</type>
134+
</term>
129135
<listitem>
130136
<para>
131137
Indicates the class is <link linkend="language.oop5.abstract">
@@ -135,7 +141,10 @@
135141
</varlistentry>
136142

137143
<varlistentry xml:id="reflectionclass.constants.is-final">
138-
<term><constant>ReflectionClass::IS_FINAL</constant></term>
144+
<term>
145+
<constant>ReflectionClass::IS_FINAL</constant>
146+
<type>int</type>
147+
</term>
139148
<listitem>
140149
<para>
141150
Indicates the class is <link linkend="language.oop5.final">final</link>.
@@ -144,7 +153,10 @@
144153
</varlistentry>
145154

146155
<varlistentry xml:id="reflectionclass.constants.is-readonly">
147-
<term><constant>ReflectionClass::IS_READONLY</constant></term>
156+
<term>
157+
<constant>ReflectionClass::IS_READONLY</constant>
158+
<type>int</type>
159+
</term>
148160
<listitem>
149161
<para>
150162
Indicates the class is <link linkend="language.oop5.basic.class.readonly">readonly</link>.
@@ -153,7 +165,10 @@
153165
</varlistentry>
154166

155167
<varlistentry xml:id="reflectionclass.constants.skip-initialization-on-serialize">
156-
<term><constant>ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE</constant></term>
168+
<term>
169+
<constant>ReflectionClass::SKIP_INITIALIZATION_ON_SERIALIZE</constant>
170+
<type>int</type>
171+
</term>
157172
<listitem>
158173
<simpara>
159174
Indicates that <function>serialize</function> should not trigger
@@ -163,7 +178,10 @@
163178
</varlistentry>
164179

165180
<varlistentry xml:id="reflectionclass.constants.skip-destructor">
166-
<term><constant>ReflectionClass::SKIP_DESTRUCTOR</constant></term>
181+
<term>
182+
<constant>ReflectionClass::SKIP_DESTRUCTOR</constant>
183+
<type>int</type>
184+
</term>
167185
<listitem>
168186
<simpara>
169187
Indicates an object destructor should not be called when resetting it as
@@ -188,6 +206,12 @@
188206
</row>
189207
</thead>
190208
<tbody>
209+
<row>
210+
<entry>8.4.0</entry>
211+
<entry>
212+
The class constants are now typed.
213+
</entry>
214+
</row>
191215
<row>
192216
<entry>8.0.0</entry>
193217
<entry>

reference/reflection/reflectionclassconstant.xml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,10 @@
116116
<variablelist>
117117

118118
<varlistentry xml:id="reflectionclassconstant.constants.is-public">
119-
<term><constant>ReflectionClassConstant::IS_PUBLIC</constant></term>
119+
<term>
120+
<constant>ReflectionClassConstant::IS_PUBLIC</constant>
121+
<type>int</type>
122+
</term>
120123
<listitem>
121124
<para>
122125
Indicates <link linkend="language.oop5.visibility">public</link>
@@ -127,7 +130,10 @@
127130
</varlistentry>
128131

129132
<varlistentry xml:id="reflectionclassconstant.constants.is-protected">
130-
<term><constant>ReflectionClassConstant::IS_PROTECTED</constant></term>
133+
<term>
134+
<constant>ReflectionClassConstant::IS_PROTECTED</constant>
135+
<type>int</type>
136+
</term>
131137
<listitem>
132138
<para>
133139
Indicates <link linkend="language.oop5.visibility">protected</link>
@@ -138,7 +144,10 @@
138144
</varlistentry>
139145

140146
<varlistentry xml:id="reflectionclassconstant.constants.is-private">
141-
<term><constant>ReflectionClassConstant::IS_PRIVATE</constant></term>
147+
<term>
148+
<constant>ReflectionClassConstant::IS_PRIVATE</constant>
149+
<type>int</type>
150+
</term>
142151
<listitem>
143152
<para>
144153
Indicates <link linkend="language.oop5.visibility">private</link>
@@ -149,7 +158,10 @@
149158
</varlistentry>
150159

151160
<varlistentry xml:id="reflectionclassconstant.constants.is-final">
152-
<term><constant>ReflectionClassConstant::IS_FINAL</constant></term>
161+
<term>
162+
<constant>ReflectionClassConstant::IS_FINAL</constant>
163+
<type>int</type>
164+
</term>
153165
<listitem>
154166
<para>
155167
Indicates <link linkend="language.oop5.final">final</link>
@@ -181,6 +193,12 @@
181193
</row>
182194
</thead>
183195
<tbody>
196+
<row>
197+
<entry>8.4.0</entry>
198+
<entry>
199+
The class constants are now typed.
200+
</entry>
201+
</row>
184202
<row>
185203
<entry>8.0.0</entry>
186204
<entry>

reference/reflection/reflectionfunction.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,10 @@
6868
<variablelist>
6969

7070
<varlistentry xml:id="reflectionfunction.constants.is-deprecated">
71-
<term><constant>ReflectionFunction::IS_DEPRECATED</constant></term>
71+
<term>
72+
<constant>ReflectionFunction::IS_DEPRECATED</constant>
73+
<type>int</type>
74+
</term>
7275
<listitem>
7376
<para>
7477
Indicates deprecated functions.
@@ -92,6 +95,12 @@
9295
</row>
9396
</thead>
9497
<tbody>
98+
<row>
99+
<entry>8.4.0</entry>
100+
<entry>
101+
The class constants are now typed.
102+
</entry>
103+
</row>
95104
<row>
96105
<entry>8.0.0</entry>
97106
<entry>

reference/reflection/reflectionmethod.xml

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,10 @@
128128
<variablelist>
129129

130130
<varlistentry xml:id="reflectionmethod.constants.is-static">
131-
<term><constant>ReflectionMethod::IS_STATIC</constant></term>
131+
<term>
132+
<constant>ReflectionMethod::IS_STATIC</constant>
133+
<type>int</type>
134+
</term>
132135
<listitem>
133136
<para>
134137
Indicates that the method is static.
@@ -138,7 +141,10 @@
138141
</varlistentry>
139142

140143
<varlistentry xml:id="reflectionmethod.constants.is-public">
141-
<term><constant>ReflectionMethod::IS_PUBLIC</constant></term>
144+
<term>
145+
<constant>ReflectionMethod::IS_PUBLIC</constant>
146+
<type>int</type>
147+
</term>
142148
<listitem>
143149
<para>
144150
Indicates that the method is public.
@@ -148,7 +154,10 @@
148154
</varlistentry>
149155

150156
<varlistentry xml:id="reflectionmethod.constants.is-protected">
151-
<term><constant>ReflectionMethod::IS_PROTECTED</constant></term>
157+
<term>
158+
<constant>ReflectionMethod::IS_PROTECTED</constant>
159+
<type>int</type>
160+
</term>
152161
<listitem>
153162
<para>
154163
Indicates that the method is protected.
@@ -158,7 +167,10 @@
158167
</varlistentry>
159168

160169
<varlistentry xml:id="reflectionmethod.constants.is-private">
161-
<term><constant>ReflectionMethod::IS_PRIVATE</constant></term>
170+
<term>
171+
<constant>ReflectionMethod::IS_PRIVATE</constant>
172+
<type>int</type>
173+
</term>
162174
<listitem>
163175
<para>
164176
Indicates that the method is private.
@@ -168,7 +180,10 @@
168180
</varlistentry>
169181

170182
<varlistentry xml:id="reflectionmethod.constants.is-abstract">
171-
<term><constant>ReflectionMethod::IS_ABSTRACT</constant></term>
183+
<term>
184+
<constant>ReflectionMethod::IS_ABSTRACT</constant>
185+
<type>int</type>
186+
</term>
172187
<listitem>
173188
<para>
174189
Indicates that the method is abstract.
@@ -178,7 +193,10 @@
178193
</varlistentry>
179194

180195
<varlistentry xml:id="reflectionmethod.constants.is-final">
181-
<term><constant>ReflectionMethod::IS_FINAL</constant></term>
196+
<term>
197+
<constant>ReflectionMethod::IS_FINAL</constant>
198+
<type>int</type>
199+
</term>
182200
<listitem>
183201
<para>
184202
Indicates that the method is final.
@@ -210,6 +228,12 @@
210228
</row>
211229
</thead>
212230
<tbody>
231+
<row>
232+
<entry>8.4.0</entry>
233+
<entry>
234+
The class constants are now typed.
235+
</entry>
236+
</row>
213237
<row>
214238
<entry>8.0.0</entry>
215239
<entry>

0 commit comments

Comments
 (0)