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/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, 35399👍, 1💬
Popular Posts:
How to show the XML parsing flow with sax\DocumentTracer.java provided in the Apache Xerces package?...
JDK 11 jdk.localedata.jmod is the JMOD file for JDK 11 Localedata module. JDK 11 Locale Data module ...
Jettison is a collection of Java APIs (like STaX and DOM) which read and write JSON. This allows nea...
kernel.jar is a component in iText Java library to provide low-level functionalities. iText Java lib...
JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module. JDK 11 Charsets module compile...