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/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, ≈103🔥, 1💬
Popular Posts:
HttpComponents Core Source Code Files are provided in the source package file, httpcomponents-core-5...
JDK 11 jdk.dynalink.jmod is the JMOD file for JDK 11 Dynamic Linking module. JDK 11 Dynamic Linking ...
Apache Avalon began in 1999 as the Java Apache Server Framework and in late 2002 separated from the ...
What Is commons-net-ftp-2.0.jar? commons-net-ftp-2.0.jar is the JAR file for Apache Commons Net FTP ...
JAX-RPC is an API for building Web services and clients that used remote procedure calls (RPC) and X...