Lines 892-898
Link Here
|
892 |
return assertStatement; |
892 |
return assertStatement; |
893 |
} |
893 |
} |
894 |
|
894 |
|
895 |
public Assignment convert(org.eclipse.jdt.internal.compiler.ast.Assignment expression) { |
895 |
public Expression convert(org.eclipse.jdt.internal.compiler.ast.Assignment expression) { |
|
|
896 |
if(isRHSRemovable(expression.expression)) { |
897 |
return convert(expression.lhs); |
898 |
} |
899 |
if(expression.expression instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference) { |
900 |
// check if only the left hand side of the assignment should be returned. |
901 |
org.eclipse.jdt.internal.compiler.ast.SingleNameReference rhs = |
902 |
(org.eclipse.jdt.internal.compiler.ast.SingleNameReference)expression.expression; |
903 |
if(rhs.token == RecoveryScanner.FAKE_IDENTIFIER && // the rigth hand side must be a fake initializer |
904 |
expression.lhs.sourceEnd == expression.sourceEnd) { // the '=' of th eassigment must be misssing |
905 |
return convert(expression.lhs); |
906 |
} |
907 |
} |
908 |
|
896 |
Assignment assignment = new Assignment(this.ast); |
909 |
Assignment assignment = new Assignment(this.ast); |
897 |
if (this.resolveBindings) { |
910 |
if (this.resolveBindings) { |
898 |
recordNodes(assignment, expression); |
911 |
recordNodes(assignment, expression); |
Lines 2939-2945
Link Here
|
2939 |
name.setSourceRange(fieldDeclaration.sourceStart, fieldDeclaration.sourceEnd - fieldDeclaration.sourceStart + 1); |
2952 |
name.setSourceRange(fieldDeclaration.sourceStart, fieldDeclaration.sourceEnd - fieldDeclaration.sourceStart + 1); |
2940 |
variableDeclarationFragment.setName(name); |
2953 |
variableDeclarationFragment.setName(name); |
2941 |
int start = fieldDeclaration.sourceEnd; |
2954 |
int start = fieldDeclaration.sourceEnd; |
2942 |
if (fieldDeclaration.initialization != null) { |
2955 |
if (fieldDeclaration.initialization != null && |
|
|
2956 |
!isRHSRemovable(fieldDeclaration.initialization)) { |
2943 |
final Expression expression = convert(fieldDeclaration.initialization); |
2957 |
final Expression expression = convert(fieldDeclaration.initialization); |
2944 |
variableDeclarationFragment.setInitializer(expression); |
2958 |
variableDeclarationFragment.setInitializer(expression); |
2945 |
start = expression.getStartPosition() + expression.getLength(); |
2959 |
start = expression.getStartPosition() + expression.getLength(); |
Lines 2968-2974
Link Here
|
2968 |
variableDeclarationFragment.setName(name); |
2982 |
variableDeclarationFragment.setName(name); |
2969 |
int start = localDeclaration.sourceEnd; |
2983 |
int start = localDeclaration.sourceEnd; |
2970 |
org.eclipse.jdt.internal.compiler.ast.Expression initialization = localDeclaration.initialization; |
2984 |
org.eclipse.jdt.internal.compiler.ast.Expression initialization = localDeclaration.initialization; |
2971 |
boolean hasInitialization = initialization != null; |
2985 |
boolean hasInitialization = initialization != null && !isRHSRemovable(localDeclaration.initialization); |
2972 |
if (hasInitialization) { |
2986 |
if (hasInitialization) { |
2973 |
final Expression expression = convert(initialization); |
2987 |
final Expression expression = convert(initialization); |
2974 |
variableDeclarationFragment.setInitializer(expression); |
2988 |
variableDeclarationFragment.setInitializer(expression); |
Lines 3530-3535
Link Here
|
3530 |
return false; |
3544 |
return false; |
3531 |
} |
3545 |
} |
3532 |
|
3546 |
|
|
|
3547 |
private boolean isRHSRemovable(org.eclipse.jdt.internal.compiler.ast.Expression rhs) { |
3548 |
if(rhs instanceof org.eclipse.jdt.internal.compiler.ast.SingleNameReference) { |
3549 |
// check if the right hand side is a fake identifer and can be removed. |
3550 |
org.eclipse.jdt.internal.compiler.ast.SingleNameReference singleName = |
3551 |
(org.eclipse.jdt.internal.compiler.ast.SingleNameReference)rhs; |
3552 |
if(singleName.token == RecoveryScanner.FAKE_IDENTIFIER) { // the rigth hand side must be a fake initializer |
3553 |
return true; |
3554 |
} |
3555 |
} |
3556 |
return false; |
3557 |
} |
3558 |
|
3533 |
private void lookupForScopes() { |
3559 |
private void lookupForScopes() { |
3534 |
if (this.pendingNameScopeResolution != null) { |
3560 |
if (this.pendingNameScopeResolution != null) { |
3535 |
for (Iterator iterator = this.pendingNameScopeResolution.iterator(); iterator.hasNext(); ) { |
3561 |
for (Iterator iterator = this.pendingNameScopeResolution.iterator(); iterator.hasNext(); ) { |