Java 类org.eclipse.jdt.internal.compiler.ast.CombinedBinaryExpression 实例源码
项目:Eclipse-Postfix-Code-Completion
文件:BinaryExpressionFragmentBuilder.java
public boolean visit(CombinedBinaryExpression combinedBinaryExpression, BlockScope scope) {
// keep implementation in sync with BinaryExpression#resolveType
if (combinedBinaryExpression.referencesTable == null) {
addRealFragment(combinedBinaryExpression.left);
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
addRealFragment(combinedBinaryExpression.right);
return false;
}
BinaryExpression cursor = combinedBinaryExpression.referencesTable[0];
if (cursor.left instanceof CombinedBinaryExpression) {
this.visit((CombinedBinaryExpression) cursor.left, scope);
} else {
addRealFragment(cursor.left);
}
for (int i = 0, end = combinedBinaryExpression.arity; i < end; i ++) {
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
addRealFragment(combinedBinaryExpression.referencesTable[i].right);
}
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
addRealFragment(combinedBinaryExpression.right);
return false;
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:BinaryExpressionFragmentBuilder.java
public boolean visit(CombinedBinaryExpression combinedBinaryExpression, BlockScope scope) {
// keep implementation in sync with BinaryExpression#resolveType
if (combinedBinaryExpression.referencesTable == null) {
addRealFragment(combinedBinaryExpression.left);
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
addRealFragment(combinedBinaryExpression.right);
return false;
}
BinaryExpression cursor = combinedBinaryExpression.referencesTable[0];
if (cursor.left instanceof CombinedBinaryExpression) {
this.visit((CombinedBinaryExpression) cursor.left, scope);
} else {
addRealFragment(cursor.left);
}
for (int i = 0, end = combinedBinaryExpression.arity; i < end; i ++) {
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
addRealFragment(combinedBinaryExpression.referencesTable[i].right);
}
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
addRealFragment(combinedBinaryExpression.right);
return false;
}
项目:android-retrolambda-lombok
文件:EcjTreeOperations.java
private static void dodgeCombinedBinaryExpressions(EcjTreePrinter printer) {
printer.skipProperty(CombinedBinaryExpression.class, "arity");
printer.skipProperty(CombinedBinaryExpression.class, "arityMax");
printer.skipProperty(CombinedBinaryExpression.class, "referencesTable");
printer.stringReplace("CombinedBinaryExpression", "BinaryExpression");
}
项目:Eclipse-Postfix-Code-Completion
文件:BinaryExpressionFragmentBuilder.java
public boolean visit(BinaryExpression binaryExpression, BlockScope scope) {
if (binaryExpression instanceof CombinedBinaryExpression) {
CombinedBinaryExpression expression = (CombinedBinaryExpression) binaryExpression;
if (expression.referencesTable != null) {
return this.visit(expression, scope);
}
}
final int numberOfParens = (binaryExpression.bits & ASTNode.ParenthesizedMASK) >> ASTNode.ParenthesizedSHIFT;
if (numberOfParens > 0) {
addRealFragment(binaryExpression);
} else {
switch((binaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT) {
case OperatorIds.PLUS :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.MINUS :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameMINUS));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.MULTIPLY :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameMULTIPLY));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.REMAINDER :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameREMAINDER));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.XOR :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameXOR));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.DIVIDE :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameDIVIDE));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.OR :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameOR));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.AND :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameAND));
binaryExpression.right.traverse(this, scope);
}
return false;
default:
addRealFragment(binaryExpression);
}
}
return false;
}
项目:Eclipse-Postfix-Code-Completion
文件:CodeFormatterVisitor.java
private BinaryExpressionFragmentBuilder buildFragments(BinaryExpression binaryExpression, BlockScope scope) {
BinaryExpressionFragmentBuilder builder = new BinaryExpressionFragmentBuilder();
if (binaryExpression instanceof CombinedBinaryExpression) {
binaryExpression.traverse(builder, scope);
return builder;
}
switch((binaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT) {
case OperatorIds.MULTIPLY :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameMULTIPLY));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.PLUS :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.DIVIDE :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameDIVIDE));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.REMAINDER :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameREMAINDER));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.XOR :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameXOR));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.MINUS :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameMINUS));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.OR :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameOR));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.AND :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameAND));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.AND_AND :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameAND_AND));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.OR_OR :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameOR_OR));
binaryExpression.right.traverse(builder, scope);
break;
}
return builder;
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:BinaryExpressionFragmentBuilder.java
public boolean visit(BinaryExpression binaryExpression, BlockScope scope) {
if (binaryExpression instanceof CombinedBinaryExpression) {
CombinedBinaryExpression expression = (CombinedBinaryExpression) binaryExpression;
if (expression.referencesTable != null) {
return this.visit(expression, scope);
}
}
final int numberOfParens = (binaryExpression.bits & ASTNode.ParenthesizedMASK) >> ASTNode.ParenthesizedSHIFT;
if (numberOfParens > 0) {
addRealFragment(binaryExpression);
} else {
switch((binaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT) {
case OperatorIds.PLUS :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.MINUS :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameMINUS));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.MULTIPLY :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameMULTIPLY));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.REMAINDER :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameREMAINDER));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.XOR :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameXOR));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.DIVIDE :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameDIVIDE));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.OR :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameOR));
binaryExpression.right.traverse(this, scope);
}
return false;
case OperatorIds.AND :
if (buildFragments(binaryExpression)) {
binaryExpression.left.traverse(this, scope);
this.operatorsList.add(new Integer(TerminalTokens.TokenNameAND));
binaryExpression.right.traverse(this, scope);
}
return false;
default:
addRealFragment(binaryExpression);
}
}
return false;
}
项目:Eclipse-Postfix-Code-Completion-Juno38
文件:CodeFormatterVisitor.java
private BinaryExpressionFragmentBuilder buildFragments(BinaryExpression binaryExpression, BlockScope scope) {
BinaryExpressionFragmentBuilder builder = new BinaryExpressionFragmentBuilder();
if (binaryExpression instanceof CombinedBinaryExpression) {
binaryExpression.traverse(builder, scope);
return builder;
}
switch((binaryExpression.bits & ASTNode.OperatorMASK) >> ASTNode.OperatorSHIFT) {
case OperatorIds.MULTIPLY :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameMULTIPLY));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.PLUS :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNamePLUS));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.DIVIDE :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameDIVIDE));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.REMAINDER :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameREMAINDER));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.XOR :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameXOR));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.MINUS :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameMINUS));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.OR :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameOR));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.AND :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameAND));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.AND_AND :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameAND_AND));
binaryExpression.right.traverse(builder, scope);
break;
case OperatorIds.OR_OR :
binaryExpression.left.traverse(builder, scope);
builder.operatorsList.add(new Integer(TerminalTokens.TokenNameOR_OR));
binaryExpression.right.traverse(builder, scope);
break;
}
return builder;
}