当前位置: 首页>>代码示例>>Java>>正文


Java Token.AND属性代码示例

本文整理汇总了Java中org.mozilla.javascript.Token.AND属性的典型用法代码示例。如果您正苦于以下问题:Java Token.AND属性的具体用法?Java Token.AND怎么用?Java Token.AND使用的例子?那么恭喜您, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在org.mozilla.javascript.Token的用法示例。


在下文中一共展示了Token.AND属性的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: hasSideEffects

@Override
public boolean hasSideEffects() {
    // the null-checks are for malformed expressions in IDE-mode
    switch (getType()) {
      case Token.COMMA:
          return right != null && right.hasSideEffects();
      case Token.AND:
      case Token.OR:
          return left != null && left.hasSideEffects()
                  || (right != null && right.hasSideEffects());
      default:
          return super.hasSideEffects();
    }
}
 
开发者ID:MikaGuraN,项目名称:HL4A,代码行数:14,代码来源:InfixExpression.java

示例2: processInfixExpression

/**
 *  for infix expressions, we ignore implicit coercions for now. For arithmetic
 *  operators, we assume the type of the entire expression to be the same as that
 *  of either operand. For comparison operators, we require operands to have
 *  the same type, and assume that the result is a boolean. Note that Assignments
 *  are also InfixExpressions and that some property-get operations show up as
 *  InfixExpressions for which the operator is GETPROP.
 */
private ITypeTerm processInfixExpression(InfixExpression i) throws Error {
	int operator = i.getOperator();
	AstNode leftOperand = i.getLeft();
	AstNode rightOperand = i.getRight();
	ITypeTerm iTerm = findOrCreateExpressionTerm(i);
	switch (operator){
		case Token.GETPROP:
			return processPropertyGet(i, leftOperand, rightOperand);
		case Token.ASSIGN:
		case Token.ASSIGN_ADD:
		case Token.ASSIGN_SUB:
		case Token.ASSIGN_MUL:
		case Token.ASSIGN_DIV:
		case Token.ASSIGN_BITAND:
		case Token.ASSIGN_BITOR:
		case Token.ASSIGN_BITXOR:
		case Token.ASSIGN_RSH:
			processAssignment((Assignment)i);
		return iTerm;
		case Token.ADD:
           case Token.SUB:
           case Token.MUL:
           case Token.DIV:
           case Token.MOD:
           case Token.BITOR:
           case Token.EQ:
           case Token.LE:
           case Token.LT:
           case Token.NE:
           case Token.GT:
           case Token.GE:
           case Token.SHNE:
           case Token.SHEQ:
           case Token.AND:
           case Token.OR:
           case Token.BITAND:
           case Token.BITXOR:
           case Token.LSH:
           case Token.RSH:
           case Token.URSH:
           case Token.IN:
			ITypeTerm leftTerm = processExpression(leftOperand);
			ITypeTerm rightTerm = processExpression(rightOperand);
			OperatorTerm opTerm = findOrCreateOperatorTerm(RhinoToIR.decodeRhinoOperator(operator), leftTerm, rightTerm, i.getLineno());
			addTypeEqualityConstraint(iTerm, opTerm, i.getLineno(), (solution) -> binaryOperatorMisuse(i, solution.typeOfTerm(leftTerm), solution.typeOfTerm(rightTerm), solution.typeOfTerm(opTerm)));
			break;
		default:
			error("unexpected infix operator: " + operator + "(" + RhinoToIR.decodeRhinoOperator(operator) + ") in " + i.toSource(), i);
	}
	theMap.put(i, iTerm);
	return iTerm;
}
 
开发者ID:Samsung,项目名称:SJS,代码行数:60,代码来源:ConstraintVisitor.java


注:本文中的org.mozilla.javascript.Token.AND属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。