org.mozilla.javascript.Parser.getNodeEnd()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 JavaScript  
字(10.9k)|赞(0)|评价(0)|浏览(132)

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

Parser.getNodeEnd介绍

暂无

代码示例

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

private ThrowStatement throwStatement()
  throws IOException
{
  if (currentToken != Token.THROW) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno;
  if (peekTokenOrEOL() == Token.EOL) {
    // ECMAScript does not allow new lines before throw expression,
    // see bug 256617
    reportError("msg.bad.throw.eol");
  }
  AstNode expr = expr();
  ThrowStatement pn = new ThrowStatement(pos, getNodeEnd(expr), expr);
  pn.setLineno(lineno);
  return pn;
}

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

private ThrowStatement throwStatement()
  throws IOException
{
  if (currentToken != Token.THROW) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno;
  if (peekTokenOrEOL() == Token.EOL) {
    // ECMAScript does not allow new lines before throw expression,
    // see bug 256617
    reportError("msg.bad.throw.eol");
  }
  AstNode expr = expr();
  ThrowStatement pn = new ThrowStatement(pos, getNodeEnd(expr), expr);
  pn.setLineno(lineno);
  return pn;
}

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

private ThrowStatement throwStatement()
  throws IOException
{
  if (currentToken != Token.THROW) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno;
  if (peekTokenOrEOL() == Token.EOL) {
    // ECMAScript does not allow new lines before throw expression,
    // see bug 256617
    reportError("msg.bad.throw.eol");
  }
  AstNode expr = expr();
  ThrowStatement pn = new ThrowStatement(pos, getNodeEnd(expr), expr);
  pn.setLineno(lineno);
  return pn;
}

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

private ThrowStatement throwStatement()
  throws IOException
{
  if (currentToken != Token.THROW) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno;
  if (peekTokenOrEOL() == Token.EOL) {
    // ECMAScript does not allow new lines before throw expression,
    // see bug 256617
    reportError("msg.bad.throw.eol");
  }
  AstNode expr = expr();
  ThrowStatement pn = new ThrowStatement(pos, getNodeEnd(expr), expr);
  pn.setLineno(lineno);
  return pn;
}

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

/**
 * Parse the [expr] portion of an xml element reference, e.g.
 * @[expr], @*::[expr], or ns::[expr].
 */
private XmlElemRef xmlElemRef(int atPos, Name namespace, int colonPos)
  throws IOException
{
  int lb = ts.tokenBeg, rb = -1, pos = atPos != -1 ? atPos : lb;
  AstNode expr = expr();
  int end = getNodeEnd(expr);
  if (mustMatchToken(Token.RB, "msg.no.bracket.index")) {
    rb = ts.tokenBeg;
    end = ts.tokenEnd;
  }
  XmlElemRef ref = new XmlElemRef(pos, end - pos);
  ref.setNamespace(namespace);
  ref.setColonPos(colonPos);
  ref.setAtPos(atPos);
  ref.setExpression(expr);
  ref.setBrackets(lb, rb);
  return ref;
}

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

/**
 * Parse the [expr] portion of an xml element reference, e.g.
 * @[expr], @*::[expr], or ns::[expr].
 */
private XmlElemRef xmlElemRef(int atPos, Name namespace, int colonPos)
  throws IOException
{
  int lb = ts.tokenBeg, rb = -1, pos = atPos != -1 ? atPos : lb;
  AstNode expr = expr();
  int end = getNodeEnd(expr);
  if (mustMatchToken(Token.RB, "msg.no.bracket.index")) {
    rb = ts.tokenBeg;
    end = ts.tokenEnd;
  }
  XmlElemRef ref = new XmlElemRef(pos, end - pos);
  ref.setNamespace(namespace);
  ref.setColonPos(colonPos);
  ref.setAtPos(atPos);
  ref.setExpression(expr);
  ref.setBrackets(lb, rb);
  return ref;
}

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

/**
 * Parse the [expr] portion of an xml element reference, e.g.
 * @[expr], @*::[expr], or ns::[expr].
 */
private XmlElemRef xmlElemRef(int atPos, Name namespace, int colonPos)
  throws IOException
{
  int lb = ts.tokenBeg, rb = -1, pos = atPos != -1 ? atPos : lb;
  AstNode expr = expr();
  int end = getNodeEnd(expr);
  if (mustMatchToken(Token.RB, "msg.no.bracket.index")) {
    rb = ts.tokenBeg;
    end = ts.tokenEnd;
  }
  XmlElemRef ref = new XmlElemRef(pos, end - pos);
  ref.setNamespace(namespace);
  ref.setColonPos(colonPos);
  ref.setAtPos(atPos);
  ref.setExpression(expr);
  ref.setBrackets(lb, rb);
  return ref;
}

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

