Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
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/ObjectLiteral.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 java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.mozilla.javascript.Token;
/**
* AST node for an Object literal (also called an Object initialiser in
* Ecma-262). The elements list will always be non-{@code null}, although
* the list will have no elements if the Object literal is empty.
*
* <p>Node type is {@link Token#OBJECTLIT}.</p>
*
* <pre><i>ObjectLiteral</i> :
* <b>{}</b>
* <b>{</b> PropertyNameAndValueList <b>}</b>
* <i>PropertyNameAndValueList</i> :
* PropertyName <b>:</b> AssignmentExpression
* PropertyNameAndValueList , PropertyName <b>:</b> AssignmentExpression
* <i>PropertyName</i> :
* Identifier
* StringLiteral
* NumericLiteral</pre>
*/
public class ObjectLiteral extends AstNode implements DestructuringForm {
private static final List<ObjectProperty> NO_ELEMS =
Collections.unmodifiableList(new ArrayList<ObjectProperty>());
private List<ObjectProperty> elements;
boolean isDestructuring;
{
type = Token.OBJECTLIT;
}
public ObjectLiteral() {
}
public ObjectLiteral(int pos) {
super(pos);
}
public ObjectLiteral(int pos, int len) {
super(pos, len);
}
/**
* Returns the element list. Returns an immutable empty list if there are
* no elements.
*/
public List<ObjectProperty> getElements() {
return elements != null ? elements : NO_ELEMS;
}
/**
* Sets the element list, and updates the parent of each element.
* Replaces any existing elements.
* @param elements the element list. Can be {@code null}.
*/
public void setElements(List<ObjectProperty> elements) {
if (elements == null) {
this.elements = null;
} else {
if (this.elements != null)
this.elements.clear();
for (ObjectProperty o : elements)
addElement(o);
}
}
/**
* Adds an element to the list, and sets its parent to this node.
* @param element the property node to append to the end of the list
* @throws IllegalArgumentException} if element is {@code null}
*/
public void addElement(ObjectProperty element) {
assertNotNull(element);
if (elements == null) {
elements = new ArrayList<ObjectProperty>();
}
elements.add(element);
element.setParent(this);
}
/**
* Marks this node as being a destructuring form - that is, appearing
* in a context such as {@code for ([a, b] in ...)} where it's the
* target of a destructuring assignment.
*/
@Override
public void setIsDestructuring(boolean destructuring) {
isDestructuring = destructuring;
}
/**
* Returns true if this node is in a destructuring position:
* a function parameter, the target of a variable initializer, the
* iterator of a for..in loop, etc.
*/
@Override
public boolean isDestructuring() {
return isDestructuring;
}
@Override
public String toSource(int depth) {
StringBuilder sb = new StringBuilder();
sb.append(makeIndent(depth));
sb.append("{");
if (elements != null) {
printList(elements, sb);
}
sb.append("}");
return sb.toString();
}
/**
* Visits this node, then visits each child property node, in lexical
* (source) order.
*/
@Override
public void visit(NodeVisitor v) {
if (v.visit(this)) {
for (ObjectProperty prop : getElements()) {
prop.visit(v);
}
}
}
}
⏎ org/mozilla/javascript/ast/ObjectLiteral.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, ≈132🔥, 1💬
Popular Posts:
JDK 11 jdk.internal.vm.compiler .jmodis the JMOD file for JDK 11 Internal VM Compiler module. JDK 11...
Snappy-Java is a Java port of the "snappy", a fast C++ compresser/decompresser developed by Google. ...
JDK 11 jdk.jshell.jmod is the JMOD file for JDK 11 JShell tool, which can be invoked by the "jshell"...
Java Servlet API 3.0.1 Source Code Files are important if you want to compile them with different JD...
JDK 11 jdk.jshell.jmod is the JMOD file for JDK 11 JShell tool, which can be invoked by the "jshell"...