12.3.3.12 Return statements
For a statement stmt of the form
return expr ;
?The definite assignment state of v at the beginning of expr is the same as
the definite assignment
state of v at the beginning of stmt.
?If v is an output parameter, then it must be definitely assigned either:
o after expr
o or at the end of the finally block of a try-finally or try-catch-finally
that
encloses the return statement.
For a statement stmt of the form:
return ;
?If v is an output parameter, then it must be definitely assigned either:
o before stmt
o or at the end of the finally block of a try-finally or try-catch-finally
that
encloses the return statement.
For a statement stmt of the form
return expr ;
?The definite assignment state of v at the beginning of expr is the same as
the definite assignment
state of v at the beginning of stmt.
?If v is an output parameter, then it must be definitely assigned either:
o after expr
o or at the end of the finally block of a try-finally or try-catch-finally
that
encloses the return statement.
For a statement stmt of the form:
return ;
?If v is an output parameter, then it must be definitely assigned either:
o before stmt
o or at the end of the finally block of a try-finally or try-catch-finally
that
encloses the return statement.