org.mozilla.javascript.ast.UnaryExpression.getType()方法的使用及代码示例

x33g5p2x  于2022-02-01 转载在 JavaScript  
字(7.2k)|赞(0)|评价(0)|浏览(122)

本文整理了Java中org.mozilla.javascript.ast.UnaryExpression.getType()方法的一些代码示例,展示了UnaryExpression.getType()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UnaryExpression.getType()方法的具体详情如下:
包路径:org.mozilla.javascript.ast.UnaryExpression
类名称:UnaryExpression
方法名:getType

UnaryExpression.getType介绍

暂无

代码示例

代码示例来源:origin: konsoletyper/teavm

private void printUnary(UnaryExpression node, int precedence) throws IOException {
  int innerPrecedence = node.isPostfix() ? PRECEDENCE_POSTFIX : PRECEDENCE_PREFIX;
  if (innerPrecedence > precedence) {
    writer.append('(');
  }
  if (!node.isPostfix()) {
    String op = AstNode.operatorToString(node.getType());
    if (op.startsWith("-")) {
      writer.append(' ');
    }
    writer.append(op);
    if (requiresWhitespaces(node.getType())) {
      writer.append(' ');
    }
  }
  print(node.getOperand(), innerPrecedence);
  if (node.isPostfix()) {
    writer.append(AstNode.operatorToString(node.getType()));
  }
  if (innerPrecedence > precedence) {
    writer.append(')');
  }
}

代码示例来源:origin: com.github.tntim96/rhino

@Override
public String toSource(int depth) {
  StringBuilder sb = new StringBuilder();
  sb.append(makeIndent(depth));
  int type = getType();
  if (!isPostfix) {
    sb.append(operatorToString(type));
    if (type == Token.TYPEOF || type == Token.DELPROP || type == Token.VOID) {
      sb.append(" ");
    }
  }
  sb.append(operand.toSource());
  if (isPostfix) {
    sb.append(operatorToString(type));
  }
  return sb.toString();
}

代码示例来源:origin: io.apigee/rhino

@Override
public String toSource(int depth) {
  StringBuilder sb = new StringBuilder();
  sb.append(makeIndent(depth));
  int type = getType();
  if (!isPostfix) {
    sb.append(operatorToString(type));
    if (type == Token.TYPEOF || type == Token.DELPROP || type == Token.VOID) {
      sb.append(" ");
    }
  }
  sb.append(operand.toSource());
  if (isPostfix) {
    sb.append(operatorToString(type));
  }
  return sb.toString();
}

代码示例来源:origin: ro.isdc.wro4j/rhino

@Override
public String toSource(int depth) {
  StringBuilder sb = new StringBuilder();
  sb.append(makeIndent(depth));
  int type = getType();
  if (!isPostfix) {
    sb.append(operatorToString(type));
    if (type == Token.TYPEOF || type == Token.DELPROP || type == Token.VOID) {
      sb.append(" ");
    }
  }
  sb.append(operand.toSource());
  if (isPostfix) {
    sb.append(operatorToString(type));
  }
  return sb.toString();
}

代码示例来源:origin: geogebra/geogebra

@Override
public String toSource(int depth) {
  StringBuilder sb = new StringBuilder();
  sb.append(makeIndent(depth));
  int type = getType();
  if (!isPostfix) {
    sb.append(operatorToString(type));
    if (type == Token.TYPEOF || type == Token.DELPROP || type == Token.VOID) {
      sb.append(" ");
    }
  }
  sb.append(operand.toSource());
  if (isPostfix) {
    sb.append(operatorToString(type));
  }
  return sb.toString();
}

代码示例来源:origin: io.apigee/rhino

private void checkBadIncDec(UnaryExpression expr) {
  AstNode op = removeParens(expr.getOperand());
  int tt = op.getType();
  if (!(tt == Token.NAME
     || tt == Token.GETPROP
     || tt == Token.GETELEM
     || tt == Token.GET_REF
     || tt == Token.CALL))
    reportError(expr.getType() == Token.INC
          ? "msg.bad.incr"
          : "msg.bad.decr");
}

代码示例来源:origin: com.github.tntim96/rhino

private void checkBadIncDec(UnaryExpression expr) {
  AstNode op = removeParens(expr.getOperand());
  int tt = op.getType();
  if (!(tt == Token.NAME
     || tt == Token.GETPROP
     || tt == Token.GETELEM
     || tt == Token.GET_REF
     || tt == Token.CALL))
    reportError(expr.getType() == Token.INC
          ? "msg.bad.incr"
          : "msg.bad.decr");
}

代码示例来源:origin: geogebra/geogebra

private void checkBadIncDec(UnaryExpression expr) {
  AstNode op = removeParens(expr.getOperand());
  int tt = op.getType();
  if (!(tt == Token.NAME
     || tt == Token.GETPROP
     || tt == Token.GETELEM
     || tt == Token.GET_REF
     || tt == Token.CALL))
    reportError(expr.getType() == Token.INC
          ? "msg.bad.incr"
          : "msg.bad.decr");
}

代码示例来源:origin: ro.isdc.wro4j/rhino

