DEFINITE ASSIGNMENT
Other Expressions
16.1.16
Note that if
a
is
V
and
V
is not definitely assigned before a compound assign
ment such as
a
&=
b
, then a compile time error will necessarily occur. The rules
stated above include the disjunct
a
is
V
so that
V
will be considered to have been
definitely assigned at later points in the code. Including the disjunct
a
is
V
does
not affect the binary decision as to whether a program is acceptable or will result
in a compile time error, but it affects
how many
different points in the code may
be regarded as erroneous, and so in practice it can improve the quality of error
reporting.
16.1.14 Other Assignment Expressions
Suppose that an assignment expression
a
=
b
,
a
+=
b
,
a
=
b
,
a
*=
b
,
a
/=
b
,
a
%=
b
,
a
<<=
b
,
a
>>=
b
,
a
>>>=
b
,
a
&=
b
,
a
|=
b
, or
a
^=
b
is not boolean valued.
V
is definitely assigned after the assignment expression iff either
a
is
V
or
V
is
definitely assigned after
b
.
V
is definitely assigned before
a
iff
V
is definitely assigned before the assign
ment expression.
V
is definitely assigned before
b
iff
V
is definitely assigned after
a
.
16.1.15 Operators
++
and
V
is definitely assigned after a preincrement, predecrement, postincrement, or
postdecrement expression iff either the operand expression is
V
or
V
is defi
nitely assigned after the operand expression.
V
is definitely assigned before the operand expression iff
V
is definitely
assigned before the preincrement, predecrement, postincrement, or postdecre
ment expression.
16.1.16 Other Expressions
If an expression is not boolean valued and is not a conditional operator expression
or assignment expression, the following rules apply:
If the expression has no subexpressions,
V
is definitely assigned after the
expression iff
V
is definitely assigned before the expression. This case applies
to literals, simple names,
this
,
super
, and
null
.
If the expression has subexpressions,
V
is definitely assigned after the expres
sion iff
V
is definitely assigned after its rightmost immediate subexpression.
391
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved