Java Code Examples for com.google.javascript.rhino.Token#NE

The following examples show how to use com.google.javascript.rhino.Token#NE . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Closure_60_NodeUtil_s.java    From coming with MIT License 6 votes vote down vote up
static boolean isBooleanResultHelper(Node n) {
  switch (n.getType()) {
    // Primitives
    case Token.TRUE:
    case Token.FALSE:
    // Comparisons
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
    // Queryies
    case Token.IN:
    case Token.INSTANCEOF:
    // Inversion
    case Token.NOT:
    // delete operator returns a boolean.
    case Token.DELPROP:
      return true;
    default:
      return false;
  }
}
 
Example 2
Source File: jMutRepair_003_t.java    From coming with MIT License 6 votes vote down vote up
static boolean isBooleanResultHelper(Node n) {
  switch (n.getType()) {
    // Primitives
    case Token.TRUE:
    case Token.FALSE:
    // Comparisons
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
    // Queries
    case Token.IN:
    case Token.INSTANCEOF:
    // Inversion
    case Token.NOT:
    // delete operator returns a boolean.
    case Token.DELPROP:
      return true;
    default:
      return false;
  }
}
 
Example 3
Source File: Closure_60_NodeUtil_t.java    From coming with MIT License 6 votes vote down vote up
static boolean isBooleanResultHelper(Node n) {
  switch (n.getType()) {
    // Primitives
    case Token.TRUE:
    case Token.FALSE:
    // Comparisons
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
    // Queryies
    case Token.IN:
    case Token.INSTANCEOF:
    // Inversion
    case Token.NOT:
    // delete operator returns a boolean.
    case Token.DELPROP:
      return true;
    default:
      return false;
  }
}
 
Example 4
Source File: Closure_10_NodeUtil_s.java    From coming with MIT License 6 votes vote down vote up
static boolean isBooleanResultHelper(Node n) {
  switch (n.getType()) {
    // Primitives
    case Token.TRUE:
    case Token.FALSE:
    // Comparisons
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
    // Queries
    case Token.IN:
    case Token.INSTANCEOF:
    // Inversion
    case Token.NOT:
    // delete operator returns a boolean.
    case Token.DELPROP:
      return true;
    default:
      return false;
  }
}
 
Example 5
Source File: Cardumen_0014_t.java    From coming with MIT License 6 votes vote down vote up
static boolean isBooleanResultHelper(Node n) {
  switch (n.getType()) {
    // Primitives
    case Token.TRUE:
    case Token.FALSE:
    // Comparisons
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
    // Queries
    case Token.IN:
    case Token.INSTANCEOF:
    // Inversion
    case Token.NOT:
    // delete operator returns a boolean.
    case Token.DELPROP:
      return true;
    default:
      return false;
  }
}
 
Example 6
Source File: Cardumen_0014_s.java    From coming with MIT License 5 votes vote down vote up
/**
 * Returns true if the operator on this node is symmetric
 */
static boolean isSymmetricOperation(Node n) {
  switch (n.getType()) {
    case Token.EQ: // equal
    case Token.NE: // not equal
    case Token.SHEQ: // exactly equal
    case Token.SHNE: // exactly not equal
    case Token.MUL: // multiply, unlike add it only works on numbers
                    // or results NaN if any of the operators is not a number
      return true;
  }
  return false;
}
 
Example 7
Source File: Cardumen_0087_t.java    From coming with MIT License 5 votes vote down vote up
/**
 * A "simple" operator is one whose children are expressions,
 * has no direct side-effects (unlike '+='), and has no
 * conditional aspects (unlike '||').
 */
static boolean isSimpleOperatorType(int type) {
  switch (type) {
    case Token.ADD:
    case Token.BITAND:
    case Token.BITNOT:
    case Token.BITOR:
    case Token.BITXOR:
    case Token.COMMA:
    case Token.DIV:
    case Token.EQ:
    case Token.GE:
    case Token.GETELEM:
    case Token.GETPROP:
    case Token.GT:
    case Token.INSTANCEOF:
    case Token.LE:
    case Token.LSH:
    case Token.LT:
    case Token.MOD:
    case Token.MUL:
    case Token.NE:
    case Token.NOT:
    case Token.RSH:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.SUB:
    case Token.TYPEOF:
    case Token.VOID:
    case Token.POS:
    case Token.NEG:
    case Token.URSH:
      return true;

    default:
      return false;
  }
}
 
Example 8
Source File: Closure_78_PeepholeFoldConstants_s.java    From coming with MIT License 5 votes vote down vote up
/**
 * @param value The value to compare to "undefined"
 * @param op The boolean op to compare with
 * @return Whether the boolean op is true or false
 */
