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/NativeCall.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; /** * This class implements the activation object. * * See ECMA 10.1.6 * * @see org.mozilla.javascript.Arguments * @author Norris Boyd */ public final class NativeCall extends IdScriptableObject { private static final long serialVersionUID = -7471457301304454454L; private static final Object CALL_TAG = "Call"; static void init(Scriptable scope, boolean sealed) { NativeCall obj = new NativeCall(); obj.exportAsJSClass(MAX_PROTOTYPE_ID, scope, sealed); } NativeCall() { } NativeCall(NativeFunction function, Scriptable scope, Object[] args, boolean isArrow, boolean isStrict) { this.function = function; setParentScope(scope); // leave prototype null this.originalArgs = (args == null) ? ScriptRuntime.emptyArgs : args; this.isStrict = isStrict; // initialize values of arguments int paramAndVarCount = function.getParamAndVarCount(); int paramCount = function.getParamCount(); if (paramAndVarCount != 0) { for (int i = 0; i < paramCount; ++i) { String name = function.getParamOrVarName(i); Object val = i < args.length ? args[i] : Undefined.instance; defineProperty(name, val, PERMANENT); } } // initialize "arguments" property but only if it was not overridden by // the parameter with the same name if (!super.has("arguments", this) && !isArrow) { arguments = new Arguments(this); defineProperty("arguments", arguments, PERMANENT); } if (paramAndVarCount != 0) { for (int i = paramCount; i < paramAndVarCount; ++i) { String name = function.getParamOrVarName(i); if (!super.has(name, this)) { if (function.getParamOrVarConst(i)) { defineProperty(name, Undefined.instance, CONST); } else if (!(function instanceof InterpretedFunction) || ((InterpretedFunction) function).hasFunctionNamed(name)) { defineProperty(name, Undefined.instance, PERMANENT); } } } } } @Override public String getClassName() { return "Call"; } @Override protected int findPrototypeId(String s) { return s.equals("constructor") ? Id_constructor : 0; } @Override protected void initPrototypeId(int id) { String s; int arity; if (id == Id_constructor) { arity=1; s="constructor"; } else { throw new IllegalArgumentException(String.valueOf(id)); } initPrototypeMethod(CALL_TAG, id, s, arity); } @Override public Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, Object[] args) { if (!f.hasTag(CALL_TAG)) { return super.execIdCall(f, cx, scope, thisObj, args); } int id = f.methodId(); if (id == Id_constructor) { if (thisObj != null) { throw Context.reportRuntimeErrorById("msg.only.from.new", "Call"); } ScriptRuntime.checkDeprecated(cx, "Call"); NativeCall result = new NativeCall(); result.setPrototype(getObjectPrototype(scope)); return result; } throw new IllegalArgumentException(String.valueOf(id)); } public void defineAttributesForArguments() { if (arguments != null) { arguments.defineAttributesForStrictMode(); } } private static final int Id_constructor = 1, MAX_PROTOTYPE_ID = 1; NativeFunction function; Object[] originalArgs; boolean isStrict; private Arguments arguments; transient NativeCall parentActivationCall; }
⏎ org/mozilla/javascript/NativeCall.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, 34695👍, 1💬
Popular Posts:
SLF4J API is a simple API that allows to plug in any desired logging library at deployment time. Her...
ANTLR is a powerful parser generator for multiple programming languages including Java. ANTLR contai...
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module. JDK 17 Base module compiled class fil...
JDK 11 java.desktop.jmod is the JMOD file for JDK 11 Desktop module. JDK 11 Desktop module compiled ...
Joda-Time provides a quality replacement for the Java date and time classes. The design allows for m...