public TypeBinding expressionType;
public boolean isSynchronized;
- public AstNode[] subroutines;
+ public ASTNode[] subroutines;
public LocalVariableBinding saveValueVariable;
public ReturnStatement(Expression expr, int s, int e ) {
boolean saveValueNeeded = false;
boolean hasValueToSave = expression != null && expression.constant == NotAConstant;
do {
- AstNode sub;
+ ASTNode sub;
if ((sub = traversedContext.subRoutine()) != null) {
if (this.subroutines == null){
- this.subroutines = new AstNode[maxSub];
+ this.subroutines = new ASTNode[maxSub];
}
if (subIndex == maxSub) {
- System.arraycopy(this.subroutines, 0, (this.subroutines = new AstNode[maxSub *= 2]), 0, subIndex); // grow
+ System.arraycopy(this.subroutines, 0, (this.subroutines = new ASTNode[maxSub *= 2]), 0, subIndex); // grow
}
this.subroutines[subIndex++] = sub;
if (sub.cannotReturn()) {
}
traversedContext.recordReturnFrom(flowInfo.unconditionalInits());
- AstNode node;
+ ASTNode node;
if ((node = traversedContext.associatedNode) instanceof SynchronizedStatement) {
isSynchronized = true;
// resize subroutines
if ((subroutines != null) && (subIndex != maxSub)) {
- System.arraycopy(subroutines, 0, (subroutines = new AstNode[subIndex]), 0, subIndex);
+ System.arraycopy(subroutines, 0, (subroutines = new ASTNode[subIndex]), 0, subIndex);
}
// secret local variable for return value (note that this can only occur in a real method)
// // generation of code responsible for invoking the finally blocks in sequence
// if (subroutines != null) {
// for (int i = 0, max = subroutines.length; i < max; i++) {
-// AstNode sub;
+// ASTNode sub;
// if ((sub = subroutines[i]) instanceof SynchronizedStatement) {
// codeStream.load(((SynchronizedStatement) sub).synchroVariable);
// codeStream.monitorexit();