private boolean compareToUndefined(Node value, int op) {
  boolean valueUndefined = ((Token.NAME == value.getType()
      && value.getString().equals("undefined"))
      || (Token.VOID == value.getType()
          && NodeUtil.isLiteralValue(value.getFirstChild(), false)));
  boolean valueNull = (Token.NULL == value.getType());
  boolean equivalent = valueUndefined || valueNull;
  switch (op) {
    case Token.EQ:
      // undefined is only equal to null or an undefined value
      return equivalent;
    case Token.NE:
      return !equivalent;
    case Token.SHEQ:
      return valueUndefined;
    case Token.SHNE:
      return !valueUndefined;
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
      return false;
    default:
      throw new IllegalStateException("unexpected.");
  }
}
 
Example 9
Source File: Closure_23_PeepholeFoldConstants_s.java    From coming with MIT License 5 votes vote down vote up
/**
 * The result of the comparison as a Boolean or null if the
 * result could not be determined.
 */
private Boolean compareAsNumbers(int op, Node left, Node right) {
  Double leftValue = NodeUtil.getNumberValue(left);
  if (leftValue == null) {
    return null;
  }
  Double rightValue = NodeUtil.getNumberValue(right);
  if (rightValue == null) {
    return null;
  }

  double lv = leftValue;
  double rv = rightValue;

  Boolean result;
  switch (op) {
    case Token.SHEQ:
    case Token.EQ:
      Preconditions.checkState(
          left.isNumber() && right.isNumber());
      result = lv == rv;
      break;
    case Token.SHNE:
    case Token.NE:
      Preconditions.checkState(
          left.isNumber() && right.isNumber());
      result = lv != rv;
      break;
    case Token.LE: result = lv <= rv; break;
    case Token.LT: result = lv <  rv; break;
    case Token.GE: result = lv >= rv; break;
    case Token.GT: result = lv >  rv; break;
    default:
      return null;  // don't handle that op
  }
  return result;
}
 
Example 10
Source File: Closure_78_PeepholeFoldConstants_t.java    From coming with MIT License 5 votes vote down vote up
/**
 * @param value The value to compare to "undefined"
 * @param op The boolean op to compare with
 * @return Whether the boolean op is true or false
 */
private boolean compareToUndefined(Node value, int op) {
  boolean valueUndefined = ((Token.NAME == value.getType()
      && value.getString().equals("undefined"))
      || (Token.VOID == value.getType()
          && NodeUtil.isLiteralValue(value.getFirstChild(), false)));
  boolean valueNull = (Token.NULL == value.getType());
  boolean equivalent = valueUndefined || valueNull;
  switch (op) {
    case Token.EQ:
      // undefined is only equal to null or an undefined value
      return equivalent;
    case Token.NE:
      return !equivalent;
    case Token.SHEQ:
      return valueUndefined;
    case Token.SHNE:
      return !valueUndefined;
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
      return false;
    default:
      throw new IllegalStateException("unexpected.");
  }
}
 
Example 11
Source File: Closure_23_PeepholeFoldConstants_s.java    From coming with MIT License 5 votes vote down vote up
private boolean isEqualityOp(int op) {
  switch (op) {
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:
      return true;
  }
  return false;
}
 
Example 12
Source File: Cardumen_0087_s.java    From coming with MIT License 5 votes vote down vote up
/**
 * A "simple" operator is one whose children are expressions,
 * has no direct side-effects (unlike '+='), and has no
 * conditional aspects (unlike '||').
 */
static boolean isSimpleOperatorType(int type) {
  switch (type) {
    case Token.ADD:
    case Token.BITAND:
    case Token.BITNOT:
    case Token.BITOR:
    case Token.BITXOR:
    case Token.COMMA:
    case Token.DIV:
    case Token.EQ:
    case Token.GE:
    case Token.GETELEM:
    case Token.GETPROP:
    case Token.GT:
    case Token.INSTANCEOF:
    case Token.LE:
    case Token.LSH:
    case Token.LT:
    case Token.MOD:
    case Token.MUL:
    case Token.NE:
    case Token.NOT:
    case Token.RSH:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.SUB:
    case Token.TYPEOF:
    case Token.VOID:
    case Token.POS:
    case Token.NEG:
    case Token.URSH:
      return true;

    default:
      return false;
  }
}
 
Example 13
Source File: Closure_78_PeepholeFoldConstants_t.java    From coming with MIT License 5 votes vote down vote up
/**
 * The result of the comparison as a Boolean or null if the
 * result could not be determined.
 */
