本文整理了Java中org.codehaus.groovy.syntax.Token.getType()
方法的一些代码示例,展示了Token.getType()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Token.getType()
方法的具体详情如下:
包路径:org.codehaus.groovy.syntax.Token
类名称:Token
方法名:getType
[英]Returns the actual type of the node. If the node isEmpty(), returns the type of Token.NULL.
[中]返回节点的实际类型。如果节点为空(),则返回令牌的类型。无效的
代码示例来源:origin: org.codehaus.groovy/groovy
/**
* Checks that a given token is either in the whitelist or not in the blacklist.
*
* @param token the token to be checked
* @throws SecurityException if usage of this token is forbidden
*/
private void assertTokenAuthorized(final Token token) throws SecurityException {
final int value = token.getType();
if (tokensBlacklist != null && tokensBlacklist.contains(value)) {
throw new SecurityException("Token " + token + " is not allowed");
} else if (tokensWhitelist != null && !tokensWhitelist.contains(value)) {
throw new SecurityException("Token " + token + " is not allowed");
}
}
代码示例来源:origin: apache/groovy
protected String tokenAsSql(Token token) {
switch (token.getType()) {
case Types.COMPARE_EQUAL:
return "=";
case Types.LOGICAL_AND:
return "and";
case Types.LOGICAL_OR:
return "or";
default:
return token.getText();
}
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
/**
* Returns the actual type of the node. If the node isEmpty(), returns
* the type of Token.NULL.
*/
public int getType()
{
return getRoot( true ).getType();
}
代码示例来源:origin: spockframework/spock
private BinaryExpression getOrExpression(Expression expr) {
BinaryExpression binExpr = ObjectUtil.asInstance(expr, BinaryExpression.class);
if (binExpr == null) return null;
int binExprType = binExpr.getOperation().getType();
if (binExprType == Types.BITWISE_OR || binExprType == Types.LOGICAL_OR) return binExpr;
return null;
}
代码示例来源:origin: org.codehaus.groovy/groovy
/**
* Returns true for expressions of the form x[...]
*
* @param expression an expression
* @return true for array access expressions
*/
protected static boolean isArrayAccessExpression(Expression expression) {
return expression instanceof BinaryExpression && isArrayOp(((BinaryExpression) expression).getOperation().getType());
}
代码示例来源:origin: org.codehaus.groovy/groovy
private boolean isCompoundAssignment(Expression exp) {
if (!(exp instanceof BinaryExpression)) return false;
int type = ((BinaryExpression) exp).getOperation().getType();
return isAssignment(type) && type != ASSIGN;
}
代码示例来源:origin: org.codehaus.groovy/groovy
private static boolean isAssignmentToArray(BinaryExpression binExp) {
Expression leftExpression = binExp.getLeftExpression();
if (!(leftExpression instanceof BinaryExpression)) return false;
BinaryExpression leftBinExpr = (BinaryExpression) leftExpression;
return leftBinExpr.getOperation().getType() == LEFT_SQUARE_BRACKET;
}
代码示例来源:origin: spockframework/spock
private Expression parseResults(Expression expr) {
while (expr instanceof BinaryExpression) {
BinaryExpression binExpr = (BinaryExpression) expr;
int type = binExpr.getOperation().getType();
if (type != Types.RIGHT_SHIFT && type != Types.RIGHT_SHIFT_UNSIGNED) break;
responses.add(new InteractionResponse(binExpr.getRightExpression(), type == Types.RIGHT_SHIFT_UNSIGNED));
expr = binExpr.getLeftExpression();
}
return expr;
}
代码示例来源:origin: spockframework/spock
private Expression parseCount(Expression expr) {
BinaryExpression binExpr = ObjectUtil.asInstance(expr, BinaryExpression.class);
if (binExpr == null || binExpr.getOperation().getType() != Types.MULTIPLY) return expr;
count = binExpr.getLeftExpression();
return binExpr.getRightExpression();
}
代码示例来源:origin: org.codehaus.groovy/groovy
@Override
public void visitPostfixExpression(final PostfixExpression expression) {
super.visitPostfixExpression(expression);
Expression inner = expression.getExpression();
int op = expression.getOperation().getType();
visitPrefixOrPostifExpression(expression, inner, op);
}
代码示例来源:origin: org.codehaus.groovy/groovy
@Override
public void visitPrefixExpression(final PrefixExpression expression) {
super.visitPrefixExpression(expression);
Expression inner = expression.getExpression();
int type = expression.getOperation().getType();
visitPrefixOrPostifExpression(expression, inner, type);
}
代码示例来源:origin: org.codehaus.groovy/groovy
private boolean isLHSOfEnclosingAssignment(final Expression expression) {
final BinaryExpression ec = typeCheckingContext.getEnclosingBinaryExpression();
return ec != null && ec.getLeftExpression() == expression && isAssignment(ec.getOperation().getType());
}
代码示例来源:origin: spockframework/spock
private void checkIsValidImplicitCondition(Statement stat) {
BinaryExpression binExpr = AstUtil.getExpression(stat, BinaryExpression.class);
if (binExpr == null) return;
if (Types.ofType(binExpr.getOperation().getType(), Types.ASSIGNMENT_OPERATOR)) {
resources.getErrorReporter().error(stat, "Expected a condition, but found an assignment. Did you intend to write '==' ?");
}
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
public String getText() {
if (operation.getType() == Types.LEFT_SQUARE_BRACKET) {
return leftExpression.getText() + "[" + rightExpression.getText() + "]";
}
return "(" + leftExpression.getText() + " " + operation.getText() + " " + rightExpression.getText() + ")";
}
代码示例来源:origin: org.codehaus.groovy/groovy
public void evaluatePrefixMethod(PrefixExpression expression) {
int type = expression.getOperation().getType();
switch (type) {
case Types.PLUS_PLUS:
evaluatePrefixMethod(type, "next", expression.getExpression(), expression);
break;
case Types.MINUS_MINUS:
evaluatePrefixMethod(type, "previous", expression.getExpression(), expression);
break;
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
public void evaluatePostfixMethod(PostfixExpression expression) {
int op = expression.getOperation().getType();
switch (op) {
case Types.PLUS_PLUS:
evaluatePostfixMethod(op, "next", expression.getExpression(), expression);
break;
case Types.MINUS_MINUS:
evaluatePostfixMethod(op, "previous", expression.getExpression(), expression);
break;
}
}
代码示例来源:origin: org.codehaus.groovy/groovy
private Token getOpWithoutEqual(Expression exp) {
if (!(exp instanceof BinaryExpression)) return null; // should never happen
Token op = ((BinaryExpression) exp).getOperation();
int typeWithoutEqual = TokenUtil.removeAssignment(op.getType());
return new Token(typeWithoutEqual, op.getText() /* will do */, op.getStartLine(), op.getStartColumn());
}
代码示例来源:origin: spockframework/spock
@Override
public void visitBinaryExpression(BinaryExpression expr) {
// order of convert calls is important or indexes and thus recorded values get confused
Expression convertedLeftExpression = Types.ofType(expr.getOperation().getType(), Types.ASSIGNMENT_OPERATOR) ?
// prevent lvalue from getting turned into record(lvalue), which can no longer be assigned to
convertAndRecordNa(expr.getLeftExpression()) :
convert(expr.getLeftExpression());
Expression convertedRightExpression = convert(expr.getRightExpression());
Expression conversion =
Types.ofType(expr.getOperation().getType(), Types.KEYWORD_INSTANCEOF) ?
// morph instanceof expression to isInstance method call to be able to record rvalue
new MethodCallExpression(convertedRightExpression, "isInstance", convertedLeftExpression):
new BinaryExpression(convertedLeftExpression, expr.getOperation(), convertedRightExpression);
conversion.setSourcePosition(expr);
result = record(conversion);
}
代码示例来源:origin: spockframework/spock
@Override
public void visitBinaryExpression(BinaryExpression expr) {
result = new ExpressionInfo(
TextRegion.of(expr),
expr.getOperation().getType() == Types.LEFT_SQUARE_BRACKET ?
startOf("[", expr.getRightExpression()) : // workaround for the fact that Token.startLine == 0 for token [
TextPosition.startOf(expr.getOperation()),
expr.getOperation().getText(),
convert(expr.getLeftExpression()),
convert(expr.getRightExpression())
);
}
代码示例来源:origin: org.codehaus.groovy/groovy
protected boolean doPrimitiveCompare(ClassNode leftType, ClassNode rightType, BinaryExpression binExp) {
Expression leftExp = binExp.getLeftExpression();
Expression rightExp = binExp.getRightExpression();
int operation = binExp.getOperation().getType();
int operationType = getOperandConversionType(leftType,rightType);
BinaryExpressionWriter bew = binExpWriter[operationType];
if (!bew.write(operation, true)) return false;
AsmClassGenerator acg = getController().getAcg();
OperandStack os = getController().getOperandStack();
leftExp.visit(acg);
os.doGroovyCast(bew.getNormalOpResultType());
rightExp.visit(acg);
os.doGroovyCast(bew.getNormalOpResultType());
bew.write(operation, false);
return true;
}
内容来源于网络,如有侵权,请联系作者删除!