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:
JDK 11 jdk.scripting.nashorn.jmod - Scripting Nashorn Module
JDK 11 jdk.scripting.nashorn.jmod is the JMOD file for JDK 11 Scripting Nashorn module.
JDK 11 Scripting Nashorn module compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.scripting.nashorn.jmod.
JDK 11 Scripting Nashorn module compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 Scripting Nashorn module source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.scripting.nashorn.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ jdk/nashorn/internal/objects/NativeWeakMap.java
/* * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package jdk.nashorn.internal.objects; import java.util.Map; import java.util.WeakHashMap; import jdk.nashorn.internal.objects.annotations.Attribute; import jdk.nashorn.internal.objects.annotations.Constructor; import jdk.nashorn.internal.objects.annotations.Function; import jdk.nashorn.internal.objects.annotations.ScriptClass; import jdk.nashorn.internal.runtime.PropertyMap; import jdk.nashorn.internal.runtime.ScriptObject; import jdk.nashorn.internal.runtime.ScriptRuntime; import jdk.nashorn.internal.runtime.Undefined; import static jdk.nashorn.internal.runtime.ECMAErrors.typeError; import static jdk.nashorn.internal.runtime.JSType.isPrimitive; /** * This implements the ECMA6 WeakMap object. */ @ScriptClass("WeakMap") public class NativeWeakMap extends ScriptObject { private final Map<Object, Object> jmap = new WeakHashMap<>(); // initialized by nasgen private static PropertyMap $nasgenmap$; private NativeWeakMap(final ScriptObject proto, final PropertyMap map) { super(proto, map); } /** * ECMA6 23.3.1 The WeakMap Constructor * * @param isNew whether the new operator used * @param self self reference * @param arg optional iterable argument * @return a new WeakMap object */ @Constructor(arity = 0) public static Object construct(final boolean isNew, final Object self, final Object arg) { if (!isNew) { throw typeError("constructor.requires.new", "WeakMap"); } final Global global = Global.instance(); final NativeWeakMap weakMap = new NativeWeakMap(global.getWeakMapPrototype(), $nasgenmap$); populateMap(weakMap.jmap, arg, global); return weakMap; } /** * ECMA6 23.3.3.5 WeakMap.prototype.set ( key , value ) * * @param self the self reference * @param key the key * @param value the value * @return this WeakMap object */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object set(final Object self, final Object key, final Object value) { final NativeWeakMap map = getMap(self); map.jmap.put(checkKey(key), value); return self; } /** * ECMA6 23.3.3.3 WeakMap.prototype.get ( key ) * * @param self the self reference * @param key the key * @return the associated value or undefined */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static Object get(final Object self, final Object key) { final NativeWeakMap map = getMap(self); if (isPrimitive(key)) { return Undefined.getUndefined(); } return map.jmap.get(key); } /** * ECMA6 23.3.3.2 WeakMap.prototype.delete ( key ) * * @param self the self reference * @param key the key to delete * @return true if the key was deleted */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static boolean delete(final Object self, final Object key) { final Map<Object, Object> map = getMap(self).jmap; if (isPrimitive(key)) { return false; } final boolean returnValue = map.containsKey(key); map.remove(key); return returnValue; } /** * ECMA6 23.3.3.4 WeakMap.prototype.has ( key ) * * @param self the self reference * @param key the key * @return true if key is contained */ @Function(attributes = Attribute.NOT_ENUMERABLE) public static boolean has(final Object self, final Object key) { final NativeWeakMap map = getMap(self); return !isPrimitive(key) && map.jmap.containsKey(key); } @Override public String getClassName() { return "WeakMap"; } /** * Make sure {@code key} is not a JavaScript primitive value. * * @param key a key object * @return the valid key */ static Object checkKey(final Object key) { if (isPrimitive(key)) { throw typeError("invalid.weak.key", ScriptRuntime.safeToString(key)); } return key; } static void populateMap(final Map<Object, Object> map, final Object arg, final Global global) { // This method is similar to NativeMap.populateMap, but it uses a different // map implementation and the checking/conversion of keys differs as well. if (arg != null && arg != Undefined.getUndefined()) { AbstractIterator.iterate(arg, global, value -> { if (isPrimitive(value)) { throw typeError(global, "not.an.object", ScriptRuntime.safeToString(value)); } if (value instanceof ScriptObject) { final ScriptObject sobj = (ScriptObject) value; map.put(checkKey(sobj.get(0)), sobj.get(1)); } }); } } private static NativeWeakMap getMap(final Object self) { if (self instanceof NativeWeakMap) { return (NativeWeakMap)self; } else { throw typeError("not.a.weak.map", ScriptRuntime.safeToString(self)); } } }
⏎ jdk/nashorn/internal/objects/NativeWeakMap.java
Or download all of them as a single archive file:
File name: jdk.scripting.nashorn-11.0.1-src.zip File size: 1390965 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.scripting.nashorn.shell.jmod - Scripting Nashorn Shell Module
2020-04-25, 83046👍, 0💬
Popular Posts:
JCIFS is an Open Source client library that implements the CIFS/SMB networking protocol in 100% Java...
How to download and install ojdbc14.jar for Oracle 10g R2? ojdbc14.jar for Oracle 10g R2 is a Java 1...
Apache Neethi provides general framework for the programmers to use WS Policy. It is compliant with ...
JAX-RPC is an API for building Web services and clients that used remote procedure calls (RPC) and X...
Apache Log4j Core Implementation provides the functional components of the logging system. Users are...