private AstNode defaultXmlNamespace()
  throws IOException
{
  if (currentToken != Token.DEFAULT) codeBug();
  consumeToken();
  mustHaveXML();
  setRequiresActivation();
  int lineno = ts.lineno, pos = ts.tokenBeg;
  if (!(matchToken(Token.NAME) && "xml".equals(ts.getString()))) {
    reportError("msg.bad.namespace");
  }
  if (!(matchToken(Token.NAME) && "namespace".equals(ts.getString()))) {
    reportError("msg.bad.namespace");
  }
  if (!matchToken(Token.ASSIGN)) {
    reportError("msg.bad.namespace");
  }
  AstNode e = expr();
  UnaryExpression dxmln = new UnaryExpression(pos, getNodeEnd(e) - pos);
  dxmln.setOperator(Token.DEFAULTNAMESPACE);
  dxmln.setOperand(e);
  dxmln.setLineno(lineno);
  ExpressionStatement es = new ExpressionStatement(dxmln, true);
  return es;
}

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

private ObjectProperty getterSetterProperty(int pos, AstNode propName,
                      boolean isGetter)
  throws IOException
{
  FunctionNode fn = function(FunctionNode.FUNCTION_EXPRESSION);
  // We've already parsed the function name, so fn should be anonymous.
  Name name = fn.getFunctionName();
  if (name != null && name.length() != 0) {
    reportError("msg.bad.prop");
  }
  ObjectProperty pn = new ObjectProperty(pos);
  if (isGetter) {
    pn.setIsGetter();
  } else {
    pn.setIsSetter();
  }
  int end = getNodeEnd(fn);
  pn.setLeft(propName);
  pn.setRight(fn);
  pn.setLength(end - pos);
  return pn;
}

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

private WhileLoop whileLoop()
  throws IOException
{
  if (currentToken != Token.WHILE) codeBug();
  consumeToken();
  int pos = ts.tokenBeg;
  WhileLoop pn = new WhileLoop(pos);
  pn.setLineno(ts.lineno);
  enterLoop(pn);
  try {
    ConditionData data = condition();
    pn.setCondition(data.condition);
    pn.setParens(data.lp - pos, data.rp - pos);
    AstNode body = statement();
    pn.setLength(getNodeEnd(body) - pos);
    pn.setBody(body);
  } finally {
    exitLoop();
  }
  return pn;
}

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

private WhileLoop whileLoop()
  throws IOException
{
  if (currentToken != Token.WHILE) codeBug();
  consumeToken();
  int pos = ts.tokenBeg;
  WhileLoop pn = new WhileLoop(pos);
  pn.setLineno(ts.lineno);
  enterLoop(pn);
  try {
    ConditionData data = condition();
    pn.setCondition(data.condition);
    pn.setParens(data.lp - pos, data.rp - pos);
    AstNode body = statement();
    pn.setLength(getNodeEnd(body) - pos);
    pn.setBody(body);
  } finally {
    exitLoop();
  }
  return pn;
}

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

private IfStatement ifStatement()
  throws IOException
{
  if (currentToken != Token.IF) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno, elsePos = -1;
  ConditionData data = condition();
  AstNode ifTrue = statement(), ifFalse = null;
  if (matchToken(Token.ELSE)) {
    elsePos = ts.tokenBeg - pos;
    ifFalse = statement();
  }
  int end = getNodeEnd(ifFalse != null ? ifFalse : ifTrue);
  IfStatement pn = new IfStatement(pos, end - pos);
  pn.setCondition(data.condition);
  pn.setParens(data.lp - pos, data.rp - pos);
  pn.setThenPart(ifTrue);
  pn.setElsePart(ifFalse);
  pn.setElsePosition(elsePos);
  pn.setLineno(lineno);
  return pn;
}

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

private WhileLoop whileLoop()
  throws IOException
{
  if (currentToken != Token.WHILE) codeBug();
  consumeToken();
  int pos = ts.tokenBeg;
  WhileLoop pn = new WhileLoop(pos);
  pn.setLineno(ts.lineno);
  enterLoop(pn);
  try {
    ConditionData data = condition();
    pn.setCondition(data.condition);
    pn.setParens(data.lp - pos, data.rp - pos);
    AstNode body = statement();
    pn.setLength(getNodeEnd(body) - pos);
    pn.setBody(body);
  } finally {
    exitLoop();
  }
  return pn;
}

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

private WhileLoop whileLoop()
  throws IOException
{
  if (currentToken != Token.WHILE) codeBug();
  consumeToken();
  int pos = ts.tokenBeg;
  WhileLoop pn = new WhileLoop(pos);
  pn.setLineno(ts.lineno);
  enterLoop(pn);
  try {
    ConditionData data = condition();
    pn.setCondition(data.condition);
    pn.setParens(data.lp - pos, data.rp - pos);
    AstNode body = statement();
    pn.setLength(getNodeEnd(body) - pos);
    pn.setBody(body);
  } finally {
    exitLoop();
  }
  return pn;
}

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