private Boolean compareAsNumbers(int op, Node left, Node right) {
  Double leftValue = NodeUtil.getNumberValue(left);
  if (leftValue == null) {
    return null;
  }
  Double rightValue = NodeUtil.getNumberValue(right);
  if (rightValue == null) {
    return null;
  }

  double lv = leftValue;
  double rv = rightValue;

  Boolean result;
  switch (op) {
    case Token.SHEQ:
    case Token.EQ:
      Preconditions.checkState(
          left.getType() == Token.NUMBER && right.getType() == Token.NUMBER);
      result = lv == rv;
      break;
    case Token.SHNE:
    case Token.NE:
      Preconditions.checkState(
          left.getType() == Token.NUMBER && right.getType() == Token.NUMBER);
      result = lv != rv;
      break;
    case Token.LE: result = lv <= rv; break;
    case Token.LT: result = lv <  rv; break;
    case Token.GE: result = lv >= rv; break;
    case Token.GT: result = lv >  rv; break;
    default:
      return null;  // don't handle that op
  }
  return result;
}
 
Example 14
Source File: jMutRepair_003_t.java    From coming with MIT License 4 votes vote down vote up
/**
 * Determines whether the given value may be assigned to a define.
 *
 * @param val The value being assigned.
 * @param defines The list of names of existing defines.
 */
static boolean isValidDefineValue(Node val, Set<String> defines) {
  switch (val.getType()) {
    case Token.STRING:
    case Token.NUMBER:
    case Token.TRUE:
    case Token.FALSE:
      return true;

    // Binary operators are only valid if both children are valid.
    case Token.ADD:
    case Token.BITAND:
    case Token.BITNOT:
    case Token.BITOR:
    case Token.BITXOR:
    case Token.DIV:
    case Token.EQ:
    case Token.GE:
    case Token.GT:
    case Token.LE:
    case Token.LSH:
    case Token.LT:
    case Token.MOD:
    case Token.MUL:
    case Token.NE:
    case Token.RSH:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.SUB:
    case Token.URSH:
      return isValidDefineValue(val.getFirstChild(), defines)
          && isValidDefineValue(val.getLastChild(), defines);

    // Unary operators are valid if the child is valid.
    case Token.NOT:
    case Token.NEG:
    case Token.POS:
      return isValidDefineValue(val.getFirstChild(), defines);

    // Names are valid if and only if they are defines themselves.
    case Token.NAME:
    case Token.GETPROP:
      if (val.isQualifiedName()) {
        return defines.contains(val.getQualifiedName());
      }
  }
  return false;
}
 
Example 15
Source File: NodeUtil.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
static int precedence(int type) {
  switch (type) {
    case Token.COMMA:  return 0;
    case Token.ASSIGN_BITOR:
    case Token.ASSIGN_BITXOR:
    case Token.ASSIGN_BITAND:
    case Token.ASSIGN_LSH:
    case Token.ASSIGN_RSH:
    case Token.ASSIGN_URSH:
    case Token.ASSIGN_ADD:
    case Token.ASSIGN_SUB:
    case Token.ASSIGN_MUL:
    case Token.ASSIGN_DIV:
    case Token.ASSIGN_MOD:
    case Token.ASSIGN: return 1;
    case Token.HOOK:   return 2;  // ?: operator
    case Token.OR:     return 3;
    case Token.AND:    return 4;
    case Token.BITOR:  return 5;
    case Token.BITXOR: return 6;
    case Token.BITAND: return 7;
    case Token.EQ:
    case Token.NE:
    case Token.SHEQ:
    case Token.SHNE:   return 8;
    case Token.LT:
    case Token.GT:
    case Token.LE:
    case Token.GE:
    case Token.INSTANCEOF:
    case Token.IN:     return 9;
    case Token.LSH:
    case Token.RSH:
    case Token.URSH:   return 10;
    case Token.SUB:
    case Token.ADD:    return 11;
    case Token.MUL:
    case Token.MOD:
    case Token.DIV:    return 12;
    case Token.INC:
    case Token.DEC:
    case Token.NEW:
    case Token.DELPROP:
    case Token.TYPEOF:
    case Token.VOID:
    case Token.NOT:
    case Token.BITNOT:
    case Token.POS:
    case Token.NEG:    return 13;

    case Token.CALL:
    case Token.GETELEM:
    case Token.GETPROP:
    // Data values
    case Token.ARRAYLIT:
    case Token.EMPTY:  // TODO(johnlenz): remove this.
    case Token.FALSE:
    case Token.FUNCTION:
    case Token.NAME:
    case Token.NULL:
    case Token.NUMBER:
    case Token.OBJECTLIT:
    case Token.REGEXP:
    case Token.STRING:
    case Token.STRING_KEY:
    case Token.THIS:
    case Token.TRUE:
      return 15;
    case Token.CAST:
      return 16;

    default: throw new Error("Unknown precedence for " +
                             Token.name(type) +
                             " (type " + type + ")");
  }
}
 
