Lines 115-121
Link Here
|
115 |
<th>Description</th> |
115 |
<th>Description</th> |
116 |
<th width="140">Values</th> |
116 |
<th width="140">Values</th> |
117 |
</tr> |
117 |
</tr> |
|
|
118 |
|
118 |
<tr> |
119 |
<tr> |
|
|
120 |
<td colspan="2"><b>Annotation Based Null Analysis</b> (<b><a href= |
121 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a></b>)</td> |
122 |
|
123 |
</tr> |
124 |
<tr valign="top"> |
125 |
<td rowspan="2">This option controls whether the compiler will use null annotations for |
126 |
improved analysis of (potential) null references. |
127 |
<p>When enabled, the compiler will interpret the annotation types defined using |
128 |
<a href= |
129 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a> |
130 |
and <a href= |
131 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NULLABLE_ANNOTATION_NAME">COMPILER_NULLABLE_ANNOTATION_NAME</a> |
132 |
as specifying whether or not a given type includes the value <code>null</code>.</p> |
133 |
<p>The effect of these analyses is further controlled by the options |
134 |
<a href= |
135 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_NULL_SPECIFICATION_VIOLATION</a>, |
136 |
<a href= |
137 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION</a> and |
138 |
<a href= |
139 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO">COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO</a>.</p></td> |
140 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ENABLED">ENABLED</a></b></td> |
141 |
</tr> |
142 |
<tr valign="top"> |
143 |
<td><b><i><a href= |
144 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#DISABLED">DISABLED</a></i></b></td> |
145 |
</tr> |
146 |
<tr> |
147 |
|
119 |
<td colspan="2"><b>Inline JSR Bytecode Instruction</b> (<b><a href= |
148 |
<td colspan="2"><b>Inline JSR Bytecode Instruction</b> (<b><a href= |
120 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_CODEGEN_INLINE_JSR_BYTECODE">COMPILER_CODEGEN_INLINE_JSR_BYTECODE</a></b>)</td> |
149 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_CODEGEN_INLINE_JSR_BYTECODE">COMPILER_CODEGEN_INLINE_JSR_BYTECODE</a></b>)</td> |
121 |
|
150 |
|
Lines 269-276
Link Here
|
269 |
<tr valign="top"> |
298 |
<tr valign="top"> |
270 |
<td><b><a href= |
299 |
<td><b><a href= |
271 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#DO_NOT_GENERATE">DO_NOT_GENERATE</a></b></td> |
300 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#DO_NOT_GENERATE">DO_NOT_GENERATE</a></b></td> |
272 |
|
|
|
273 |
</tr> |
301 |
</tr> |
|
|
302 |
|
303 |
<tr> |
304 |
<td colspan="2"><b>Name of Annotation Type for Non-Null Types</b> (<b><a href= |
305 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a></b>)</td> |
306 |
</tr> |
307 |
<tr valign="top"> |
308 |
<td>This option defines a fully qualified Java type name that the compiler may use |
309 |
to perform special null analysis. |
310 |
<p>If the annotation specified by this option is applied to a type in a method |
311 |
signature or variable declaration, this will be interpreted as a specification |
312 |
that <code>null</code> is <b>not</b> a legal value in that position. Currently |
313 |
supported positions are: method parameters, method return type and local variables.</p> |
314 |
<p>For values declared with this annotation, the compiler will never trigger a null |
315 |
reference diagnostic (as controlled by <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_POTENTIAL_NULL_REFERENCE">COMPILER_PB_POTENTIAL_NULL_REFERENCE</a> |
316 |
and <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_REFERENCE">COMPILER_PB_NULL_REFERENCE</a>), because the assumption is made that null |
317 |
will never occur at runtime in these positions.</p> |
318 |
<p>The compiler may furthermore check adherence to the null specification as |
319 |
further controlled by <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_NULL_SPECIFICATION_VIOLATION</a>, |
320 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION</a> and |
321 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO">COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO</a>.</p> |
322 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
323 |
</td> |
324 |
<td>The qualified name of a Java annotation type<br> |
325 |
<b>Default is: <code>org.eclipse.jdt.annotation.NonNull</code></td> |
326 |
</tr> |
327 |
|
328 |
<tr> |
329 |
<td colspan="2"><b>Name of Annotation Type for Nullable Types</b> (<b><a href= |
330 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NULLABLE_ANNOTATION_NAME">COMPILER_NULLABLE_ANNOTATION_NAME</a></b>)</td> |
331 |
</tr> |
332 |
<tr valign="top"> |
333 |
<td>This option defines a fully qualified Java type name that the compiler may use |
334 |
to perform special null analysis. |
335 |
<p>If the annotation specified by this option is applied to a type in a method |
336 |
signature or variable declaration, this will be interpreted as a specification |
337 |
that <code>null</code> is a legal value in that position. Currently supported |
338 |
positions are: method parameters, method return type and local variables.</p> |
339 |
<p>If a value whose type |
340 |
is annotated with this annotation is dereferenced without checking for null, |
341 |
the compiler will trigger a diagnostic as further controlled by |
342 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_POTENTIAL_NULL_REFERENCE>COMPILER_PB_POTENTIAL_NULL_REFERENCE</a>.</p> |
343 |
<p>The compiler may furthermore check adherence to the null specification as |
344 |
further controlled by <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_NULL_SPECIFICATION_VIOLATION</a>, |
345 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION</a> and |
346 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO">COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO</a>.</p> |
347 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
348 |
</td> |
349 |
<td>The qualified name of a Java annotation type<br> |
350 |
<b>Default is: <code>org.eclipse.jdt.annotation.Nullable</code></td> |
351 |
</tr> |
352 |
|
353 |
<tr> |
354 |
<td colspan="2"><b>Name of Annotation Type to specify a nullness default for unannotated types.</b> (<b><a href= |
355 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME">COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME</a></b>)</td> |
356 |
</tr> |
357 |
<tr valign="top"> |
358 |
<td>This option defines a fully qualified Java type name that the compiler may use |
359 |
to perform special null analysis. |
360 |
<p>If the annotation is applied without an argument, all unannotated types in method signatures |
361 |
within the annotated element will be treated as if they were specified with the non-null annotation |
362 |
(see <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a>).</p> |
363 |
<p>If the annotation is applied with the constant <code>false</code> as its argument, |
364 |
all corresponding defaults at outer scopes will be canceled for the annotated element. |
365 |
This includes defaults specified using this annotation type or a default defined using |
366 |
the compiler option <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_IS_DEFAULT">COMPILER_NONNULL_IS_DEFAULT</a>.</p> |
367 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
368 |
</td> |
369 |
<td>The qualified name of a Java annotatin type<br> |
370 |
<b>Default is: <code>org.eclipse.jdt.annotation.NonNullByDefault</code></td> |
371 |
</tr> |
372 |
|
373 |
<tr> |
374 |
<td colspan="2"><b>Globally specify non-null as the assumed default for unannotated types.</b> (<b><a href= |
375 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_IS_DEFAULT">COMPILER_NONNULL_IS_DEFAULT</a></b>)</td> |
376 |
</tr> |
377 |
<tr valign="top"> |
378 |
<td rowspan="2">When enabled, this option globally achieves the same effect |
379 |
as specifying <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a> does for individual elements.</p> |
380 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
381 |
</td> |
382 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ENABLED">ENABLED</a></b></td> |
383 |
</tr> |
384 |
<tr valign="top"> |
385 |
<td><b><i><a href= |
386 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#DISABLED">DISABLED</a></i></b></td> |
387 |
</tr> |
388 |
|
274 |
<tr> |
389 |
<tr> |
275 |
<td colspan="2"><b>Reporting Use of Annotation Type as Super Interface</b> (<b><a href= |
390 |
<td colspan="2"><b>Reporting Use of Annotation Type as Super Interface</b> (<b><a href= |
276 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_ANNOTATION_SUPER_INTERFACE">COMPILER_PB_ANNOTATION_SUPER_INTERFACE</a></b>)</td> |
391 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_ANNOTATION_SUPER_INTERFACE">COMPILER_PB_ANNOTATION_SUPER_INTERFACE</a></b>)</td> |
Lines 1139-1145
Link Here
|
1139 |
by <a href="#INCLUDE_ASSERTS_IN_NULL_ANALYSIS">COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS</a> |
1254 |
by <a href="#INCLUDE_ASSERTS_IN_NULL_ANALYSIS">COMPILER_PB_INCLUDE_ASSERTS_IN_NULL_ANALYSIS</a> |
1140 |
(java 1.4 and greater)</td> |
1255 |
(java 1.4 and greater)</td> |
1141 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td> |
1256 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td> |
1142 |
|
|
|
1143 |
</tr> |
1257 |
</tr> |
1144 |
<tr valign="top"> |
1258 |
<tr valign="top"> |
1145 |
<td><b><a href= |
1259 |
<td><b><a href= |
Lines 1148-1153
Link Here
|
1148 |
<tr valign="top"> |
1262 |
<tr valign="top"> |
1149 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td> |
1263 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td> |
1150 |
</tr> |
1264 |
</tr> |
|
|
1265 |
|
1266 |
<tr> |
1267 |
<td colspan="2"><b>Reporting Insufficient Information for Analysing Adherence to Null Specifications</b> (<b><a href= |
1268 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO">COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO</a></b>)</td> |
1269 |
</tr> |
1270 |
<tr valign="top"> |
1271 |
<td rowspan="3">When enabled, the compiler will issue an error or a warning whenever one of the |
1272 |
following situations is detected: |
1273 |
<ol> |
1274 |
<li>A method declared with a nonnull annotation returns an expression for which |
1275 |
insufficient nullness information is available for statically proving that no |
1276 |
flow will pass a null value at runtime.</li> |
1277 |
<li>An expression for which insufficient nullness information is available for |
1278 |
statically proving that it will never evaluate to a null value at runtime |
1279 |
is passed as an argument in a method call where the corresponding parameter of |
1280 |
the called method is declared with a nonnull annotation.</li> |
1281 |
<li>An expression for which insufficient nullness information is available for |
1282 |
statically proving that it will never evaluate to a null value at runtime |
1283 |
is assigned to a local variable that is declared with a nonnull annotation.</li> |
1284 |
</ol> |
1285 |
Insufficient nullness information is usually a consequence of using other unannotated |
1286 |
variables or methods. |
1287 |
<p>The compiler options <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a> and |
1288 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NULLABLE_ANNOTATION_NAME">COMPILER_NULLABLE_ANNOTATION_NAME</a> control which annotations the compiler |
1289 |
shall interpret as nonnull or nullable annotations, respectively.</p> |
1290 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
1291 |
</td> |
1292 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td> |
1293 |
</tr> |
1294 |
<tr> |
1295 |
<td><b><i><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></i></b></td> |
1296 |
</tr> |
1297 |
<tr valign="top"> |
1298 |
<td><b><a href= |
1299 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td> |
1300 |
</tr> |
1301 |
|
1302 |
<tr> |
1303 |
<td colspan="2"><b>Reporting Violations of Null Specifications</b> (<b><a href= |
1304 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_NULL_SPECIFICATION_VIOLATION</a></b>)</td> |
1305 |
</tr> |
1306 |
<tr valign="top"> |
1307 |
<td rowspan="2">When enabled, the compiler will issue an error or a warning whenever one of the |
1308 |
following situations is detected: |
1309 |
<ol> |
1310 |
<li>A method declared with a nonnull annotation returns an expression that is |
1311 |
statically known to evaluate to a null value.</li> |
1312 |
<li>An expression that is statically known to evaluate to a null value is passed |
1313 |
as an argument in a method call where the corresponding parameter of the called |
1314 |
method is declared with a nonnull annotation.</li> |
1315 |
<li>An expression that is statically known to evaluate to a null value is assigned |
1316 |
to a local variable that is declared with a nonnull annotation.</li> |
1317 |
<li>A method that overrides an inherited method declared with a nonnull annotation |
1318 |
tries to relax that contract by specifying a nullable annotation |
1319 |
(prohibition of contravariant return).</li> |
1320 |
<li>A method that overrides an inherited method which has a nullable declaration |
1321 |
for at least one of its parameters, tries to tighten that null contract by |
1322 |
specifying a nonnull annotation for its corresponding parameter |
1323 |
(prohibition of covariant parameters).</li> |
1324 |
</ol> |
1325 |
<p>The compiler options <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a> and |
1326 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NULLABLE_ANNOTATION_NAME">COMPILER_NULLABLE_ANNOTATION_NAME</a> control which annotations the compiler |
1327 |
shall interpret as nonnull or nullable annotations, respectively.</p> |
1328 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
1329 |
</td> |
1330 |
<td><b><i><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></i></b></td> |
1331 |
</tr> |
1332 |
<tr valign="top"> |
1333 |
<td><b><a href= |
1334 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></b></td> |
1335 |
</tr> |
1336 |
|
1151 |
<tr> |
1337 |
<tr> |
1152 |
<td colspan="2"><b>Reporting Overriding Methods that do not call their super method invocation.</b> |
1338 |
<td colspan="2"><b>Reporting Overriding Methods that do not call their super method invocation.</b> |
1153 |
(<b><a href= |
1339 |
(<b><a href= |
Lines 1185-1194
Link Here
|
1185 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></b></td> |
1371 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></b></td> |
1186 |
</tr> |
1372 |
</tr> |
1187 |
<tr valign="top"> |
1373 |
<tr valign="top"> |
1188 |
|
|
|
1189 |
<td><b><a href= |
1374 |
<td><b><a href= |
1190 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE"><i>IGNORE</i></a></b></td> |
1375 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE"><i>IGNORE</i></a></b></td> |
1191 |
</tr> |
1376 |
</tr> |
|
|
1377 |
|
1378 |
<tr> |
1379 |
<td colspan="2"><b>Reporting Violations of Null Specifications with Potential Null Value.</b> (<b><a href= |
1380 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION">COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION</a></b>)</td> |
1381 |
</tr> |
1382 |
<tr valign="top"> |
1383 |
<td rowspan="3">When enabled, the compiler will issue an error or a warning whenever one of the |
1384 |
following situations is detected: |
1385 |
<ol> |
1386 |
<li>A method declared with a nonnull annotation returns an expression for which |
1387 |
insufficient nullness information is available for statically proving that no |
1388 |
flow will pass a null value at runtime.</li> |
1389 |
<li>An expression for which insufficient nullness information is available for |
1390 |
statically proving that it will never evaluate to a null value at runtime |
1391 |
is passed as an argument in a method call where the corresponding parameter of |
1392 |
the called method is declared with a nonnull annotation.</li> |
1393 |
<li>An expression for which insufficient nullness information is available for |
1394 |
statically proving that it will never evaluate to a null value at runtime |
1395 |
is assigned to a local variable that is declared with a nonnull annotation.</li> |
1396 |
</ol> |
1397 |
Insufficient nullness information is usually a consequence of using other unannotated |
1398 |
variables or methods. |
1399 |
<p>The compiler options <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a> and |
1400 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NULLABLE_ANNOTATION_NAME">COMPILER_NULLABLE_ANNOTATION_NAME</a> control which annotations the compiler |
1401 |
shall interpret as nonnull or nullable annotations, respectively.</p> |
1402 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
1403 |
</td> |
1404 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td> |
1405 |
</tr> |
1406 |
<tr valign="top"> |
1407 |
<td><b><i><a href= |
1408 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></i></b></td> |
1409 |
</tr> |
1410 |
<tr valign="top"> |
1411 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td> |
1412 |
</tr> |
1413 |
|
1192 |
<tr> |
1414 |
<tr> |
1193 |
<td colspan="2"><a name="REDUNDANT_NULL_CHECK" id="REDUNDANT_NULL_CHECK"></a><b>Reporting Redundant |
1415 |
<td colspan="2"><a name="REDUNDANT_NULL_CHECK" id="REDUNDANT_NULL_CHECK"></a><b>Reporting Redundant |
1194 |
Null Check</b> (<b><a href= |
1416 |
Null Check</b> (<b><a href= |
Lines 1210-1215
Link Here
|
1210 |
<td><b><a href= |
1432 |
<td><b><a href= |
1211 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE"><i>IGNORE</i></a></b></td> |
1433 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE"><i>IGNORE</i></a></b></td> |
1212 |
</tr> |
1434 |
</tr> |
|
|
1435 |
|
1436 |
<tr> |
1437 |
<td colspan="2"><b>Reporting Redundant Null Annotations.</b> (<b><a href= |
1438 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_PB_REDUNDANT_NULL_ANNOTATION">COMPILER_PB_REDUNDANT_NULL_ANNOTATION</a></b>)</td> |
1439 |
</tr> |
1440 |
<tr valign="top"> |
1441 |
<td rowspan="3">When enabled, the compiler will issue an error or a warning when a non-null annotation |
1442 |
(see <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a>) |
1443 |
is applied although the same effect is already achieved by a default applicable at the |
1444 |
current location. Such a default may be effective by enabling the option |
1445 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_IS_DEFAULT">COMPILER_NONNULL_IS_DEFAULT</a> or by using the annotation specified by the option |
1446 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME">COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME</a>. |
1447 |
Insufficient nullness information is usually a consequence of using other unannotated |
1448 |
variables or methods. |
1449 |
<p>The compiler options <a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NONNULL_ANNOTATION_NAME">COMPILER_NONNULL_ANNOTATION_NAME</a> and |
1450 |
<a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#COMPILER_NULLABLE_ANNOTATION_NAME">COMPILER_NULLABLE_ANNOTATION_NAME</a> control which annotations the compiler |
1451 |
shall interpret as nonnull or nullable annotations, respectively. |
1452 |
</p> |
1453 |
<p>This option only has an effect if the option <a href="../reference/api/org/eclipse/jdt/core/JavaCore#COMPILER_ANNOTATION_NULL_ANALYSIS">COMPILER_ANNOTATION_NULL_ANALYSIS</a> is enabled.</p> |
1454 |
</td> |
1455 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#ERROR">ERROR</a></b></td> |
1456 |
</tr> |
1457 |
<tr valign="top"> |
1458 |
<td><b><i><a href= |
1459 |
"../reference/api/org/eclipse/jdt/core/JavaCore.html#WARNING">WARNING</a></i></b></td> |
1460 |
</tr> |
1461 |
<tr valign="top"> |
1462 |
<td><b><a href="../reference/api/org/eclipse/jdt/core/JavaCore.html#IGNORE">IGNORE</a></b></td> |
1463 |
</tr> |
1464 |
|
1213 |
<tr> |
1465 |
<tr> |
1214 |
<td colspan="2"><a name="REDUNDANT_TYPE_ARGUMENTS" id="REDUNDANT_TYPE_ARGUMENTS"></a><b>Reporting Redundant |
1466 |
<td colspan="2"><a name="REDUNDANT_TYPE_ARGUMENTS" id="REDUNDANT_TYPE_ARGUMENTS"></a><b>Reporting Redundant |
1215 |
Specification of type arguments for generic class instance creation</b> (<b><a href= |
1467 |
Specification of type arguments for generic class instance creation</b> (<b><a href= |