private void checkBadIncDec(UnaryExpression expr) {
  AstNode op = removeParens(expr.getOperand());
  int tt = op.getType();
  if (!(tt == Token.NAME
     || tt == Token.GETPROP
     || tt == Token.GETELEM
     || tt == Token.GET_REF
     || tt == Token.CALL))
    reportError(expr.getType() == Token.INC
          ? "msg.bad.incr"
          : "msg.bad.decr");
}

代码示例来源:origin: wala/WALA

@Override
public CAstNode visitUnaryExpression(UnaryExpression node, WalkContext arg) {
  if (node.getType() == Token.INC || node.getType() == Token.DEC) {
    CAstNode op = (node.getType() == Token.DEC) ? CAstOperator.OP_SUB : CAstOperator.OP_ADD;
    AstNode l = node.getOperand();
    CAstNode last = visit(l, arg);
    return Ast.makeNode((node.isPostfix() ? CAstNode.ASSIGN_POST_OP : CAstNode.ASSIGN_PRE_OP), last,
        Ast.makeConstant(1), op);
    
  } else if (node.getType() == Token.TYPEOFNAME) {
    return Ast.makeNode(CAstNode.TYPE_OF, Ast.makeNode(CAstNode.VAR, Ast.makeConstant(node.getString())));
  }    else if (node.getType() == Token.TYPEOF) {
    return Ast.makeNode(CAstNode.TYPE_OF, visit(node.getOperand(), arg));
} else if (node.getType() == Token.DELPROP) {
 AstNode expr = node.getOperand();
 if (expr instanceof FunctionCall) {
  expr = ((FunctionCall) expr).getTarget();
  assert expr instanceof PropertyGet;
 }
 
 return Ast.makeNode(CAstNode.ASSIGN, visit(expr, arg), Ast.makeConstant(null));
  } else if (node.getType() == Token.VOID) {
   return Ast.makeConstant(null);
  } else {
    return Ast.makeNode(CAstNode.UNARY_EXPR, translateOpcode(node.getOperator()), visit(node.getOperand(), arg));
  }
}

代码示例来源:origin: org.teavm/teavm-jso-impl

private void printUnary(UnaryExpression node, int precedence) throws IOException {
  int innerPrecedence = node.isPostfix() ? PRECEDENCE_POSTFIX : PRECEDENCE_PREFIX;
  if (innerPrecedence > precedence) {
    writer.append('(');
  }
  if (!node.isPostfix()) {
    String op = AstNode.operatorToString(node.getType());
    if (op.startsWith("-")) {
      writer.append(' ');
    }
    writer.append(op);
    if (requiresWhitespaces(node.getType())) {
      writer.append(' ');
    }
  }
  print(node.getOperand(), innerPrecedence);
  if (node.isPostfix()) {
    writer.append(AstNode.operatorToString(node.getType()));
  }
  if (innerPrecedence > precedence) {
    writer.append(')');
  }
}

代码示例来源:origin: geogebra/geogebra

private Node transformUnary(UnaryExpression node) {
  int type = node.getType();
  if (type == Token.DEFAULTNAMESPACE) {
    return transformDefaultXmlNamepace(node);
  }
  if (node.isPrefix()) {
    decompiler.addToken(type);
  }
  Node child = transform(node.getOperand());
  if (node.isPostfix()) {
    decompiler.addToken(type);
  }
  if (type == Token.INC || type == Token.DEC) {
    return createIncDec(type, node.isPostfix(), child);
  }
  return createUnary(type, child);
}

代码示例来源:origin: ro.isdc.wro4j/rhino

private Node transformUnary(UnaryExpression node) {
  int type = node.getType();
  if (type == Token.DEFAULTNAMESPACE) {
    return transformDefaultXmlNamepace(node);
  }
  if (node.isPrefix()) {
    decompiler.addToken(type);
  }
  Node child = transform(node.getOperand());
  if (node.isPostfix()) {
    decompiler.addToken(type);
  }
  if (type == Token.INC || type == Token.DEC) {
    return createIncDec(type, node.isPostfix(), child);
  }
  return createUnary(type, child);
}

代码示例来源:origin: com.github.tntim96/rhino

private Node transformUnary(UnaryExpression node) {
  int type = node.getType();
  if (type == Token.DEFAULTNAMESPACE) {
    return transformDefaultXmlNamepace(node);
  }
  if (node.isPrefix()) {
    decompiler.addToken(type);
  }
  Node child = transform(node.getOperand());
  if (node.isPostfix()) {
    decompiler.addToken(type);
  }
  if (type == Token.INC || type == Token.DEC) {
    return createIncDec(type, node.isPostfix(), child);
  }
  return createUnary(type, child);
}

代码示例来源:origin: io.apigee/rhino

private Node transformUnary(UnaryExpression node) {
  int type = node.getType();
  if (type == Token.DEFAULTNAMESPACE) {
    return transformDefaultXmlNamepace(node);
  }
  if (node.isPrefix()) {
    decompiler.addToken(type);
  }
  Node child = transform(node.getOperand());
  if (node.isPostfix()) {
    decompiler.addToken(type);
  }
  if (type == Token.INC || type == Token.DEC) {
    return createIncDec(type, node.isPostfix(), child);
  }
  return createUnary(type, child);
}

相关文章