Example 16
Source File: Closure_60_NodeUtil_t.java    From coming with MIT License 4 votes vote down vote up
/**
 * Converts an operator's token value (see {@link Token}) to a string
 * representation.
 *
 * @param operator the operator's token value to convert
 * @return the string representation or {@code null} if the token value is
 * not an operator
 */
static String opToStr(int operator) {
  switch (operator) {
    case Token.BITOR: return "|";
    case Token.OR: return "||";
    case Token.BITXOR: return "^";
    case Token.AND: return "&&";
    case Token.BITAND: return "&";
    case Token.SHEQ: return "===";
    case Token.EQ: return "==";
    case Token.NOT: return "!";
    case Token.NE: return "!=";
    case Token.SHNE: return "!==";
    case Token.LSH: return "<<";
    case Token.IN: return "in";
    case Token.LE: return "<=";
    case Token.LT: return "<";
    case Token.URSH: return ">>>";
    case Token.RSH: return ">>";
    case Token.GE: return ">=";
    case Token.GT: return ">";
    case Token.MUL: return "*";
    case Token.DIV: return "/";
    case Token.MOD: return "%";
    case Token.BITNOT: return "~";
    case Token.ADD: return "+";
    case Token.SUB: return "-";
    case Token.POS: return "+";
    case Token.NEG: return "-";
    case Token.ASSIGN: return "=";
    case Token.ASSIGN_BITOR: return "|=";
    case Token.ASSIGN_BITXOR: return "^=";
    case Token.ASSIGN_BITAND: return "&=";
    case Token.ASSIGN_LSH: return "<<=";
    case Token.ASSIGN_RSH: return ">>=";
    case Token.ASSIGN_URSH: return ">>>=";
    case Token.ASSIGN_ADD: return "+=";
    case Token.ASSIGN_SUB: return "-=";
    case Token.ASSIGN_MUL: return "*=";
    case Token.ASSIGN_DIV: return "/=";
    case Token.ASSIGN_MOD: return "%=";
    case Token.VOID: return "void";
    case Token.TYPEOF: return "typeof";
    case Token.INSTANCEOF: return "instanceof";
    default: return null;
  }
}
 
Example 17
Source File: Cardumen_0014_t.java    From coming with MIT License 4 votes vote down vote up
/**
 * Determines whether the given value may be assigned to a define.
 *
 * @param val The value being assigned.
 * @param defines The list of names of existing defines.
 */
static boolean isValidDefineValue(Node val, Set<String> defines) {
  switch (val.getType()) {
    case Token.STRING:
    case Token.NUMBER:
    case Token.TRUE:
    case Token.FALSE:
      return true;

    // Binary operators are only valid if both children are valid.
    case Token.ADD:
    case Token.BITAND:
    case Token.BITNOT:
    case Token.BITOR:
    case Token.BITXOR:
    case Token.DIV:
    case Token.EQ:
    case Token.GE:
    case Token.GT:
    case Token.LE:
    case Token.LSH:
    case Token.LT:
    case Token.MOD:
    case Token.MUL:
    case Token.NE:
    case Token.RSH:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.SUB:
    case Token.URSH:
      return isValidDefineValue(val.getFirstChild(), defines)
          && isValidDefineValue(val.getLastChild(), defines);

    // Unary operators are valid if the child is valid.
    case Token.NOT:
    case Token.NEG:
    case Token.POS:
      return isValidDefineValue(val.getFirstChild(), defines);

    // Names are valid if and only if they are defines themselves.
    case Token.NAME:
    case Token.GETPROP:
      if (val.isQualifiedName()) {
        return defines.contains(val.getQualifiedName());
      }
  }
  return false;
}
 
Example 18
Source File: Cardumen_0087_t.java    From coming with MIT License 4 votes vote down vote up
/**
 * Converts an operator's token value (see {@link Token}) to a string
 * representation.
 *
 * @param operator the operator's token value to convert
 * @return the string representation or {@code null} if the token value is
 * not an operator
 */
