List of usage examples for org.eclipse.jdt.core.dom PrefixExpression getOperator
public PrefixExpression.Operator getOperator()
From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java
License:Open Source License
@Override public boolean visit(PrefixExpression node) { this.fBuffer.append(node.getOperator().toString()); node.getOperand().accept(this); return false; }
From source file:boa.datagen.util.Java7Visitor.java
License:Apache License
@Override public boolean visit(PrefixExpression node) { boa.types.Ast.Expression.Builder b = boa.types.Ast.Expression.newBuilder(); // b.setPosition(pos.build()); if (node.getOperator() == PrefixExpression.Operator.DECREMENT) b.setKind(boa.types.Ast.Expression.ExpressionKind.OP_DEC); else if (node.getOperator() == PrefixExpression.Operator.INCREMENT) b.setKind(boa.types.Ast.Expression.ExpressionKind.OP_INC); else if (node.getOperator() == PrefixExpression.Operator.PLUS) b.setKind(boa.types.Ast.Expression.ExpressionKind.OP_ADD); else if (node.getOperator() == PrefixExpression.Operator.MINUS) b.setKind(boa.types.Ast.Expression.ExpressionKind.OP_SUB); else if (node.getOperator() == PrefixExpression.Operator.COMPLEMENT) b.setKind(boa.types.Ast.Expression.ExpressionKind.BIT_NOT); else if (node.getOperator() == PrefixExpression.Operator.NOT) b.setKind(boa.types.Ast.Expression.ExpressionKind.LOGICAL_NOT); node.getOperand().accept(this); b.addExpressions(expressions.pop()); expressions.push(b.build());/*from w w w. ja va 2s. co m*/ return false; }
From source file:ca.mcgill.cs.swevo.ppa.inference.PrefixInferenceStrategy.java
License:Open Source License
private void processOperators(PrefixExpression node, TypeFact newFact) { ITypeBinding newType = null;/* w ww . java 2 s. c om*/ Expression exp = node.getOperand(); boolean isPrimary = newFact != null && indexer.getMainIndex(node).equals(newFact.getIndex()); boolean isSafe = indexer.isSafe(exp) || (newFact != null && !isPrimary); if (node.getOperator() != PrefixExpression.Operator.NOT) { if (isPrimary && !isSafe) { ITypeBinding newBinding = newFact.getNewType(); ITypeBinding oldBinding = exp.resolveTypeBinding(); TypeFact typeFact = new TypeFact(indexer.getMainIndex(exp), oldBinding, TypeFact.UNKNOWN, newBinding, TypeFact.SUBTYPE, TypeFact.UNARY_STRATEGY); ppaEngine.reportTypeFact(typeFact); newType = newBinding; } else if (!isSafe) { ITypeBinding newBinding = ppaEngine.getRegistry().getPrimitiveBinding("int", exp); ITypeBinding oldBinding = exp.resolveTypeBinding(); TypeFact typeFact = new TypeFact(indexer.getMainIndex(exp), oldBinding, TypeFact.UNKNOWN, newBinding, TypeFact.SUBTYPE, TypeFact.UNARY_STRATEGY); ppaEngine.reportTypeFact(typeFact); newType = newBinding; } } else if (!isSafe) { ITypeBinding newBinding = ppaEngine.getRegistry().getPrimitiveBinding("boolean", exp); ITypeBinding oldBinding = exp.resolveTypeBinding(); TypeFact typeFact = new TypeFact(indexer.getMainIndex(exp), oldBinding, TypeFact.UNKNOWN, newBinding, TypeFact.SUBTYPE, TypeFact.UNARY_STRATEGY); ppaEngine.reportTypeFact(typeFact); newType = newBinding; } if (newType != null && !isPrimary) { ITypeBinding oldBinding = node.resolveTypeBinding(); TypeFact typeFact = new TypeFact(indexer.getMainIndex(node), oldBinding, TypeFact.UNKNOWN, newType, TypeFact.SUBTYPE, TypeFact.BINARY_STRATEGY); ppaEngine.reportTypeFact(typeFact); // report new type for this expression. // fix this expression. } else if (isPrimary) { if (newType != null) { ppaEngine.getRegistry().fixUnary(node, newType); } else if (newFact != null) { ppaEngine.getRegistry().fixUnary(node, newFact.getNewType()); } } }
From source file:coloredide.utils.CopiedNaiveASTFlattener.java
License:Open Source License
public boolean visit(PrefixExpression node) { this.buffer.append(node.getOperator().toString()); node.getOperand().accept(this); return false; }
From source file:com.bsiag.eclipse.jdt.java.formatter.SpacePreparator.java
License:Open Source License
@Override public boolean visit(PrefixExpression node) { Operator operator = node.getOperator(); if (operator.equals(Operator.INCREMENT) || operator.equals(Operator.DECREMENT)) { handleOperator(operator.toString(), node.getOperand(), this.options.insert_space_before_prefix_operator, this.options.insert_space_after_prefix_operator); } else {/*from w w w. j ava 2 s. co m*/ handleOperator(operator.toString(), node.getOperand(), this.options.insert_space_before_unary_operator, this.options.insert_space_after_unary_operator); } return true; }
From source file:com.google.dart.java2dart.SyntaxTranslator.java
License:Open Source License
@Override public boolean visit(org.eclipse.jdt.core.dom.PrefixExpression node) { Expression operand = translate(node.getOperand()); // operator//from www . ja v a2 s . com TokenType tokenType = null; org.eclipse.jdt.core.dom.PrefixExpression.Operator javaOperator = node.getOperator(); if (javaOperator == org.eclipse.jdt.core.dom.PrefixExpression.Operator.PLUS) { return done(operand); } if (javaOperator == org.eclipse.jdt.core.dom.PrefixExpression.Operator.INCREMENT) { tokenType = TokenType.PLUS_PLUS; } if (javaOperator == org.eclipse.jdt.core.dom.PrefixExpression.Operator.DECREMENT) { tokenType = TokenType.MINUS_MINUS; } if (javaOperator == org.eclipse.jdt.core.dom.PrefixExpression.Operator.MINUS) { tokenType = TokenType.MINUS; } if (javaOperator == org.eclipse.jdt.core.dom.PrefixExpression.Operator.NOT) { tokenType = TokenType.BANG; } if (javaOperator == org.eclipse.jdt.core.dom.PrefixExpression.Operator.COMPLEMENT) { tokenType = TokenType.TILDE; } Assert.isNotNull(tokenType, "No token for: " + javaOperator); // done return done(prefixExpression(tokenType, operand)); }
From source file:com.google.devtools.j2cpp.gen.CppStatementGenerator.java
License:Open Source License
@Override public boolean visit(PrefixExpression node) { if (node.getOperand() instanceof ArrayAccess) { PrefixExpression.Operator op = node.getOperator(); if (op == PrefixExpression.Operator.INCREMENT || op == PrefixExpression.Operator.DECREMENT) { String methodName = op == PrefixExpression.Operator.INCREMENT ? "incr" : "decr"; printArrayIncrementOrDecrement((ArrayAccess) node.getOperand(), methodName); return false; }/*ww w. java 2 s .c o m*/ } buffer.append(node.getOperator().toString()); node.getOperand().accept(this); return false; }
From source file:com.google.devtools.j2objc.ast.DebugASTPrinter.java
License:Apache License
@Override public boolean visit(PrefixExpression node) { sb.print(node.getOperator().toString()); node.getOperand().accept(this); return false; }
From source file:com.google.googlejavaformat.java.JavaInputAstVisitor.java
License:Apache License
/** Visitor method for {@link PrefixExpression}s. */ @Override/* www . j av a2 s . co m*/ public boolean visit(PrefixExpression node) { sync(node); String op = node.getOperator().toString(); builder.op(op); // Keep prefixes unambiguous. Expression operand = node.getOperand(); if ((op.equals("+") || op.equals("-")) && operand.getNodeType() == ASTNode.PREFIX_EXPRESSION && ((PrefixExpression) operand).getOperator().toString().startsWith(op)) { builder.space(); } operand.accept(this); return false; }
From source file:com.ibm.wala.cast.java.translator.jdt.JDTJava2CAstTranslator.java
License:Open Source License
private CAstNode visit(PrefixExpression n, WalkContext context) { PrefixExpression.Operator op = n.getOperator(); if (op == PrefixExpression.Operator.DECREMENT || op == PrefixExpression.Operator.INCREMENT) { CAstOperator castOp = (n.getOperator() == PrefixExpression.Operator.DECREMENT) ? CAstOperator.OP_SUB : CAstOperator.OP_ADD;/*from w w w .ja v a2 s . c o m*/ return makeNode(context, fFactory, n, CAstNode.ASSIGN_PRE_OP, visitNode(n.getOperand(), context), fFactory.makeConstant(1), castOp); } else if (op == PrefixExpression.Operator.PLUS) { return visitNode(n.getOperand(), context); // drop useless unary plus operator } else if (op == PrefixExpression.Operator.MINUS) { CAstNode zero; if (JDT2CAstUtils.isLongOrLess(n.getOperand().resolveTypeBinding())) zero = fFactory.makeConstant(0L); else zero = fFactory.makeConstant(0.0); return makeNode(context, fFactory, n, CAstNode.BINARY_EXPR, CAstOperator.OP_SUB, zero, visitNode(n.getOperand(), context)); } else { // ! and ~ CAstOperator castOp = (n.getOperator() == PrefixExpression.Operator.NOT) ? CAstOperator.OP_NOT : CAstOperator.OP_BITNOT; return makeNode(context, fFactory, n, CAstNode.UNARY_EXPR, castOp, visitNode(n.getOperand(), context)); } }