private WithStatement withStatement()
  throws IOException
{
  if (currentToken != Token.WITH) codeBug();
  consumeToken();
  Comment withComment = getAndResetJsDoc();
  int lineno = ts.lineno, pos = ts.tokenBeg, lp = -1, rp = -1;
  if (mustMatchToken(Token.LP, "msg.no.paren.with"))
    lp = ts.tokenBeg;
  AstNode obj = expr();
  if (mustMatchToken(Token.RP, "msg.no.paren.after.with"))
    rp = ts.tokenBeg;
  AstNode body = statement();
  WithStatement pn = new WithStatement(pos, getNodeEnd(body) - pos);
  pn.setJsDocNode(withComment);
  pn.setExpression(obj);
  pn.setStatement(body);
  pn.setParens(lp, rp);
  pn.setLineno(lineno);
  return pn;
}

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

private WithStatement withStatement()
  throws IOException
{
  if (currentToken != Token.WITH) codeBug();
  consumeToken();
  Comment withComment = getAndResetJsDoc();
  int lineno = ts.lineno, pos = ts.tokenBeg, lp = -1, rp = -1;
  if (mustMatchToken(Token.LP, "msg.no.paren.with"))
    lp = ts.tokenBeg;
  AstNode obj = expr();
  if (mustMatchToken(Token.RP, "msg.no.paren.after.with"))
    rp = ts.tokenBeg;
  AstNode body = statement();
  WithStatement pn = new WithStatement(pos, getNodeEnd(body) - pos);
  pn.setJsDocNode(withComment);
  pn.setExpression(obj);
  pn.setStatement(body);
  pn.setParens(lp, rp);
  pn.setLineno(lineno);
  return pn;
}

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

private WithStatement withStatement()
  throws IOException
{
  if (currentToken != Token.WITH) codeBug();
  consumeToken();
  Comment withComment = getAndResetJsDoc();
  int lineno = ts.lineno, pos = ts.tokenBeg, lp = -1, rp = -1;
  if (mustMatchToken(Token.LP, "msg.no.paren.with"))
    lp = ts.tokenBeg;
  AstNode obj = expr();
  if (mustMatchToken(Token.RP, "msg.no.paren.after.with"))
    rp = ts.tokenBeg;
  AstNode body = statement();
  WithStatement pn = new WithStatement(pos, getNodeEnd(body) - pos);
  pn.setJsDocNode(withComment);
  pn.setExpression(obj);
  pn.setStatement(body);
  pn.setParens(lp, rp);
  pn.setLineno(lineno);
  return pn;
}

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

private IfStatement ifStatement()
  throws IOException
{
  if (currentToken != Token.IF) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno, elsePos = -1;
  ConditionData data = condition();
  AstNode ifTrue = statement(), ifFalse = null;
  if (matchToken(Token.ELSE)) {
    elsePos = ts.tokenBeg - pos;
    ifFalse = statement();
  }
  int end = getNodeEnd(ifFalse != null ? ifFalse : ifTrue);
  IfStatement pn = new IfStatement(pos, end - pos);
  pn.setCondition(data.condition);
  pn.setParens(data.lp - pos, data.rp - pos);
  pn.setThenPart(ifTrue);
  pn.setElsePart(ifFalse);
  pn.setElsePosition(elsePos);
  pn.setLineno(lineno);
  return pn;
}

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

private WithStatement withStatement()
  throws IOException
{
  if (currentToken != Token.WITH) codeBug();
  consumeToken();
  Comment withComment = getAndResetJsDoc();
  int lineno = ts.lineno, pos = ts.tokenBeg, lp = -1, rp = -1;
  if (mustMatchToken(Token.LP, "msg.no.paren.with"))
    lp = ts.tokenBeg;
  AstNode obj = expr();
  if (mustMatchToken(Token.RP, "msg.no.paren.after.with"))
    rp = ts.tokenBeg;
  AstNode body = statement();
  WithStatement pn = new WithStatement(pos, getNodeEnd(body) - pos);
  pn.setJsDocNode(withComment);
  pn.setExpression(obj);
  pn.setStatement(body);
  pn.setParens(lp, rp);
  pn.setLineno(lineno);
  return pn;
}

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

private IfStatement ifStatement()
  throws IOException
{
  if (currentToken != Token.IF) codeBug();
  consumeToken();
  int pos = ts.tokenBeg, lineno = ts.lineno, elsePos = -1;
  ConditionData data = condition();
  AstNode ifTrue = statement(), ifFalse = null;
  if (matchToken(Token.ELSE)) {
    elsePos = ts.tokenBeg - pos;
    ifFalse = statement();
  }
  int end = getNodeEnd(ifFalse != null ? ifFalse : ifTrue);
  IfStatement pn = new IfStatement(pos, end - pos);
  pn.setCondition(data.condition);
  pn.setParens(data.lp - pos, data.rp - pos);
  pn.setThenPart(ifTrue);
  pn.setElsePart(ifFalse);
  pn.setElsePosition(elsePos);
  pn.setLineno(lineno);
  return pn;
}

相关文章

微信公众号

Parser类方法