Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
Rhino JavaScript Java Library Source Code
Rhino JavaScript Java Library is an open-source implementation of JavaScript written entirely in Java.
Rhino JavaScript Java Library Source Code files are provided in binary package (rhino-1.7.14.zip).
You can also browse the source code below:
✍: FYIcenter.com
⏎ org/mozilla/javascript/ast/UpdateExpression.java
/* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package org.mozilla.javascript.ast; import org.mozilla.javascript.Token; /** * AST node representing update operators such as {@code ++}. The type field is set to the * appropriate Token type for the operator. The node length spans from the operator to the end of * the operand (for prefix operators) or from the start of the operand to the operator (for * postfix). */ public class UpdateExpression extends AstNode { private AstNode operand; private boolean isPostfix; public UpdateExpression() {} public UpdateExpression(int pos) { super(pos); } /** Constructs a new postfix UpdateExpression. */ public UpdateExpression(int pos, int len) { super(pos, len); } /** Constructs a new prefix UpdateExpression. */ public UpdateExpression(int operator, int operatorPosition, AstNode operand) { this(operator, operatorPosition, operand, false); } /** * Constructs a new UpdateExpression with the specified operator and operand. It sets the parent * of the operand, and sets its own bounds to encompass the operator and operand. * * @param operator the node type * @param operatorPosition the absolute position of the operator. * @param operand the operand expression * @param postFix true if the operator follows the operand. Int * @throws IllegalArgumentException} if {@code operand} is {@code null} */ public UpdateExpression(int operator, int operatorPosition, AstNode operand, boolean postFix) { assertNotNull(operand); int beg = postFix ? operand.getPosition() : operatorPosition; // JavaScript only has ++ and -- postfix operators, so length is 2 int end = postFix ? operatorPosition + 2 : operand.getPosition() + operand.getLength(); setBounds(beg, end); setOperator(operator); setOperand(operand); isPostfix = postFix; } /** Returns operator token – alias for {@link #getType} */ public int getOperator() { return type; } /** * Sets operator – same as {@link #setType}, but throws an exception if the operator is * invalid * * @throws IllegalArgumentException if operator is not a valid Token code */ public void setOperator(int operator) { if (!Token.isValidToken(operator)) throw new IllegalArgumentException("Invalid token: " + operator); setType(operator); } public AstNode getOperand() { return operand; } /** * Sets the operand, and sets its parent to be this node. * * @throws IllegalArgumentException} if {@code operand} is {@code null} */ public void setOperand(AstNode operand) { assertNotNull(operand); this.operand = operand; operand.setParent(this); } /** Returns whether the operator is postfix */ public boolean isPostfix() { return isPostfix; } /** Returns whether the operator is prefix */ public boolean isPrefix() { return !isPostfix; } /** Sets whether the operator is postfix */ public void setIsPostfix(boolean isPostfix) { this.isPostfix = isPostfix; } @Override public String toSource(int depth) { StringBuilder sb = new StringBuilder(); sb.append(makeIndent(depth)); int type = getType(); if (!isPostfix) { sb.append(operatorToString(type)); } sb.append(operand.toSource()); if (isPostfix) { sb.append(operatorToString(type)); } return sb.toString(); } /** Visits this node, then the operand. */ @Override public void visit(NodeVisitor v) { if (v.visit(this)) { operand.visit(v); } } }
⏎ org/mozilla/javascript/ast/UpdateExpression.java
Or download all of them as a single archive file:
File name: rhino-1.7.14-sources.jar File size: 1029165 bytes Release date: 2022-01-06 Download
⇒ Example code to Test rhino-runtime-1.7.14.jar
⇐ Download Rhino JavaScript Binary Package
2022-05-03, 35705👍, 1💬
Popular Posts:
The Java Naming and Directory Interface (JNDI) is part of the Java platform, providing applications ...
maven-core-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Core module. Apache Maven is a software ...
How to download and install ojdbc14.jar for Oracle 10g R2? ojdbc14.jar for Oracle 10g R2 is a Java 1...
How to download and install javamail-1_2.zip? The JavaMail API is a set of abstract APIs that model ...
maven-compat-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Compact module. The JAR file name may ...