static String opToStr(int operator) {
  switch (operator) {
    case Token.BITOR: return "|";
    case Token.OR: return "||";
    case Token.BITXOR: return "^";
    case Token.AND: return "&&";
    case Token.BITAND: return "&";
    case Token.SHEQ: return "===";
    case Token.EQ: return "==";
    case Token.NOT: return "!";
    case Token.NE: return "!=";
    case Token.SHNE: return "!==";
    case Token.LSH: return "<<";
    case Token.IN: return "in";
    case Token.LE: return "<=";
    case Token.LT: return "<";
    case Token.URSH: return ">>>";
    case Token.RSH: return ">>";
    case Token.GE: return ">=";
    case Token.GT: return ">";
    case Token.MUL: return "*";
    case Token.DIV: return "/";
    case Token.MOD: return "%";
    case Token.BITNOT: return "~";
    case Token.ADD: return "+";
    case Token.SUB: return "-";
    case Token.POS: return "+";
    case Token.NEG: return "-";
    case Token.ASSIGN: return "=";
    case Token.ASSIGN_BITOR: return "|=";
    case Token.ASSIGN_BITXOR: return "^=";
    case Token.ASSIGN_BITAND: return "&=";
    case Token.ASSIGN_LSH: return "<<=";
    case Token.ASSIGN_RSH: return ">>=";
    case Token.ASSIGN_URSH: return ">>>=";
    case Token.ASSIGN_ADD: return "+=";
    case Token.ASSIGN_SUB: return "-=";
    case Token.ASSIGN_MUL: return "*=";
    case Token.ASSIGN_DIV: return "/=";
    case Token.ASSIGN_MOD: return "%=";
    case Token.VOID: return "void";
    case Token.TYPEOF: return "typeof";
    case Token.INSTANCEOF: return "instanceof";
    default: return null;
  }
}
 
Example 19
Source File: jMutRepair_003_s.java    From coming with MIT License 4 votes vote down vote up
/**
 * Determines whether the given value may be assigned to a define.
 *
 * @param val The value being assigned.
 * @param defines The list of names of existing defines.
 */
static boolean isValidDefineValue(Node val, Set<String> defines) {
  switch (val.getType()) {
    case Token.STRING:
    case Token.NUMBER:
    case Token.TRUE:
    case Token.FALSE:
      return true;

    // Binary operators are only valid if both children are valid.
    case Token.ADD:
    case Token.BITAND:
    case Token.BITNOT:
    case Token.BITOR:
    case Token.BITXOR:
    case Token.DIV:
    case Token.EQ:
    case Token.GE:
    case Token.GT:
    case Token.LE:
    case Token.LSH:
    case Token.LT:
    case Token.MOD:
    case Token.MUL:
    case Token.NE:
    case Token.RSH:
    case Token.SHEQ:
    case Token.SHNE:
    case Token.SUB:
    case Token.URSH:
      return isValidDefineValue(val.getFirstChild(), defines)
          && isValidDefineValue(val.getLastChild(), defines);

    // Unary operators are valid if the child is valid.
    case Token.NOT:
    case Token.NEG:
    case Token.POS:
      return isValidDefineValue(val.getFirstChild(), defines);

    // Names are valid if and only if they are defines themselves.
    case Token.NAME:
    case Token.GETPROP:
      if (val.isQualifiedName()) {
        return defines.contains(val.getQualifiedName());
      }
  }
  return false;
}
 
Example 20
Source File: Reader.java    From astor with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Returns binary operator associated with a specified name.
 */
private static int getNodeTypeForBinaryOp(String name) {
  Operator op = get(name);

  int type;
  switch (op) {
    case BITOR:
      type = Token.BITOR;
      break;
    case BITXOR:
      type = Token.BITXOR;
      break;
    case BITAND:
      type = Token.BITAND;
      break;
    case EQ:
      type = Token.EQ;
      break;
    case NE:
      type = Token.NE;
      break;
    case LT:
      type = Token.LT;
      break;
    case LE:
      type = Token.LE;
      break;
    case GT:
      type = Token.GT;
      break;
    case GE:
      type = Token.GE;
      break;
    case LSH:
      type = Token.LSH;
      break;
    case RSH:
      type = Token.RSH;
      break;
    case URSH:
      type = Token.URSH;
      break;
    case ADD:
      type = Token.ADD;
      break;
    case SUB:
      type = Token.SUB;
      break;
    case MUL:
      type = Token.MUL;
      break;
    case DIV:
      type = Token.DIV;
      break;
    case MOD:
      type = Token.MOD;
      break;
    case SHEQ:
      type = Token.SHEQ;
      break;
    case SHNE:
      type = Token.SHNE;
      break;
    case COMMA:
      type = Token.COMMA;
      break;
    case INSTANCEOF:
      type = Token.INSTANCEOF;
      break;
    case IN:
      type = Token.IN;
      break;
    default:
      throw new IllegalArgumentException(""
          + "Invalid type of binary expression.");
  }
  return type;
}