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/BoundFunction.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;
/**
* The class for results of the Function.bind operation
* EcmaScript 5 spec, 15.3.4.5
* @author Raphael Speyer
*/
public class BoundFunction extends BaseFunction {
private static final long serialVersionUID = 2118137342826470729L;
private final Callable targetFunction;
private final Scriptable boundThis;
private final Object[] boundArgs;
private final int length;
public BoundFunction(Context cx, Scriptable scope, Callable targetFunction, Scriptable boundThis,
Object[] boundArgs)
{
this.targetFunction = targetFunction;
this.boundThis = boundThis;
this.boundArgs = boundArgs;
if (targetFunction instanceof BaseFunction) {
length = Math.max(0, ((BaseFunction) targetFunction).getLength() - boundArgs.length);
} else {
length = 0;
}
ScriptRuntime.setFunctionProtoAndParent(this, scope);
Function thrower = ScriptRuntime.typeErrorThrower(cx);
NativeObject throwing = new NativeObject();
throwing.put("get", throwing, thrower);
throwing.put("set", throwing, thrower);
throwing.put("enumerable", throwing, Boolean.FALSE);
throwing.put("configurable", throwing, Boolean.FALSE);
throwing.preventExtensions();
this.defineOwnProperty(cx, "caller", throwing, false);
this.defineOwnProperty(cx, "arguments", throwing, false);
}
@Override
public Object call(Context cx, Scriptable scope, Scriptable thisObj, Object[] extraArgs)
{
Scriptable callThis = boundThis != null ? boundThis : ScriptRuntime.getTopCallScope(cx);
return targetFunction.call(cx, scope, callThis, concat(boundArgs, extraArgs));
}
@Override
public Scriptable construct(Context cx, Scriptable scope, Object[] extraArgs) {
if (targetFunction instanceof Function) {
return ((Function) targetFunction).construct(cx, scope, concat(boundArgs, extraArgs));
}
throw ScriptRuntime.typeErrorById("msg.not.ctor");
}
@Override
public boolean hasInstance(Scriptable instance) {
if (targetFunction instanceof Function) {
return ((Function) targetFunction).hasInstance(instance);
}
throw ScriptRuntime.typeErrorById("msg.not.ctor");
}
@Override
public int getLength() {
return length;
}
private static Object[] concat(Object[] first, Object[] second) {
Object[] args = new Object[first.length + second.length];
System.arraycopy(first, 0, args, 0, first.length);
System.arraycopy(second, 0, args, first.length, second.length);
return args;
}
static boolean equalObjectGraphs(BoundFunction f1, BoundFunction f2, EqualObjectGraphs eq) {
return eq.equalGraphs(f1.boundThis, f2.boundThis) && eq.equalGraphs(f1.targetFunction, f2.targetFunction) && eq.equalGraphs(f1.boundArgs, f2.boundArgs);
}
}
⏎ org/mozilla/javascript/BoundFunction.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, ≈207🔥, 1💬
Popular Posts:
maven-core-3.8.6.jar is the JAR file for Apache Maven 3.8.6 Core module. Apache Maven is a software ...
JDK 17 jdk.jconsole.jmod is the JMOD file for JDK 17 JConsole tool, which can be invoked by the "jco...
JDK 11 jdk.scripting.nashorn.jm odis the JMOD file for JDK 11 Scripting Nashorn module. JDK 11 Scrip...
JDK 11 jdk.security.auth.jmod is the JMOD file for JDK 11 Security Auth module. JDK 11 Security Auth...
JRE 8 rt.jar is the JAR file for JRE 8 RT (Runtime) libraries. JRE (Java Runtime) 8 is the runtime e...