# HG changeset patch
# Parent 3fcd9740a449a1882f83c84e52f8f133b9ea3124
8141338: Move jdk.internal.dynalink package to jdk.dynalink
diff --git a/make/BuildNashorn.gmk b/make/BuildNashorn.gmk
--- a/make/BuildNashorn.gmk
+++ b/make/BuildNashorn.gmk
@@ -33,7 +33,7 @@
include SetupJavaCompilers.gmk
JDK_CLASSES := $(call PathList, $(strip $(addprefix $(JDK_OUTPUTDIR)/modules/, \
- java.base java.logging java.scripting)))
+ java.base java.logging java.scripting jdk.dynalink)))
NASHORN_JAR := $(IMAGES_OUTPUTDIR)/nashorn.jar
NASHORN_VERSION := $(JDK_VERSION)
diff --git a/make/build.xml b/make/build.xml
--- a/make/build.xml
+++ b/make/build.xml
@@ -52,6 +52,14 @@
+
+
+
+
@@ -155,7 +163,7 @@
-
+
@@ -244,6 +252,7 @@
+
@@ -263,6 +272,18 @@
+
+
+
+
+
+
+
+
+
+
@@ -321,14 +342,20 @@
-
+
+
+
+
+
-
+
+
+
@@ -432,6 +459,8 @@
+
+
@@ -774,6 +803,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/make/nbproject/project.xml b/make/nbproject/project.xml
--- a/make/nbproject/project.xml
+++ b/make/nbproject/project.xml
@@ -50,6 +50,10 @@
../src/jdk.scripting.nashorn/share/classes
+
+ ../src/jdk.scripting.nashorn.shell/share/classes
+
+ java../test/src
@@ -74,8 +78,14 @@
UTF-8
-
- ../src/jdk.scripting.nashorn.shell/share/classes
+
+ java
+ ../src/jdk.dynalink/share/classes
+ UTF-8
+
+
+
+ ../src/jdk.dynalink/share/classes
@@ -153,6 +163,10 @@
../src/jdk.scripting.nashorn.shell/share/classes
+
+
+ ../src/jdk.dynalink/share/classes
+ build.xml
@@ -189,6 +203,10 @@
../src/jdk.scripting.nashorn.shell/share/classes1.8
+
+ ../src/jdk.dynalink/share/classes
+ 1.8
+
diff --git a/make/project.properties b/make/project.properties
--- a/make/project.properties
+++ b/make/project.properties
@@ -85,6 +85,7 @@
# jars refererred
file.reference.testng.jar=${test.lib}${file.separator}testng.jar
+file.reference.asmtools.jar=${test.lib}${file.separator}asmtools-60.jar
# Set testng verbose level
# From TestNG docs: "the verbosity level (0 to 10 where 10 is most detailed)
@@ -269,10 +270,12 @@
${nashorn.internal.tests.jar}${path.separator}\
${nashorn.api.tests.jar}
+dynalink.module.src.dir=src/jdk.dynalink/share/classes
nashorn.module.src.dir=src/jdk.scripting.nashorn/share/classes
nashorn.shell.module.src.dir=src/jdk.scripting.nashorn.shell/share/classes
-src.dir=${nashorn.module.src.dir}${path.separator}\
+src.dir=${dynalink.module.src.dir}${path.separator}\
+ ${nashorn.module.src.dir}${path.separator}\
${nashorn.shell.module.src.dir}${path.separator}\
${jdk.jline.src.dir}
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/CallSiteDescriptor.java b/src/jdk.dynalink/share/classes/jdk/dynalink/CallSiteDescriptor.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/CallSiteDescriptor.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/CallSiteDescriptor.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/CallSiteDescriptor.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/CallSiteDescriptor.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodHandles.Lookup;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/ClassMap.java b/src/jdk.dynalink/share/classes/jdk/dynalink/ClassMap.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/ClassMap.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/ClassMap.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/ClassMap.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/ClassMap.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.ref.Reference;
import java.lang.ref.SoftReference;
@@ -92,8 +92,8 @@
import java.util.WeakHashMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
-import jdk.internal.dynalink.internal.InternalTypeUtilities;
+import jdk.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.internal.InternalTypeUtilities;
/**
* A dual map that can either strongly or weakly reference a given class depending on whether the class is visible from
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/CompositeOperation.java b/src/jdk.dynalink/share/classes/jdk/dynalink/CompositeOperation.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/CompositeOperation.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/CompositeOperation.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/CompositeOperation.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/CompositeOperation.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.util.Arrays;
import java.util.Objects;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinker.java
@@ -81,22 +81,22 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.MutableCallSite;
import java.util.Objects;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardedInvocationTransformer;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.Lookup;
-import jdk.internal.dynalink.linker.support.SimpleLinkRequest;
-import jdk.internal.dynalink.support.ChainedCallSite;
-import jdk.internal.dynalink.support.SimpleRelinkableCallSite;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardedInvocationTransformer;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.Lookup;
+import jdk.dynalink.linker.support.SimpleLinkRequest;
+import jdk.dynalink.support.ChainedCallSite;
+import jdk.dynalink.support.SimpleRelinkableCallSite;
/**
* The linker for {@link RelinkableCallSite} objects. A dynamic linker is a main
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinkerFactory.java b/src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinkerFactory.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinkerFactory.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinkerFactory.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/DynamicLinkerFactory.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/DynamicLinkerFactory.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
@@ -101,21 +101,21 @@
import java.util.ServiceLoader;
import java.util.Set;
import java.util.function.Supplier;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardedInvocationTransformer;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.GuardingDynamicLinkerExporter;
-import jdk.internal.dynalink.linker.GuardingTypeConverterFactory;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.MethodHandleTransformer;
-import jdk.internal.dynalink.linker.MethodTypeConversionStrategy;
-import jdk.internal.dynalink.linker.support.CompositeGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.DefaultInternalObjectFilter;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardedInvocationTransformer;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.GuardingDynamicLinkerExporter;
+import jdk.dynalink.linker.GuardingTypeConverterFactory;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.MethodHandleTransformer;
+import jdk.dynalink.linker.MethodTypeConversionStrategy;
+import jdk.dynalink.linker.support.CompositeGuardingDynamicLinker;
+import jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.DefaultInternalObjectFilter;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* A factory class for creating {@link DynamicLinker} objects. Dynamic linkers
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/LinkerServicesImpl.java b/src/jdk.dynalink/share/classes/jdk/dynalink/LinkerServicesImpl.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/LinkerServicesImpl.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/LinkerServicesImpl.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/LinkerServicesImpl.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/LinkerServicesImpl.java
@@ -81,17 +81,17 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.linker.ConversionComparator.Comparison;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.MethodHandleTransformer;
+import jdk.dynalink.linker.ConversionComparator.Comparison;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.MethodHandleTransformer;
/**
* Default implementation of the {@link LinkerServices} interface.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/NamedOperation.java b/src/jdk.dynalink/share/classes/jdk/dynalink/NamedOperation.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/NamedOperation.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/NamedOperation.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/NamedOperation.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/NamedOperation.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.util.Objects;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/NoSuchDynamicMethodException.java b/src/jdk.dynalink/share/classes/jdk/dynalink/NoSuchDynamicMethodException.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/NoSuchDynamicMethodException.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/NoSuchDynamicMethodException.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/NoSuchDynamicMethodException.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/NoSuchDynamicMethodException.java
@@ -81,9 +81,9 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.GuardingDynamicLinker;
/**
* Thrown at the invocation if the call site can not be linked by any available {@link GuardingDynamicLinker}.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/Operation.java b/src/jdk.dynalink/share/classes/jdk/dynalink/Operation.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/Operation.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/Operation.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/Operation.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/Operation.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
/**
* An object that describes a dynamic operation. Dynalink defines a set of
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/RelinkableCallSite.java b/src/jdk.dynalink/share/classes/jdk/dynalink/RelinkableCallSite.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/RelinkableCallSite.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/RelinkableCallSite.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/RelinkableCallSite.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/RelinkableCallSite.java
@@ -81,13 +81,13 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.invoke.CallSite;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.support.ChainedCallSite;
-import jdk.internal.dynalink.support.SimpleRelinkableCallSite;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.support.ChainedCallSite;
+import jdk.dynalink.support.SimpleRelinkableCallSite;
/**
* Interface for call sites managed by a {@link DynamicLinker}. Users of
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/StandardOperation.java b/src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/StandardOperation.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/StandardOperation.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/StandardOperation.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
/**
* Defines the standard dynamic operations. Getter and setter operations defined
@@ -127,7 +127,7 @@
*/
SET_ELEMENT,
/**
- * Get the length of an array of size of a collection. Call sites with
+ * Get the length of an array or size of a collection. Call sites with
* this operation should have a signature of (receiver)→value,
* with all parameters and return type being of any type (either primitive
* or reference).
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/TypeConverterFactory.java b/src/jdk.dynalink/share/classes/jdk/dynalink/TypeConverterFactory.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/TypeConverterFactory.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/TypeConverterFactory.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/TypeConverterFactory.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/TypeConverterFactory.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink;
+package jdk.dynalink;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -94,14 +94,14 @@
import java.util.LinkedList;
import java.util.List;
import java.util.function.Supplier;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
-import jdk.internal.dynalink.linker.ConversionComparator;
-import jdk.internal.dynalink.linker.ConversionComparator.Comparison;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingTypeConverterFactory;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.MethodTypeConversionStrategy;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.linker.ConversionComparator;
+import jdk.dynalink.linker.ConversionComparator.Comparison;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingTypeConverterFactory;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.MethodTypeConversionStrategy;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* A factory for type converters. This class is the main implementation behind the
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/AbstractJavaLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/AbstractJavaLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/AbstractJavaLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/AbstractJavaLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/AbstractJavaLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/AbstractJavaLinker.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -98,19 +98,19 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.CompositeOperation;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.GuardedInvocationComponent.ValidationType;
-import jdk.internal.dynalink.internal.InternalTypeUtilities;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.Guards;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.CompositeOperation;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.GuardedInvocationComponent.ValidationType;
+import jdk.dynalink.internal.InternalTypeUtilities;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.Guards;
+import jdk.dynalink.linker.support.Lookup;
import sun.reflect.CallerSensitive;
/**
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/AccessibleMembersLookup.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/AccessibleMembersLookup.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/AccessibleMembersLookup.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/AccessibleMembersLookup.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/AccessibleMembersLookup.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/AccessibleMembersLookup.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ApplicableOverloadedMethods.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/ApplicableOverloadedMethods.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ApplicableOverloadedMethods.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ApplicableOverloadedMethods.java
@@ -81,12 +81,12 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodType;
import java.util.LinkedList;
import java.util.List;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Represents overloaded methods applicable to a specific call site signature.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeanIntrospector.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanIntrospector.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeanIntrospector.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanIntrospector.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeanIntrospector.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanIntrospector.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.util.Collections;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeanLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeanLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeanLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeanLinker.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -90,16 +90,16 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.GuardedInvocationComponent.ValidationType;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Guards;
-import jdk.internal.dynalink.linker.support.Lookup;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.GuardedInvocationComponent.ValidationType;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Guards;
+import jdk.dynalink.linker.support.Lookup;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* A class that provides linking capabilities for a single POJO class. Normally not used directly, but managed by
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeansLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeansLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeansLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeansLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/BeansLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/BeansLinker.java
@@ -81,18 +81,18 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandles.Lookup;
import java.util.Collections;
import java.util.Set;
-import jdk.internal.dynalink.DynamicLinkerFactory;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
/**
* A linker for ordinary Java objects. Normally used as the ultimate fallback
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CallerSensitiveDynamicMethod.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/CallerSensitiveDynamicMethod.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CallerSensitiveDynamicMethod.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/CallerSensitiveDynamicMethod.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CallerSensitiveDynamicMethod.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/CallerSensitiveDynamicMethod.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -94,9 +94,9 @@
import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.PrivilegedAction;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.linker.support.Lookup;
/**
* A dynamic method bound to exactly one Java method or constructor that is caller sensitive. Since the target method is
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CheckRestrictedPackage.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/CheckRestrictedPackage.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CheckRestrictedPackage.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/CheckRestrictedPackage.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/CheckRestrictedPackage.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/CheckRestrictedPackage.java
@@ -81,13 +81,13 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.reflect.Modifier;
import java.security.AccessControlContext;
import java.security.AccessController;
import java.security.PrivilegedAction;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.internal.AccessControlContextFactory;
/**
* A utility class to check whether a given class is in a package with restricted access e.g. "sun.*" etc.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ClassLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ClassLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ClassLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassLinker.java
@@ -81,13 +81,13 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.beans.GuardedInvocationComponent.ValidationType;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.beans.GuardedInvocationComponent.ValidationType;
+import jdk.dynalink.linker.support.Lookup;
/**
* A linker for java.lang.Class objects. Provides a synthetic property "static" that allows access to static fields and
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ClassString.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassString.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ClassString.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassString.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/ClassString.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/ClassString.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
@@ -90,10 +90,10 @@
import java.security.PrivilegedAction;
import java.util.LinkedList;
import java.util.List;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
-import jdk.internal.dynalink.internal.InternalTypeUtilities;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.internal.InternalTypeUtilities;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Represents a sequence of {@link Class} objects, useful for representing method signatures. Provides value
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/DynamicMethod.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethod.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/DynamicMethod.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethod.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/DynamicMethod.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethod.java
@@ -81,11 +81,11 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.LinkerServices;
/**
* Represents a single dynamic method. A "dynamic" method can be bound to a single Java method, or can be bound to all
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/DynamicMethodLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethodLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/DynamicMethodLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethodLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/DynamicMethodLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/DynamicMethodLinker.java
@@ -81,19 +81,19 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Guards;
/**
* Simple linker that implements the {@link StandardOperation#CALL} operation
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/FacetIntrospector.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/FacetIntrospector.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/FacetIntrospector.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/FacetIntrospector.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/FacetIntrospector.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/FacetIntrospector.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.reflect.Field;
@@ -92,7 +92,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.Map;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.linker.support.Lookup;
/**
* Base for classes that expose class field and method information to an {@link AbstractJavaLinker}. There are
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/GuardedInvocationComponent.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/GuardedInvocationComponent.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/GuardedInvocationComponent.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/GuardedInvocationComponent.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/GuardedInvocationComponent.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/GuardedInvocationComponent.java
@@ -81,10 +81,10 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardedInvocation;
/**
* Represents one component for a GuardedInvocation of a potentially composite operation of an
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/MaximallySpecific.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/MaximallySpecific.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/MaximallySpecific.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/MaximallySpecific.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/MaximallySpecific.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/MaximallySpecific.java
@@ -81,16 +81,16 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
-import jdk.internal.dynalink.linker.ConversionComparator.Comparison;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.linker.ConversionComparator.Comparison;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Utility class that encapsulates the algorithm for choosing the maximally specific methods.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedDynamicMethod.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedDynamicMethod.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
@@ -97,11 +97,11 @@
import java.util.List;
import java.util.Map;
import java.util.Set;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.beans.ApplicableOverloadedMethods.ApplicabilityTest;
-import jdk.internal.dynalink.internal.AccessControlContextFactory;
-import jdk.internal.dynalink.internal.InternalTypeUtilities;
-import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.beans.ApplicableOverloadedMethods.ApplicabilityTest;
+import jdk.dynalink.internal.AccessControlContextFactory;
+import jdk.dynalink.internal.InternalTypeUtilities;
+import jdk.dynalink.linker.LinkerServices;
/**
* Represents a group of {@link SingleDynamicMethod} objects that represents all overloads of a particular name (or all
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedMethod.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedMethod.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedMethod.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedMethod.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/OverloadedMethod.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/OverloadedMethod.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -91,9 +91,9 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import jdk.internal.dynalink.internal.InternalTypeUtilities;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.internal.InternalTypeUtilities;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.Lookup;
/**
* Represents a subset of overloaded methods for a certain method name on a certain class. It can be either a fixarg or
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SimpleDynamicMethod.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/SimpleDynamicMethod.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SimpleDynamicMethod.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/SimpleDynamicMethod.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SimpleDynamicMethod.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/SimpleDynamicMethod.java
@@ -81,11 +81,11 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.CallSiteDescriptor;
+import jdk.dynalink.CallSiteDescriptor;
/**
* A dynamic method bound to exactly one Java method or constructor that is not caller sensitive. Since its target is
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SingleDynamicMethod.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/SingleDynamicMethod.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SingleDynamicMethod.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/SingleDynamicMethod.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/SingleDynamicMethod.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/SingleDynamicMethod.java
@@ -81,17 +81,17 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.reflect.Array;
import java.util.StringTokenizer;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.Guards;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.Guards;
+import jdk.dynalink.linker.support.Lookup;
/**
* Base class for dynamic methods that dispatch to a single target Java method or constructor. Handles adaptation of the
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClass.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClass.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClass.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClass.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClass.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClass.java
@@ -81,11 +81,11 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.io.Serializable;
import java.util.Objects;
-import jdk.internal.dynalink.StandardOperation;
+import jdk.dynalink.StandardOperation;
/**
* Object that allows access to the static members of a class (its static
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClassIntrospector.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassIntrospector.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClassIntrospector.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassIntrospector.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClassIntrospector.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassIntrospector.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClassLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClassLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/StaticClassLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/StaticClassLinker.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -89,15 +89,15 @@
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Set;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.GuardedInvocationComponent.ValidationType;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.GuardedInvocationComponent.ValidationType;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Lookup;
/**
* Provides a linker for the {@link StaticClass} objects.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/messages.properties b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/messages.properties
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/messages.properties
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/messages.properties
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/package-info.java b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/package-info.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/beans/package-info.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/beans/package-info.java
@@ -86,4 +86,4 @@
* @since 1.9
*/
@jdk.Exported
-package jdk.internal.dynalink.beans;
+package jdk.dynalink.beans;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/internal/AccessControlContextFactory.java b/src/jdk.dynalink/share/classes/jdk/dynalink/internal/AccessControlContextFactory.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/internal/AccessControlContextFactory.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/internal/AccessControlContextFactory.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/internal/AccessControlContextFactory.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/internal/AccessControlContextFactory.java
@@ -23,7 +23,7 @@
* questions.
*/
-package jdk.internal.dynalink.internal;
+package jdk.dynalink.internal;
import java.security.AccessControlContext;
import java.security.Permission;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/internal/InternalTypeUtilities.java b/src/jdk.dynalink/share/classes/jdk/dynalink/internal/InternalTypeUtilities.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/internal/InternalTypeUtilities.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/internal/InternalTypeUtilities.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/internal/InternalTypeUtilities.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/internal/InternalTypeUtilities.java
@@ -22,14 +22,14 @@
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
-package jdk.internal.dynalink.internal;
+package jdk.dynalink.internal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Various static utility methods for testing type relationships; internal to Dynalink.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/ConversionComparator.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/ConversionComparator.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/ConversionComparator.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/ConversionComparator.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/ConversionComparator.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/ConversionComparator.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
/**
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocation.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocation.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocation.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocation.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocation.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocation.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
@@ -90,8 +90,8 @@
import java.util.List;
import java.util.Objects;
import java.util.function.Supplier;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.support.Guards;
/**
* Represents a conditionally valid method handle. Usually produced as a return
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocationTransformer.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocationTransformer.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocationTransformer.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocationTransformer.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardedInvocationTransformer.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardedInvocationTransformer.java
@@ -81,9 +81,9 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
-import jdk.internal.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.DynamicLinkerFactory;
/**
* Interface for objects that are used to transform one guarded invocation into
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingDynamicLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingDynamicLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingDynamicLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinker.java
@@ -81,12 +81,12 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
import java.util.List;
-import jdk.internal.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.DynamicLinkerFactory;
/**
* The base interface for language-specific dynamic linkers. Such linkers
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingDynamicLinkerExporter.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinkerExporter.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingDynamicLinkerExporter.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinkerExporter.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingDynamicLinkerExporter.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingDynamicLinkerExporter.java
@@ -23,13 +23,13 @@
* questions.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.security.Permission;
import java.util.List;
import java.util.ServiceLoader;
import java.util.function.Supplier;
-import jdk.internal.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.DynamicLinkerFactory;
/**
* A class acting as a supplier of guarding dynamic linkers that can be
@@ -37,7 +37,7 @@
* to export their own linkers should subclass this class and implement the
* {@link #get()} method to return a list of exported linkers and declare the
* subclass in
- * {@code /META-INF/services/jdk.internal.dynalink.linker.GuardingDynamicLinkerExporter}
+ * {@code /META-INF/services/jdk.dynalink.linker.GuardingDynamicLinkerExporter}
* resource of their distribution (typically, JAR file) so that dynamic linker
* factories can discover them using the {@link ServiceLoader} mechanism. Note
* that instantiating this class is tied to a security check for the
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingTypeConverterFactory.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingTypeConverterFactory.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/GuardingTypeConverterFactory.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/GuardingTypeConverterFactory.java
@@ -81,13 +81,13 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.lang.invoke.MethodHandles;
import java.util.function.Supplier;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Optional interface that can be implemented by {@link GuardingDynamicLinker}
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/LinkRequest.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkRequest.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/LinkRequest.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkRequest.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/LinkRequest.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkRequest.java
@@ -81,11 +81,11 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.DynamicLinkerFactory;
/**
* Represents a request to link a particular invocation at a particular call
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/LinkerServices.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkerServices.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/LinkerServices.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkerServices.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/LinkerServices.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/LinkerServices.java
@@ -81,15 +81,15 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.DynamicLinkerFactory;
-import jdk.internal.dynalink.linker.ConversionComparator.Comparison;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.linker.ConversionComparator.Comparison;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Interface for services provided to {@link GuardingDynamicLinker} instances by
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/MethodHandleTransformer.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodHandleTransformer.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/MethodHandleTransformer.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodHandleTransformer.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/MethodHandleTransformer.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodHandleTransformer.java
@@ -81,10 +81,10 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.DynamicLinkerFactory;
/**
* A generic interface describing operations that transform method handles.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/MethodTypeConversionStrategy.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodTypeConversionStrategy.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/MethodTypeConversionStrategy.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodTypeConversionStrategy.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/MethodTypeConversionStrategy.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/MethodTypeConversionStrategy.java
@@ -81,11 +81,11 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.DynamicLinkerFactory;
/**
* Interface for objects representing a strategy for converting a method handle
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/TypeBasedGuardingDynamicLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/TypeBasedGuardingDynamicLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/TypeBasedGuardingDynamicLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/TypeBasedGuardingDynamicLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/TypeBasedGuardingDynamicLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/TypeBasedGuardingDynamicLinker.java
@@ -81,9 +81,9 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
-import jdk.internal.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.CompositeTypeBasedGuardingDynamicLinker;
/**
* A guarding dynamic linker that can determine whether it can link the call site solely based on the type of the first
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/package-info.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/package-info.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/package-info.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/package-info.java
@@ -86,32 +86,32 @@
* Contains interfaces and classes needed by language runtimes to implement
* their own language-specific object models and type conversions. The main
* entry point is the
- * {@link jdk.internal.dynalink.linker.GuardingDynamicLinker} interface. It needs to be
+ * {@link jdk.dynalink.linker.GuardingDynamicLinker} interface. It needs to be
* implemented in order to provide linking for the runtime's own object model.
* A language runtime can have more than one guarding dynamic linker
* implementation. When a runtime is configuring Dynalink for itself, it will
* normally set these guarding linkers as the prioritized linkers in its
- * {@link jdk.internal.dynalink.DynamicLinkerFactory} (and maybe some of them as fallback
+ * {@link jdk.dynalink.DynamicLinkerFactory} (and maybe some of them as fallback
* linkers, for e.g. handling "method not found" and similar errors in a
* language-specific manner if no other linker managed to handle the operation.)
*
* A language runtime that wishes to make at least some of its linkers available
* to other language runtimes for interoperability will need to declare the
* class names of those linkers in
- * {@code /META-INF/services/jdk.internal.dynalink.linker.GuardingDynamicLinker} file in
+ * {@code /META-INF/services/jdk.dynalink.linker.GuardingDynamicLinker} file in
* its distribution (typically, JAR file).
*
* Most language runtimes will be able to implement their own linking logic by
- * implementing {@link jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker}
- * instead of {@link jdk.internal.dynalink.linker.GuardingDynamicLinker}; it allows for
+ * implementing {@link jdk.dynalink.linker.TypeBasedGuardingDynamicLinker}
+ * instead of {@link jdk.dynalink.linker.GuardingDynamicLinker}; it allows for
* faster type-based linking dispatch.
*
* Language runtimes that allow type conversions other than those provided by
* Java will need to have their guarding dynamic linker (or linkers) also
- * implement the {@link jdk.internal.dynalink.linker.GuardingTypeConverterFactory}
+ * implement the {@link jdk.dynalink.linker.GuardingTypeConverterFactory}
* interface to provide the logic for these conversions.
*
* @since 1.9
*/
@jdk.Exported
-package jdk.internal.dynalink.linker;
+package jdk.dynalink.linker;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/CompositeGuardingDynamicLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeGuardingDynamicLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/CompositeGuardingDynamicLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeGuardingDynamicLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/CompositeGuardingDynamicLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeGuardingDynamicLinker.java
@@ -81,15 +81,15 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
/**
* A {@link GuardingDynamicLinker} that delegates sequentially to a list of
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/CompositeTypeBasedGuardingDynamicLinker.java
@@ -81,17 +81,17 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.Objects;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
/**
* A composite type-based guarding dynamic linker. When a receiver of a not yet
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/DefaultInternalObjectFilter.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/DefaultInternalObjectFilter.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/DefaultInternalObjectFilter.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/DefaultInternalObjectFilter.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/DefaultInternalObjectFilter.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/DefaultInternalObjectFilter.java
@@ -81,13 +81,13 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.DynamicLinkerFactory;
-import jdk.internal.dynalink.linker.MethodHandleTransformer;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.linker.MethodHandleTransformer;
/**
* Default implementation for a
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/Guards.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Guards.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/Guards.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Guards.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/Guards.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Guards.java
@@ -81,15 +81,15 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.util.logging.Level;
import java.util.logging.Logger;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.linker.LinkerServices;
/**
* Utility methods for creating typical guards for
@@ -98,7 +98,7 @@
*/
public final class Guards {
private static final Logger LOG = Logger
- .getLogger(Guards.class.getName(), "jdk.internal.dynalink.support.messages");
+ .getLogger(Guards.class.getName(), "jdk.dynalink.support.messages");
private Guards() {
}
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/Lookup.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Lookup.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/Lookup.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Lookup.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/Lookup.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/Lookup.java
@@ -81,7 +81,7 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/SimpleLinkRequest.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/SimpleLinkRequest.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/SimpleLinkRequest.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/SimpleLinkRequest.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/SimpleLinkRequest.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/SimpleLinkRequest.java
@@ -81,11 +81,11 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.util.Objects;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.LinkRequest;
/**
* Default simple implementation of {@link LinkRequest}.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/TypeUtilities.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/TypeUtilities.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/TypeUtilities.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/TypeUtilities.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/TypeUtilities.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/TypeUtilities.java
@@ -81,15 +81,15 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.IdentityHashMap;
import java.util.Map;
-import jdk.internal.dynalink.DynamicLinkerFactory;
-import jdk.internal.dynalink.linker.MethodTypeConversionStrategy;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.linker.MethodTypeConversionStrategy;
/**
* Various static utility methods for working with Java types.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/package-info.java b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/package-info.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/linker/support/package-info.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/linker/support/package-info.java
@@ -90,4 +90,4 @@
* @since 1.9
*/
@jdk.Exported
-package jdk.internal.dynalink.linker.support;
+package jdk.dynalink.linker.support;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/package-info.java b/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/package-info.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/package-info.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/package-info.java
@@ -83,7 +83,7 @@
/**
*
- * Dynalink is a library for dynamic linking high-level operations on objects.
+ * Dynalink is a library for dynamic linking of high-level operations on objects.
* These operations include "read a property",
* "write a property", "invoke a function" and so on. Dynalink is primarily
* useful for implementing programming languages where at least some expressions
@@ -136,8 +136,8 @@
* method. A minimalist bootstrap method with Dynalink could look like this:
*
* There are several objects of significance in the above code snippet:
*
- *
{@link jdk.internal.dynalink.DynamicLinker} is the main object in Dynalink, it
+ *
{@link jdk.dynalink.DynamicLinker} is the main object in Dynalink, it
* coordinates the linking of call sites to method handles that implement the
* operations named in them. It is configured and created using a
- * {@link jdk.internal.dynalink.DynamicLinkerFactory}.
+ * {@link jdk.dynalink.DynamicLinkerFactory}.
*
When the bootstrap method is invoked, it needs to create a
* {@link java.lang.invoke.CallSite} object. In Dynalink, these call sites need
- * to additionally implement the {@link jdk.internal.dynalink.RelinkableCallSite}
+ * to additionally implement the {@link jdk.dynalink.RelinkableCallSite}
* interface. "Relinkable" here alludes to the fact that if the call site
* encounters objects of different types at run time, its target will be changed
* to a method handle that can perform the operation on the newly encountered
- * type. {@link jdk.internal.dynalink.support.SimpleRelinkableCallSite} and
- * {@link jdk.internal.dynalink.support.ChainedCallSite} (not used in the above example)
+ * type. {@link jdk.dynalink.support.SimpleRelinkableCallSite} and
+ * {@link jdk.dynalink.support.ChainedCallSite} (not used in the above example)
* are two implementations already provided by the library.
- *
Dynalink uses {@link jdk.internal.dynalink.CallSiteDescriptor} objects to
+ *
Dynalink uses {@link jdk.dynalink.CallSiteDescriptor} objects to
* preserve the parameters to the bootstrap method: the lookup and the method type,
* as it will need them whenever it needs to relink a call site.
- *
Dynalink uses {@link jdk.internal.dynalink.Operation} objects to express
+ *
Dynalink uses {@link jdk.dynalink.Operation} objects to express
* dynamic operations. It does not prescribe how would you encode the operations
* in your call site, though. That is why in the above example the
* {@code parseOperation} function is left empty, and you would be expected to
@@ -214,7 +214,7 @@
* The {@code SimpleRelinkableCallSite} we used above only remembers the linkage
* for the last encountered type (it implements what is known as a monomorphic
* inline cache). Another already provided implementation,
- * {@link jdk.internal.dynalink.support.ChainedCallSite} will remember linkages for
+ * {@link jdk.dynalink.support.ChainedCallSite} will remember linkages for
* several different types (it is a polymorphic inline cache) and is
* probably a better choice in serious applications.
*
Dynalink and bytecode creation
@@ -229,11 +229,11 @@
* (e.g. a typical representation would be some node objects in a syntax tree).
*
Available operations
* Dynalink defines several standard operations in its
- * {@link jdk.internal.dynalink.StandardOperation} class. The linker for Java
+ * {@link jdk.dynalink.StandardOperation} class. The linker for Java
* objects can link all of these operations, and you are encouraged to at
* minimum support and use these operations in your language too. To associate
* a fixed name with an operation, you can use
- * {@link jdk.internal.dynalink.NamedOperation} as in the above example where
+ * {@link jdk.dynalink.NamedOperation} as in the above example where
* {@code StandardOperation.GET_PROPERTY} was combined with the name
* {@code "color"} in a {@code NamedOperation} to form a property getter for the
* property named "color".
@@ -242,12 +242,12 @@
* properties, elements, and methods, and a source language construct might
* address two or three of them. Dynalink supports specifying composite
* operations for this purpose using the
- * {@link jdk.internal.dynalink.CompositeOperation} class.
+ * {@link jdk.dynalink.CompositeOperation} class.
*
Language-specific linkers
* Languages that define their own object model different than the JVM
* class-based model and/or use their own type conversions will need to create
- * their own language-specific linkers. See the {@link jdk.internal.dynalink.linker}
- * package and specifically the {@link jdk.internal.dynalink.linker.GuardingDynamicLinker}
+ * their own language-specific linkers. See the {@link jdk.dynalink.linker}
+ * package and specifically the {@link jdk.dynalink.linker.GuardingDynamicLinker}
* interface to get started.
*
Dynalink and Java objects
* The {@code DynamicLinker} objects created by {@code DynamicLinkerFactory} by
@@ -256,13 +256,13 @@
* that implements the usual Java semantics for all of the above operations and
* can link any Java object that no other language-specific linker has managed
* to link. This way, all language runtimes have built-in interoperability with
- * ordinary Java objects. See {@link jdk.internal.dynalink.beans.BeansLinker} for details
+ * ordinary Java objects. See {@link jdk.dynalink.beans.BeansLinker} for details
* on how it links the various operations.
*
Cross-language interoperability
* A {@code DynamicLinkerFactory} can be configured with a
- * {@link jdk.internal.dynalink.DynamicLinkerFactory#setClassLoader(ClassLoader) class
+ * {@link jdk.dynalink.DynamicLinkerFactory#setClassLoader(ClassLoader) class
* loader}. It will try to instantiate all
- * {@link jdk.internal.dynalink.linker.GuardingDynamicLinkerExporter} classes visible to
+ * {@link jdk.dynalink.linker.GuardingDynamicLinkerExporter} classes visible to
* that class loader and compose the linkers they provide into the
* {@code DynamicLinker} it creates. This allows for interoperability between
* languages: if you have two language runtimes A and B deployed in your JVM and
@@ -274,4 +274,4 @@
* object from B.
*/
@jdk.Exported
-package jdk.internal.dynalink;
+package jdk.dynalink;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java b/src/jdk.dynalink/share/classes/jdk/dynalink/support/AbstractRelinkableCallSite.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/support/AbstractRelinkableCallSite.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/AbstractRelinkableCallSite.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/support/AbstractRelinkableCallSite.java
@@ -81,14 +81,14 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.support;
+package jdk.dynalink.support;
import java.lang.invoke.CallSite;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MutableCallSite;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.RelinkableCallSite;
-import jdk.internal.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.RelinkableCallSite;
+import jdk.dynalink.linker.GuardedInvocation;
/**
* A basic implementation of the {@link RelinkableCallSite} as a
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/ChainedCallSite.java b/src/jdk.dynalink/share/classes/jdk/dynalink/support/ChainedCallSite.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/ChainedCallSite.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/support/ChainedCallSite.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/ChainedCallSite.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/support/ChainedCallSite.java
@@ -81,16 +81,16 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.support;
+package jdk.dynalink.support;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.util.Arrays;
import java.util.Iterator;
import java.util.LinkedList;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.support.Lookup;
/**
* A relinkable call site that implements a polymorphic inline caching strategy.
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/SimpleRelinkableCallSite.java b/src/jdk.dynalink/share/classes/jdk/dynalink/support/SimpleRelinkableCallSite.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/SimpleRelinkableCallSite.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/support/SimpleRelinkableCallSite.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/SimpleRelinkableCallSite.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/support/SimpleRelinkableCallSite.java
@@ -81,12 +81,12 @@
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-package jdk.internal.dynalink.support;
+package jdk.dynalink.support;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.linker.GuardedInvocation;
/**
* A relinkable call site that implements monomorphic inline caching strategy,
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/messages.properties b/src/jdk.dynalink/share/classes/jdk/dynalink/support/messages.properties
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/messages.properties
rename to src/jdk.dynalink/share/classes/jdk/dynalink/support/messages.properties
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/package-info.java b/src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java
rename from src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/package-info.java
rename to src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/internal/dynalink/support/package-info.java
+++ b/src/jdk.dynalink/share/classes/jdk/dynalink/support/package-info.java
@@ -88,4 +88,4 @@
* @since 1.9
*/
@jdk.Exported
-package jdk.internal.dynalink.support;
+package jdk.dynalink.support;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/api/scripting/ScriptUtils.java
@@ -26,8 +26,8 @@
package jdk.nashorn.api.scripting;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.LinkerServices;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.LinkerServices;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.ScriptFunction;
import jdk.nashorn.internal.runtime.ScriptObject;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ArrayBufferView.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ArrayBufferView.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ArrayBufferView.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/ArrayBufferView.java
@@ -30,9 +30,9 @@
import static jdk.nashorn.internal.runtime.UnwarrantedOptimismException.INVALID_PROGRAM_POINT;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Getter;
import jdk.nashorn.internal.objects.annotations.ScriptClass;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/Global.java
@@ -47,10 +47,10 @@
import java.util.concurrent.ConcurrentHashMap;
import javax.script.ScriptContext;
import javax.script.ScriptEngine;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.api.scripting.ClassFilter;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.internal.lookup.Lookup;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArray.java
@@ -42,9 +42,9 @@
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.Callable;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Constructor;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeBoolean.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeBoolean.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeBoolean.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeBoolean.java
@@ -31,8 +31,8 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Constructor;
import jdk.nashorn.internal.objects.annotations.Function;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeFunction.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeFunction.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeFunction.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeFunction.java
@@ -33,7 +33,7 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.util.List;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.linker.support.Lookup;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Constructor;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJSAdapter.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJSAdapter.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJSAdapter.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJSAdapter.java
@@ -36,10 +36,10 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.lookup.Lookup;
import jdk.nashorn.internal.objects.annotations.Constructor;
import jdk.nashorn.internal.objects.annotations.ScriptClass;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJava.java
@@ -37,9 +37,9 @@
import java.util.List;
import java.util.Map;
import java.util.Queue;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.support.TypeUtilities;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.internal.objects.annotations.Attribute;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJavaImporter.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJavaImporter.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJavaImporter.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeJavaImporter.java
@@ -28,10 +28,10 @@
import static jdk.nashorn.internal.runtime.ECMAErrors.typeError;
import static jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Constructor;
import jdk.nashorn.internal.objects.annotations.Function;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeNumber.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeNumber.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeNumber.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeNumber.java
@@ -36,8 +36,8 @@
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.Locale;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Constructor;
import jdk.nashorn.internal.objects.annotations.Function;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeObject.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeObject.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeObject.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeObject.java
@@ -39,16 +39,16 @@
import java.util.List;
import java.util.Set;
import java.util.concurrent.Callable;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.support.SimpleLinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.support.SimpleLinkRequest;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.internal.lookup.Lookup;
import jdk.nashorn.internal.objects.annotations.Attribute;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeString.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeString.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeString.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeString.java
@@ -41,10 +41,10 @@
import java.util.List;
import java.util.Locale;
import java.util.Set;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.lookup.MethodHandleFactory.LookupException;
import jdk.nashorn.internal.objects.annotations.Attribute;
import jdk.nashorn.internal.objects.annotations.Constructor;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/annotations/SpecializedFunction.java
@@ -30,8 +30,8 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.runtime.ScriptFunction;
import jdk.nashorn.internal.runtime.UnwarrantedOptimismException;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
@@ -3064,7 +3064,7 @@
if (k < stream.last() && start < parserState.position && parserState.position <= Token.descPosition(stream.get(stream.last()))) {
// RBRACE is already in the token stream, so fast forward to it
for (; k < stream.last(); k++) {
- long nextToken = stream.get(k + 1);
+ final long nextToken = stream.get(k + 1);
if (Token.descPosition(nextToken) == parserState.position && Token.descType(nextToken) == RBRACE) {
token = stream.get(k);
type = Token.descType(token);
@@ -3480,7 +3480,7 @@
Expression concat = literal;
TokenType lastLiteralType;
do {
- Expression expression = expression();
+ final Expression expression = expression();
if (type != TEMPLATE_MIDDLE && type != TEMPLATE_TAIL) {
throw error(AbstractParser.message("unterminated.template.expression"), token);
}
@@ -3511,7 +3511,7 @@
if (hasSubstitutions) {
TokenType lastLiteralType;
do {
- Expression expression = expression();
+ final Expression expression = expression();
if (type != TEMPLATE_MIDDLE && type != TEMPLATE_TAIL) {
throw error(AbstractParser.message("unterminated.template.expression"), token);
}
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/CompiledFunction.java
@@ -43,7 +43,7 @@
import java.util.TreeMap;
import java.util.function.Supplier;
import java.util.logging.Level;
-import jdk.internal.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardedInvocation;
import jdk.nashorn.internal.codegen.Compiler;
import jdk.nashorn.internal.codegen.Compiler.CompilationPhases;
import jdk.nashorn.internal.codegen.TypeMap;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Context.java
@@ -71,7 +71,7 @@
import java.util.function.Supplier;
import java.util.logging.Level;
import javax.script.ScriptEngine;
-import jdk.internal.dynalink.DynamicLinker;
+import jdk.dynalink.DynamicLinker;
import jdk.internal.org.objectweb.asm.ClassReader;
import jdk.internal.org.objectweb.asm.ClassWriter;
import jdk.internal.org.objectweb.asm.Opcodes;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/FindProperty.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/FindProperty.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/FindProperty.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/FindProperty.java
@@ -29,7 +29,7 @@
import static jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid;
import java.lang.invoke.MethodHandle;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.codegen.ObjectClassGenerator;
import jdk.nashorn.internal.objects.Global;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/GlobalConstants.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/GlobalConstants.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/GlobalConstants.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/GlobalConstants.java
@@ -40,10 +40,10 @@
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.lookup.Lookup;
import jdk.nashorn.internal.lookup.MethodHandleFactory;
import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/JSType.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/JSType.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/JSType.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/JSType.java
@@ -35,7 +35,7 @@
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
-import jdk.internal.dynalink.beans.StaticClass;
+import jdk.dynalink.beans.StaticClass;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.internal.codegen.CompilerConstants.Call;
import jdk.nashorn.internal.codegen.types.Type;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/NativeJavaPackage.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/NativeJavaPackage.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/NativeJavaPackage.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/NativeJavaPackage.java
@@ -31,12 +31,12 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.support.Guards;
import jdk.nashorn.internal.lookup.MethodHandleFactory;
import jdk.nashorn.internal.lookup.MethodHandleFunctionality;
import jdk.nashorn.internal.objects.annotations.Attribute;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/OptimisticReturnFilters.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/OptimisticReturnFilters.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/OptimisticReturnFilters.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/OptimisticReturnFilters.java
@@ -32,9 +32,9 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.support.TypeUtilities;
import jdk.nashorn.internal.codegen.types.Type;
import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptFunction.java
@@ -44,10 +44,10 @@
import java.util.HashSet;
import java.util.List;
import java.util.concurrent.atomic.LongAdder;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.support.Guards;
import jdk.nashorn.internal.codegen.ApplySpecialization;
import jdk.nashorn.internal.codegen.Compiler;
import jdk.nashorn.internal.codegen.CompilerConstants.Call;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptObject.java
@@ -66,11 +66,11 @@
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.LongAdder;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.codegen.CompilerConstants.Call;
import jdk.nashorn.internal.codegen.ObjectClassGenerator;
import jdk.nashorn.internal.codegen.types.Type;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptRuntime.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptRuntime.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptRuntime.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/ScriptRuntime.java
@@ -45,8 +45,7 @@
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Objects;
-
-import jdk.internal.dynalink.beans.StaticClass;
+import jdk.dynalink.beans.StaticClass;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.internal.codegen.ApplySpecialization;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SetMethodCreator.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SetMethodCreator.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SetMethodCreator.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/SetMethodCreator.java
@@ -31,15 +31,15 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.SwitchPoint;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor;
import jdk.nashorn.internal.runtime.linker.NashornGuards;
/**
* Instances of this class are quite ephemeral; they only exist for the duration of an invocation of
- * {@link ScriptObject#findSetMethod(CallSiteDescriptor, jdk.internal.dynalink.linker.LinkRequest)} and
+ * {@link ScriptObject#findSetMethod(CallSiteDescriptor, jdk.dynalink.linker.LinkRequest)} and
* serve as the actual encapsulation of the algorithm for creating an appropriate property setter method.
*/
final class SetMethodCreator {
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Undefined.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Undefined.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Undefined.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/Undefined.java
@@ -30,11 +30,11 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.support.Guards;
import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor;
/**
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/WithObject.java
@@ -32,12 +32,12 @@
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.SwitchPoint;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.api.scripting.AbstractJSObject;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.internal.runtime.linker.NashornCallSiteDescriptor;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ArrayData.java
@@ -34,9 +34,9 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.codegen.CompilerConstants;
import jdk.nashorn.internal.codegen.types.Type;
import jdk.nashorn.internal.objects.Global;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/ContinuousArrayData.java
@@ -33,9 +33,9 @@
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.SwitchPoint;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.codegen.types.Type;
import jdk.nashorn.internal.lookup.Lookup;
import jdk.nashorn.internal.runtime.ScriptObject;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/NumberArrayData.java
@@ -32,7 +32,7 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.util.Arrays;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.linker.support.TypeUtilities;
/**
* Implementation of {@link ArrayData} as soon as a double has been
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/arrays/TypedArrayData.java
@@ -28,9 +28,9 @@
import static jdk.nashorn.internal.lookup.Lookup.MH;
import java.lang.invoke.MethodHandle;
import java.nio.Buffer;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.internal.lookup.Lookup;
/**
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/Bootstrap.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/Bootstrap.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/Bootstrap.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/Bootstrap.java
@@ -34,17 +34,17 @@
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodHandles.Lookup;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.DynamicLinkerFactory;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardedInvocationTransformer;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.MethodTypeConversionStrategy;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardedInvocationTransformer;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.MethodTypeConversionStrategy;
+import jdk.dynalink.linker.support.TypeUtilities;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.internal.codegen.CompilerConstants.Call;
import jdk.nashorn.internal.lookup.MethodHandleFactory;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BoundCallableLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BoundCallableLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BoundCallableLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BoundCallableLinker.java
@@ -29,15 +29,15 @@
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.util.Arrays;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Guards;
/**
* Links {@link BoundCallable} objects. Passes through to linker services for linking a callable (for either
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BrowserJSObjectLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BrowserJSObjectLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BrowserJSObjectLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/BrowserJSObjectLinker.java
@@ -34,12 +34,12 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
import jdk.nashorn.internal.lookup.MethodHandleFactory;
import jdk.nashorn.internal.lookup.MethodHandleFunctionality;
import jdk.nashorn.internal.runtime.JSType;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JSObjectLinker.java
@@ -31,12 +31,12 @@
import java.lang.invoke.MethodHandles;
import java.util.Map;
import javax.script.Bindings;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.internal.lookup.MethodHandleFactory;
import jdk.nashorn.internal.lookup.MethodHandleFunctionality;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterClassLoader.java
@@ -34,7 +34,7 @@
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
-import jdk.internal.dynalink.beans.StaticClass;
+import jdk.dynalink.beans.StaticClass;
import jdk.nashorn.internal.codegen.DumpBytecode;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.JSType;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaAdapterFactory.java
@@ -46,10 +46,10 @@
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.support.SimpleLinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.support.SimpleLinkRequest;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.ECMAException;
import jdk.nashorn.internal.runtime.ScriptFunction;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaArgumentConverters.java
@@ -34,7 +34,7 @@
import java.lang.invoke.MethodHandles;
import java.util.HashMap;
import java.util.Map;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.linker.support.TypeUtilities;
import jdk.nashorn.internal.runtime.ConsString;
import jdk.nashorn.internal.runtime.JSType;
import jdk.nashorn.internal.runtime.ScriptObject;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/JavaSuperAdapterLinker.java
@@ -31,16 +31,16 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Lookup;
import jdk.nashorn.internal.runtime.ScriptRuntime;
/**
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/LinkerCallSite.java
@@ -44,9 +44,9 @@
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.LongAdder;
-import jdk.internal.dynalink.DynamicLinker;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.support.ChainedCallSite;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.support.ChainedCallSite;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.Debug;
import jdk.nashorn.internal.runtime.ScriptObject;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBeansLinker.java
@@ -32,18 +32,18 @@
import java.lang.invoke.MethodType;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.linker.ConversionComparator.Comparison;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.MethodHandleTransformer;
-import jdk.internal.dynalink.linker.support.DefaultInternalObjectFilter;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.linker.ConversionComparator.Comparison;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.MethodHandleTransformer;
+import jdk.dynalink.linker.support.DefaultInternalObjectFilter;
+import jdk.dynalink.linker.support.Lookup;
import jdk.nashorn.api.scripting.ScriptUtils;
import jdk.nashorn.internal.runtime.ConsString;
import jdk.nashorn.internal.runtime.Context;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornBottomLinker.java
@@ -36,16 +36,16 @@
import java.util.HashMap;
import java.util.Map;
import java.util.function.Supplier;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.GuardingTypeConverterFactory;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.GuardingTypeConverterFactory;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.support.Guards;
import jdk.nashorn.internal.codegen.types.Type;
import jdk.nashorn.internal.runtime.JSType;
import jdk.nashorn.internal.runtime.ScriptRuntime;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornCallSiteDescriptor.java
@@ -39,11 +39,11 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Stream;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.CompositeOperation;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.Operation;
-import jdk.internal.dynalink.StandardOperation;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.CompositeOperation;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
import jdk.nashorn.internal.ir.debug.NashornTextifier;
import jdk.nashorn.internal.runtime.AccessControlContextFactory;
import jdk.nashorn.internal.runtime.ScriptRuntime;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornGuards.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornGuards.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornGuards.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornGuards.java
@@ -30,8 +30,8 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.ref.WeakReference;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.LinkRequest;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.LinkRequest;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.internal.objects.Global;
import jdk.nashorn.internal.runtime.Property;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornLinker.java
@@ -41,15 +41,15 @@
import java.util.Queue;
import java.util.function.Supplier;
import javax.script.Bindings;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.linker.ConversionComparator;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingTypeConverterFactory;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Guards;
-import jdk.internal.dynalink.linker.support.Lookup;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.linker.ConversionComparator;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingTypeConverterFactory;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Guards;
+import jdk.dynalink.linker.support.Lookup;
import jdk.nashorn.api.scripting.JSObject;
import jdk.nashorn.api.scripting.ScriptObjectMirror;
import jdk.nashorn.api.scripting.ScriptUtils;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornPrimitiveLinker.java
@@ -30,13 +30,13 @@
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.util.function.Supplier;
-import jdk.internal.dynalink.linker.ConversionComparator;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingTypeConverterFactory;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.TypeUtilities;
+import jdk.dynalink.linker.ConversionComparator;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingTypeConverterFactory;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.TypeUtilities;
import jdk.nashorn.internal.objects.Global;
import jdk.nashorn.internal.runtime.ConsString;
import jdk.nashorn.internal.runtime.JSType;
@@ -95,7 +95,7 @@
* @param sourceType the source type to convert from
* @param targetType1 one candidate target type
* @param targetType2 another candidate target type
- * @return one of {@link jdk.internal.dynalink.linker.ConversionComparator.Comparison} values signifying which
+ * @return one of {@link jdk.dynalink.linker.ConversionComparator.Comparison} values signifying which
* target type should be favored for conversion.
*/
@Override
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/NashornStaticClassLinker.java
@@ -26,17 +26,17 @@
package jdk.nashorn.internal.runtime.linker;
import java.lang.reflect.Modifier;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.NamedOperation;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.beans.BeansLinker;
-import jdk.internal.dynalink.beans.StaticClass;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.GuardingDynamicLinker;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.GuardingDynamicLinker;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.linker.support.Guards;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.ECMAErrors;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/PrimitiveLookup.java
@@ -32,9 +32,9 @@
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodType;
import java.lang.invoke.SwitchPoint;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.support.Guards;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.support.Guards;
import jdk.nashorn.internal.runtime.Context;
import jdk.nashorn.internal.runtime.FindProperty;
import jdk.nashorn.internal.runtime.GlobalConstants;
diff --git a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/ReflectionCheckLinker.java b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/ReflectionCheckLinker.java
--- a/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/ReflectionCheckLinker.java
+++ b/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/runtime/linker/ReflectionCheckLinker.java
@@ -29,12 +29,12 @@
import java.lang.reflect.Modifier;
import java.lang.reflect.Proxy;
-import jdk.internal.dynalink.CallSiteDescriptor;
-import jdk.internal.dynalink.StandardOperation;
-import jdk.internal.dynalink.linker.GuardedInvocation;
-import jdk.internal.dynalink.linker.LinkRequest;
-import jdk.internal.dynalink.linker.LinkerServices;
-import jdk.internal.dynalink.linker.TypeBasedGuardingDynamicLinker;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.linker.LinkRequest;
+import jdk.dynalink.linker.LinkerServices;
+import jdk.dynalink.linker.TypeBasedGuardingDynamicLinker;
import jdk.nashorn.api.scripting.ClassFilter;
import jdk.nashorn.internal.objects.Global;
import jdk.nashorn.internal.runtime.Context;
diff --git a/test/script/basic/JDK-8010946-2.js.EXPECTED b/test/script/basic/JDK-8010946-2.js.EXPECTED
--- a/test/script/basic/JDK-8010946-2.js.EXPECTED
+++ b/test/script/basic/JDK-8010946-2.js.EXPECTED
@@ -1,2 +1,2 @@
-[jdk.internal.dynalink.beans.CallerSensitiveDynamicMethod Object java.security.AccessController.doPrivileged(PrivilegedAction)]
-[jdk.internal.dynalink.beans.SimpleDynamicMethod String java.lang.String.valueOf(char)]
+[jdk.dynalink.beans.CallerSensitiveDynamicMethod Object java.security.AccessController.doPrivileged(PrivilegedAction)]
+[jdk.dynalink.beans.SimpleDynamicMethod String java.lang.String.valueOf(char)]
diff --git a/test/script/basic/JDK-8026125.js b/test/script/basic/JDK-8026125.js
--- a/test/script/basic/JDK-8026125.js
+++ b/test/script/basic/JDK-8026125.js
@@ -22,7 +22,7 @@
*/
/**
- * JDK-8026125: Array.prototype.slice.call(Java.type("java.util.HashMap")) throws ClassCastException: jdk.internal.dynalink.beans.StaticClass cannot be cast to jdk.nashorn.internal.runtime.ScriptObject
+ * JDK-8026125: Array.prototype.slice.call(Java.type("java.util.HashMap")) throws ClassCastException: jdk.dynalink.beans.StaticClass cannot be cast to jdk.nashorn.internal.runtime.ScriptObject
*
* @test
* @run
diff --git a/test/script/basic/JDK-8043232.js.EXPECTED b/test/script/basic/JDK-8043232.js.EXPECTED
--- a/test/script/basic/JDK-8043232.js.EXPECTED
+++ b/test/script/basic/JDK-8043232.js.EXPECTED
@@ -1,16 +1,16 @@
bcd
-[jdk.internal.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)]
+[jdk.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)]
red
TypeError: No such Java class: java.lang.NonExistent
TypeError: No such Java constructor: Object(String)
TypeError: Java constructor signature invalid: Object()xxxxx
TypeError: Java constructor signature invalid: Object(
TypeError: Java constructor signature invalid: Object)
-TypeError: Java method [jdk.internal.dynalink.beans.OverloadedDynamicMethod
+TypeError: Java method [jdk.dynalink.beans.OverloadedDynamicMethod
String java.lang.System.getProperty(String,String)
String java.lang.System.getProperty(String)
] cannot be used as a constructor.
-TypeError: Java method [jdk.internal.dynalink.beans.OverloadedDynamicMethod
+TypeError: Java method [jdk.dynalink.beans.OverloadedDynamicMethod
void java.io.PrintStream.println()
void java.io.PrintStream.println(boolean)
void java.io.PrintStream.println(char)
@@ -22,7 +22,7 @@
void java.io.PrintStream.println(Object)
void java.io.PrintStream.println(String)
] cannot be used as a constructor.
-TypeError: Constructor [jdk.internal.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)] requires "new".
+TypeError: Constructor [jdk.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)] requires "new".
TypeError: No such Java constructor: Runnable()
TypeError: No such Java constructor: Runnable(int)
java.lang.InstantiationException: java.io.InputStream
diff --git a/test/script/basic/JDK-8049242.js.EXPECTED b/test/script/basic/JDK-8049242.js.EXPECTED
--- a/test/script/basic/JDK-8049242.js.EXPECTED
+++ b/test/script/basic/JDK-8049242.js.EXPECTED
@@ -1,10 +1,10 @@
abc
-[jdk.internal.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)]
+[jdk.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)]
ava
TypeError: null is not a function
TypeError: null is not a function
TypeError: null is not a function
-TypeError: Constructor [jdk.internal.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)] requires "new".
+TypeError: Constructor [jdk.dynalink.beans.SimpleDynamicMethod java.lang.String(char[],int,int)] requires "new".
TypeError: null is not a function
TypeError: null is not a function
java.lang.InstantiationException: java.io.InputStream
diff --git a/test/script/basic/JDK-8079470.js.EXPECTED b/test/script/basic/JDK-8079470.js.EXPECTED
--- a/test/script/basic/JDK-8079470.js.EXPECTED
+++ b/test/script/basic/JDK-8079470.js.EXPECTED
@@ -1,2 +1,2 @@
-TypeError: Can not create new object with constructor [jdk.internal.dynalink.beans.SimpleDynamicMethod java.io.File(String,String)] with the passed arguments; they do not match any of its method signatures.
-TypeError: Can not create new object with constructor [jdk.internal.dynalink.beans.SimpleDynamicMethod java.awt.Color(int,int,int)] with the passed arguments; they do not match any of its method signatures.
+TypeError: Can not create new object with constructor [jdk.dynalink.beans.SimpleDynamicMethod java.io.File(String,String)] with the passed arguments; they do not match any of its method signatures.
+TypeError: Can not create new object with constructor [jdk.dynalink.beans.SimpleDynamicMethod java.awt.Color(int,int,int)] with the passed arguments; they do not match any of its method signatures.
diff --git a/test/script/basic/JDK-8134939.js b/test/script/basic/JDK-8134939.js
--- a/test/script/basic/JDK-8134939.js
+++ b/test/script/basic/JDK-8134939.js
@@ -31,13 +31,13 @@
var overloadedSetter = new (Java.type("jdk.nashorn.test.models.OverloadedSetter"));
Assert.assertEquals(String(overloadedSetter.foo),
- "[jdk.internal.dynalink.beans.OverloadedDynamicMethod\n" +
+ "[jdk.dynalink.beans.OverloadedDynamicMethod\n" +
" String jdk.nashorn.test.models.OverloadedSetter.foo(String)\n" +
" void jdk.nashorn.test.models.OverloadedSetter.foo(int)\n" +
"]");
Assert.assertEquals(String(overloadedSetter.setColor),
- "[jdk.internal.dynalink.beans.OverloadedDynamicMethod\n" +
+ "[jdk.dynalink.beans.OverloadedDynamicMethod\n" +
" void jdk.nashorn.test.models.OverloadedSetter.setColor(int)\n" +
" void jdk.nashorn.test.models.OverloadedSetter.setColor(String)\n" +
"]");
diff --git a/test/script/sandbox/nashorninternals.js b/test/script/sandbox/nashorninternals.js
--- a/test/script/sandbox/nashorninternals.js
+++ b/test/script/sandbox/nashorninternals.js
@@ -63,7 +63,3 @@
checkClass("jdk.nashorn.internal.runtime.regexp.RegExp");
checkClass("jdk.nashorn.internal.scripts.JO");
checkClass("jdk.nashorn.tools.Shell");
-checkClass("jdk.internal.dynalink.CallSiteDescriptor");
-checkClass("jdk.internal.dynalink.beans.StaticClass");
-checkClass("jdk.internal.dynalink.linker.LinkRequest");
-checkClass("jdk.internal.dynalink.support.AbstractRelinkableCallSite");
diff --git a/test/script/trusted/classfilter.js.EXPECTED b/test/script/trusted/classfilter.js.EXPECTED
--- a/test/script/trusted/classfilter.js.EXPECTED
+++ b/test/script/trusted/classfilter.js.EXPECTED
@@ -4,7 +4,7 @@
typeof java.util.Map evalutes to function
typeof java.util.HashMap evalutes to function
var m = new java.util.HashMap(); m.put('foo', 42); m evalutes to {foo=42}
-java.lang.System.out.println evalutes to [jdk.internal.dynalink.beans.OverloadedDynamicMethod
+java.lang.System.out.println evalutes to [jdk.dynalink.beans.OverloadedDynamicMethod
void java.io.PrintStream.println()
void java.io.PrintStream.println(boolean)
void java.io.PrintStream.println(char)
@@ -16,7 +16,7 @@
void java.io.PrintStream.println(Object)
void java.io.PrintStream.println(String)
]
-java.lang.System.exit evalutes to [jdk.internal.dynalink.beans.SimpleDynamicMethod void java.lang.System.exit(int)]
+java.lang.System.exit evalutes to [jdk.dynalink.beans.SimpleDynamicMethod void java.lang.System.exit(int)]
new javax.script.SimpleBindings throws java.lang.RuntimeException: java.lang.ClassNotFoundException: javax.script.SimpleBindings
Java.type('javax.script.ScriptContext') throws java.lang.RuntimeException: java.lang.ClassNotFoundException: javax.script.ScriptContext
java.lang.Class.forName('javax.script.ScriptContext') throws javax.script.ScriptException: TypeError: Java reflection not supported when class filter is present in at line number 1
diff --git a/test/src/META-INF/services/jdk.dynalink.linker.GuardingDynamicLinkerExporter b/test/src/META-INF/services/jdk.dynalink.linker.GuardingDynamicLinkerExporter
new file mode 100644
--- /dev/null
+++ b/test/src/META-INF/services/jdk.dynalink.linker.GuardingDynamicLinkerExporter
@@ -0,0 +1,2 @@
+jdk.dynalink.test.UntrustedGuardingDynamicLinkerExporter
+jdk.dynalink.test.TrustedGuardingDynamicLinkerExporter
diff --git a/test/src/jdk/dynalink/beans/test/BeanLinkerTest.java b/test/src/jdk/dynalink/beans/test/BeanLinkerTest.java
new file mode 100644
--- /dev/null
+++ b/test/src/jdk/dynalink/beans/test/BeanLinkerTest.java
@@ -0,0 +1,410 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package jdk.dynalink.beans.test;
+
+import java.lang.invoke.CallSite;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.security.AccessControlException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.NoSuchDynamicMethodException;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.beans.BeansLinker;
+import jdk.dynalink.beans.StaticClass;
+import jdk.dynalink.support.SimpleRelinkableCallSite;
+import org.testng.Assert;
+import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+public class BeanLinkerTest {
+
+ private DynamicLinker linker;
+ private static final MethodHandles.Lookup MY_LOOKUP = MethodHandles.lookup();
+
+ @SuppressWarnings("unused")
+ @DataProvider
+ private static Object[][] flags() {
+ return new Object[][]{
+ {Boolean.FALSE},
+ {Boolean.TRUE}
+ };
+ }
+
+ // helpers to create callsite objects
+ private CallSite createCallSite(final boolean publicLookup, final Operation op, final MethodType mt) {
+ return linker.link(new SimpleRelinkableCallSite(new CallSiteDescriptor(
+ publicLookup ? MethodHandles.publicLookup() : MY_LOOKUP, op, mt)));
+ }
+
+ private CallSite createCallSite(final boolean publicLookup, final Operation op, final Object name, final MethodType mt) {
+ return createCallSite(publicLookup, new NamedOperation(op, name), mt);
+ }
+
+ @BeforeTest
+ public void initLinker() {
+ final DynamicLinkerFactory factory = new DynamicLinkerFactory();
+ this.linker = factory.createLinker();
+ }
+
+ @AfterTest
+ public void afterTest() {
+ this.linker = null;
+ }
+
+ @Test(dataProvider = "flags")
+ public void getPropertyTest(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class, String.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_PROPERTY, mt);
+ Assert.assertEquals(cs.getTarget().invoke(new Object(), "class"), Object.class);
+ Assert.assertEquals(cs.getTarget().invoke(new Date(), "class"), Date.class);
+ }
+
+ @Test(dataProvider = "flags")
+ public void getPropertyNegativeTest(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class, String.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_PROPERTY, mt);
+ Assert.assertNull(cs.getTarget().invoke(new Object(), "DOES_NOT_EXIST"));
+ }
+
+ @Test(dataProvider = "flags")
+ public void getPropertyTest2(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_PROPERTY, "class", mt);
+ Assert.assertEquals(cs.getTarget().invoke(new Object()), Object.class);
+ Assert.assertEquals(cs.getTarget().invoke(new Date()), Date.class);
+ }
+
+ @Test(dataProvider = "flags")
+ public void getPropertyNegativeTest2(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_PROPERTY, "DOES_NOT_EXIST", mt);
+
+ try {
+ cs.getTarget().invoke(new Object());
+ throw new RuntimeException("Expected NoSuchDynamicMethodException");
+ } catch (Throwable th) {
+ Assert.assertTrue(th instanceof NoSuchDynamicMethodException);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void getLengthPropertyTest(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(int.class, Object.class, String.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_PROPERTY, mt);
+
+ Assert.assertEquals((int) cs.getTarget().invoke(new int[10], "length"), 10);
+ Assert.assertEquals((int) cs.getTarget().invoke(new String[33], "length"), 33);
+ }
+
+ @Test(dataProvider = "flags")
+ public void getlengthTest(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(int.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_LENGTH, mt);
+
+ final int[] arr = {23, 42};
+ Assert.assertEquals((int) cs.getTarget().invoke((Object) arr), 2);
+ Assert.assertEquals((int) cs.getTarget().invoke(Collections.EMPTY_LIST), 0);
+
+ final List list = new ArrayList<>();
+ list.add("hello");
+ list.add("world");
+ list.add("dynalink");
+ Assert.assertEquals((int) cs.getTarget().invoke(list), 3);
+ list.add("nashorn");
+ Assert.assertEquals((int) cs.getTarget().invoke(list), 4);
+ list.clear();
+ Assert.assertEquals((int) cs.getTarget().invoke(list), 0);
+ }
+
+ @Test(dataProvider = "flags")
+ public void getElementTest(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(int.class, Object.class, int.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_ELEMENT, mt);
+
+ final int[] arr = {23, 42};
+ Assert.assertEquals((int) cs.getTarget().invoke(arr, 0), 23);
+ Assert.assertEquals((int) cs.getTarget().invoke(arr, 1), 42);
+ try {
+ int x = (int) cs.getTarget().invoke(arr, -1);
+ throw new RuntimeException("expected ArrayIndexOutOfBoundsException");
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ }
+
+ try {
+ int x = (int) cs.getTarget().invoke(arr, arr.length);
+ throw new RuntimeException("expected ArrayIndexOutOfBoundsException");
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ }
+
+ final List list = new ArrayList<>();
+ list.add(23);
+ list.add(430);
+ list.add(-4354);
+ Assert.assertEquals((int) cs.getTarget().invoke(list, 0), (int) list.get(0));
+ Assert.assertEquals((int) cs.getTarget().invoke(list, 1), (int) list.get(1));
+ Assert.assertEquals((int) cs.getTarget().invoke(list, 2), (int) list.get(2));
+ try {
+ int x = (int) cs.getTarget().invoke(list, -1);
+ throw new RuntimeException("expected IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException ex) {
+ }
+
+ try {
+ int x = (int) cs.getTarget().invoke(list, list.size());
+ throw new RuntimeException("expected IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException ex) {
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void setElementTest(final boolean publicLookup) throws Throwable {
+ final MethodType mt = MethodType.methodType(void.class, Object.class, int.class, int.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.SET_ELEMENT, mt);
+
+ final int[] arr = {23, 42};
+ cs.getTarget().invoke(arr, 0, 0);
+ Assert.assertEquals(arr[0], 0);
+ cs.getTarget().invoke(arr, 1, -5);
+ Assert.assertEquals(arr[1], -5);
+
+ try {
+ cs.getTarget().invoke(arr, -1, 12);
+ throw new RuntimeException("expected ArrayIndexOutOfBoundsException");
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ }
+
+ try {
+ cs.getTarget().invoke(arr, arr.length, 20);
+ throw new RuntimeException("expected ArrayIndexOutOfBoundsException");
+ } catch (ArrayIndexOutOfBoundsException ex) {
+ }
+
+ final List list = new ArrayList<>();
+ list.add(23);
+ list.add(430);
+ list.add(-4354);
+
+ cs.getTarget().invoke(list, 0, -list.get(0));
+ Assert.assertEquals((int) list.get(0), -23);
+ cs.getTarget().invoke(list, 1, -430);
+ cs.getTarget().invoke(list, 2, 4354);
+ try {
+ cs.getTarget().invoke(list, -1, 343);
+ throw new RuntimeException("expected IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException ex) {
+ }
+
+ try {
+ cs.getTarget().invoke(list, list.size(), 43543);
+ throw new RuntimeException("expected IndexOutOfBoundsException");
+ } catch (IndexOutOfBoundsException ex) {
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void newObjectTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.NEW, mt);
+
+ Object obj = null;
+ try {
+ obj = cs.getTarget().invoke(StaticClass.forClass(Date.class));
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertTrue(obj instanceof Date);
+ }
+
+ @Test(dataProvider = "flags")
+ public void staticPropertyTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(Object.class, Class.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_PROPERTY, "static", mt);
+
+ Object obj = null;
+ try {
+ obj = cs.getTarget().invoke(Object.class);
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertTrue(obj instanceof StaticClass);
+ Assert.assertEquals(((StaticClass) obj).getRepresentedClass(), Object.class);
+
+ try {
+ obj = cs.getTarget().invoke(Date.class);
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertTrue(obj instanceof StaticClass);
+ Assert.assertEquals(((StaticClass) obj).getRepresentedClass(), Date.class);
+
+ try {
+ obj = cs.getTarget().invoke(Object[].class);
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertTrue(obj instanceof StaticClass);
+ Assert.assertEquals(((StaticClass) obj).getRepresentedClass(), Object[].class);
+ }
+
+ @Test(dataProvider = "flags")
+ public void instanceMethodCallTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_METHOD, "getClass", mt);
+ final MethodType mt2 = MethodType.methodType(Class.class, Object.class, Object.class);
+ final CallSite cs2 = createCallSite(publicLookup, StandardOperation.CALL, mt2);
+
+ Object method = null;
+ try {
+ method = cs.getTarget().invoke(new Date());
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertNotNull(method);
+ Assert.assertTrue(BeansLinker.isDynamicMethod(method));
+ Class clz = null;
+ try {
+ clz = (Class) cs2.getTarget().invoke(method, new Date());
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertEquals(clz, Date.class);
+ }
+
+ @Test(dataProvider = "flags")
+ public void instanceMethodCallTest2(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(Class.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.CALL_METHOD, "getClass", mt);
+ Class clz = null;
+ try {
+ clz = (Class) cs.getTarget().invoke(new Date());
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertEquals(clz, Date.class);
+ }
+
+ @Test(dataProvider = "flags")
+ public void staticMethodCallTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(Object.class, StaticClass.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.GET_METHOD, "getProperty", mt);
+ final MethodType mt2 = MethodType.methodType(String.class, Object.class, Object.class, String.class);
+ final CallSite cs2 = createCallSite(publicLookup, StandardOperation.CALL, mt2);
+
+ Object method = null;
+ try {
+ method = cs.getTarget().invoke(StaticClass.forClass(System.class));
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+
+ Assert.assertNotNull(method);
+ Assert.assertTrue(BeansLinker.isDynamicMethod(method));
+
+ String str = null;
+ try {
+ str = (String) cs2.getTarget().invoke(method, null, "os.name");
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+ Assert.assertEquals(str, System.getProperty("os.name"));
+ }
+
+ @Test(dataProvider = "flags")
+ public void staticMethodCallTest2(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(String.class, Object.class, String.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.CALL_METHOD, "getProperty", mt);
+
+ String str = null;
+ try {
+ str = (String) cs.getTarget().invoke(StaticClass.forClass(System.class), "os.name");
+ } catch (Throwable th) {
+ throw new RuntimeException(th);
+ }
+ Assert.assertEquals(str, System.getProperty("os.name"));
+ }
+
+ // try calling System.getenv and expect security exception
+ @Test(dataProvider = "flags")
+ public void systemGetenvTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.CALL_METHOD, "getenv", mt);
+
+ try {
+ cs.getTarget().invoke(StaticClass.forClass(System.class));
+ throw new RuntimeException("should not reach here in any case!");
+ } catch (Throwable th) {
+ Assert.assertTrue(th instanceof SecurityException);
+ }
+ }
+
+ // try getting a specific sensitive System property and expect security exception
+ @Test(dataProvider = "flags")
+ public void systemGetPropertyTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(String.class, Object.class, String.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.CALL_METHOD, "getProperty", mt);
+
+ try {
+ cs.getTarget().invoke(StaticClass.forClass(System.class), "java.home");
+ throw new RuntimeException("should not reach here in any case!");
+ } catch (Throwable th) {
+ Assert.assertTrue(th instanceof SecurityException);
+ }
+ }
+
+ // check a @CallerSensitive API and expect appropriate access check exception
+ @Test(dataProvider = "flags")
+ public void systemLoadLibraryTest(final boolean publicLookup) {
+ final MethodType mt = MethodType.methodType(void.class, Object.class, String.class);
+ final CallSite cs = createCallSite(publicLookup, StandardOperation.CALL_METHOD, "loadLibrary", mt);
+
+ try {
+ cs.getTarget().invoke(StaticClass.forClass(System.class), "foo");
+ throw new RuntimeException("should not reach here in any case!");
+ } catch (Throwable th) {
+ if (publicLookup) {
+ Assert.assertTrue(th instanceof IllegalAccessError);
+ } else {
+ Assert.assertTrue(th instanceof AccessControlException);
+ }
+ }
+ }
+}
diff --git a/test/src/jdk/dynalink/beans/test/BeansLinkerTest.java b/test/src/jdk/dynalink/beans/test/BeansLinkerTest.java
new file mode 100644
--- /dev/null
+++ b/test/src/jdk/dynalink/beans/test/BeansLinkerTest.java
@@ -0,0 +1,289 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package jdk.dynalink.beans.test;
+
+import static jdk.dynalink.StandardOperation.CALL;
+import static jdk.dynalink.StandardOperation.GET_ELEMENT;
+import static jdk.dynalink.StandardOperation.GET_METHOD;
+import static jdk.dynalink.StandardOperation.GET_PROPERTY;
+import static jdk.dynalink.StandardOperation.SET_ELEMENT;
+import static jdk.dynalink.StandardOperation.SET_PROPERTY;
+
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.Consumer;
+import java.util.function.Predicate;
+import java.util.regex.Pattern;
+import java.util.stream.Stream;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.CompositeOperation;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.Operation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.support.SimpleRelinkableCallSite;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class BeansLinkerTest {
+ public static class Bean1 {
+ public final int answer = 42;
+
+ public String getName() {
+ return "bean1";
+ }
+
+ public String someMethod(final String x) {
+ return x + "-foo";
+ }
+ }
+
+ @Test
+ public static void testPublicFieldPropertyUnnamedGetter() {
+ testGetterPermutations(GET_PROPERTY, (op) -> Assert.assertEquals(42, call(op, new Bean1(), "answer")));
+ }
+
+ @Test
+ public static void testPublicFieldPropertyNamedGetter() {
+ testGetterPermutations(GET_PROPERTY, (op) -> Assert.assertEquals(42, call(named("answer", op), new Bean1())));
+ }
+
+ @Test
+ public static void testGetterPropertyUnnamedGetter() {
+ testGetterPermutations(GET_PROPERTY, (op) -> Assert.assertEquals("bean1", call(op, new Bean1(), "name")));
+ }
+
+ @Test
+ public static void testGetterPropertyNamedGetter() {
+ testGetterPermutations(GET_PROPERTY, (op) -> Assert.assertEquals("bean1", call(named("name", op), new Bean1())));
+ }
+
+ @Test
+ public static void testMethodUnnamedGetter() {
+ testGetterPermutations(GET_METHOD, (op) -> Assert.assertEquals("bar-foo", call(call(op, new Bean1(), "someMethod"), new Bean1(), "bar")));
+ }
+
+ @Test
+ public static void testMethodNamedGetter() {
+ testGetterPermutations(GET_METHOD, (op) -> Assert.assertEquals("bar-foo", call(call(named("someMethod", op), new Bean1()), new Bean1(), "bar")));
+ }
+
+ private static final Map MAP1 = new HashMap<>();
+ static {
+ MAP1.put("foo", "bar");
+ }
+
+ @Test
+ public static void testElementUnnamedGetter() {
+ testGetterPermutations(GET_ELEMENT, (op) -> Assert.assertEquals("bar", call(op, MAP1, "foo")));
+ }
+
+ @Test
+ public static void testElementNamedGetter() {
+ testGetterPermutations(GET_ELEMENT, (op) -> Assert.assertEquals("bar", call(named("foo", op), MAP1)));
+ }
+
+ public static class Bean2 {
+ public int answer;
+ private String name;
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+ }
+
+ @Test
+ public static void testUnnamedFieldSetter() {
+ testSetterPermutations(SET_PROPERTY, (op) -> {
+ final Bean2 bean2 = new Bean2();
+ call(op, bean2, "answer", 12);
+ Assert.assertEquals(bean2.answer, 12);
+ });
+ }
+
+ @Test
+ public static void testNamedFieldSetter() {
+ testSetterPermutations(SET_PROPERTY, (op) -> {
+ final Bean2 bean2 = new Bean2();
+ call(named("answer", op), bean2, 14);
+ Assert.assertEquals(bean2.answer, 14);
+ });
+ }
+
+ @Test
+ public static void testUnnamedPropertySetter() {
+ testSetterPermutations(SET_PROPERTY, (op) -> {
+ final Bean2 bean2 = new Bean2();
+ call(op, bean2, "name", "boo");
+ Assert.assertEquals(bean2.name, "boo");
+ });
+ }
+
+ @Test
+ public static void testNamedPropertySetter() {
+ testSetterPermutations(SET_PROPERTY, (op) -> {
+ final Bean2 bean2 = new Bean2();
+ call(named("name", op), bean2, "blah");
+ Assert.assertEquals(bean2.name, "blah");
+ });
+ }
+
+ private static final Pattern GET_ELEMENT_THEN_PROPERTY_PATTERN = Pattern.compile(".*GET_ELEMENT.*GET_PROPERTY.*");
+
+ @Test
+ public static void testUnnamedElementAndPropertyGetter() {
+ final Map map = new HashMap<>();
+ map.put("empty", true);
+ testGetterPermutations(GET_ELEMENT_THEN_PROPERTY_PATTERN, 4, (op) -> Assert.assertEquals(true, call(op, map, "empty")));
+ }
+
+ @Test
+ public static void testNamedElementAndPropertyGetter() {
+ final Map map = new HashMap<>();
+ map.put("empty", true);
+ testGetterPermutations(GET_ELEMENT_THEN_PROPERTY_PATTERN, 4, (op) -> Assert.assertEquals(true, call(named("empty", op), map)));
+ }
+
+ private static final Pattern GET_PROPERTY_THEN_ELEMENT_PATTERN = Pattern.compile(".*GET_PROPERTY.*GET_ELEMENT.*");
+
+ @Test
+ public static void testUnnamedPropertyAndElementGetter() {
+ final Map map = new HashMap<>();
+ map.put("empty", true);
+ testGetterPermutations(GET_PROPERTY_THEN_ELEMENT_PATTERN, 4, (op) -> Assert.assertEquals(false, call(op, map, "empty")));
+ }
+
+ @Test
+ public static void testNamedPropertyAndElementGetter() {
+ final Map map = new HashMap<>();
+ map.put("empty", true);
+ testGetterPermutations(GET_PROPERTY_THEN_ELEMENT_PATTERN, 4, (op) -> Assert.assertEquals(false, call(named("empty", op), map)));
+ }
+
+ public static class MapWithProperty extends HashMap {
+ private String name;
+
+ public void setName(final String name) {
+ this.name = name;
+ }
+ }
+
+ @Test
+ public static void testUnnamedPropertyAndElementSetter() {
+ final MapWithProperty map = new MapWithProperty();
+ map.put("name", "element");
+
+ call(ops(SET_PROPERTY, SET_ELEMENT), map, "name", "property");
+ Assert.assertEquals("property", map.name);
+ Assert.assertEquals("element", map.get("name"));
+
+ call(ops(SET_ELEMENT, SET_PROPERTY), map, "name", "element2");
+ Assert.assertEquals("property", map.name);
+ Assert.assertEquals("element2", map.get("name"));
+ }
+
+ private static Operation[] GETTER_PERMUTATIONS = new Operation[] {
+ GET_PROPERTY,
+ GET_METHOD,
+ GET_ELEMENT,
+ ops(GET_PROPERTY, GET_ELEMENT),
+ ops(GET_PROPERTY, GET_METHOD),
+ ops(GET_ELEMENT, GET_PROPERTY),
+ ops(GET_ELEMENT, GET_METHOD),
+ ops(GET_METHOD, GET_PROPERTY),
+ ops(GET_METHOD, GET_ELEMENT),
+ ops(GET_PROPERTY, GET_ELEMENT, GET_METHOD),
+ ops(GET_PROPERTY, GET_METHOD, GET_ELEMENT),
+ ops(GET_ELEMENT, GET_PROPERTY, GET_METHOD),
+ ops(GET_ELEMENT, GET_METHOD, GET_PROPERTY),
+ ops(GET_METHOD, GET_PROPERTY, GET_ELEMENT),
+ ops(GET_METHOD, GET_ELEMENT, GET_PROPERTY),
+ };
+
+ private static Operation[] SETTER_PERMUTATIONS = new Operation[] {
+ SET_PROPERTY,
+ SET_ELEMENT,
+ ops(SET_PROPERTY, SET_ELEMENT),
+ ops(SET_ELEMENT, SET_PROPERTY)
+ };
+
+ private static void testPermutations(final Operation[] ops, final StandardOperation requiredOp, final int expectedCount, final Consumer test) {
+ testPermutationsWithFilter(ops, (op)->CompositeOperation.contains(op, requiredOp), expectedCount, test);
+ }
+
+ private static void testPermutations(final Operation[] ops, final Pattern regex, final int expectedCount, final Consumer test) {
+ testPermutationsWithFilter(ops, (op)->regex.matcher(op.toString()).matches(), expectedCount, test);
+ }
+
+ private static void testPermutationsWithFilter(final Operation[] ops, final Predicate filter, final int expectedCount, final Consumer test) {
+ final int[] counter = new int[1];
+ Stream.of(ops).filter(filter).forEach((op)-> { counter[0]++; test.accept(op); });
+ Assert.assertEquals(counter[0], expectedCount);
+ }
+
+ private static void testGetterPermutations(final StandardOperation requiredOp, final Consumer test) {
+ testPermutations(GETTER_PERMUTATIONS, requiredOp, 11, test);
+ }
+
+ private static void testGetterPermutations(final Pattern regex, final int expectedCount, final Consumer test) {
+ testPermutations(GETTER_PERMUTATIONS, regex, expectedCount, test);
+ }
+
+ private static void testSetterPermutations(final StandardOperation requiredOp, final Consumer test) {
+ testPermutations(SETTER_PERMUTATIONS, requiredOp, 3, test);
+ }
+
+ private static Object call(final Operation op, final Object... args) {
+ try {
+ return new DynamicLinkerFactory().createLinker().link(
+ new SimpleRelinkableCallSite(new CallSiteDescriptor(
+ MethodHandles.publicLookup(), op, t(args.length))))
+ .dynamicInvoker().invokeWithArguments(args);
+ } catch (final Error|RuntimeException e) {
+ throw e;
+ } catch (final Throwable t) {
+ throw new RuntimeException(t);
+ }
+ }
+
+ private static Object call(final Object... args) {
+ return call(CALL, args);
+ }
+
+ private static Operation named(final Object name, final Operation... ops) {
+ return new NamedOperation(ops(ops), name);
+ }
+
+ private static Operation ops(final Operation... ops) {
+ return ops.length == 1 ? ops[0] : new CompositeOperation(ops);
+ }
+
+ private static MethodType t(final int argCount) {
+ return MethodType.methodType(Object.class, Collections.nCopies(argCount, Object.class));
+ }
+}
diff --git a/test/src/jdk/dynalink/beans/test/CallerSensitiveTest.java b/test/src/jdk/dynalink/beans/test/CallerSensitiveTest.java
new file mode 100644
--- /dev/null
+++ b/test/src/jdk/dynalink/beans/test/CallerSensitiveTest.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package jdk.dynalink.beans.test;
+
+import jdk.dynalink.beans.BeansLinker;
+import jdk.nashorn.test.models.ClassLoaderAware;
+import org.testng.annotations.Test;
+
+@SuppressWarnings("javadoc")
+public class CallerSensitiveTest {
+ @Test
+ public void testCallerSensitive() {
+ BeansLinker.getLinkerForClass(ClassLoaderAware.class);
+ }
+}
diff --git a/test/src/jdk/dynalink/linker/support/test/LookupTest.java b/test/src/jdk/dynalink/linker/support/test/LookupTest.java
new file mode 100644
--- /dev/null
+++ b/test/src/jdk/dynalink/linker/support/test/LookupTest.java
@@ -0,0 +1,273 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package jdk.dynalink.linker.support.test;
+
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import jdk.dynalink.linker.support.Lookup;
+import org.testng.Assert;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
+// Tests for jdk.dynalink.linker.support.Lookup class.
+
+public class LookupTest {
+ private static final MethodHandles.Lookup MY_LOOKUP = MethodHandles.lookup();
+
+ private static MethodHandles.Lookup getLookup(final boolean publicLookup) {
+ return publicLookup? MethodHandles.publicLookup() : MY_LOOKUP;
+ }
+
+ // test constructors, methods used for lookup
+ @SuppressWarnings("unused")
+ public LookupTest() {}
+
+ @SuppressWarnings("unused")
+ private LookupTest(final int unused) {}
+
+ @SuppressWarnings("unused")
+ private void privateFunc() {}
+
+ @SuppressWarnings("unused")
+ protected void protectedFunc() {}
+
+ @SuppressWarnings("unused")
+ private static void privateStaticFunc() {}
+
+ @SuppressWarnings("unused")
+ private int myIntField = 0;
+
+ @SuppressWarnings("unused")
+ @DataProvider
+ private static Object[][] flags() {
+ return new Object[][]{
+ {Boolean.FALSE},
+ {Boolean.TRUE}
+ };
+ }
+
+ @Test(dataProvider = "flags")
+ public void unreflectTest(final boolean publicLookup) throws NoSuchMethodException {
+ MethodHandle mh = Lookup.unreflect(getLookup(publicLookup), LookupTest.class.getMethod("unreflectTest", Boolean.TYPE));
+ Assert.assertNotNull(mh);
+ }
+
+ @Test
+ public void unreflectTest2() throws NoSuchMethodException {
+ MethodHandle mh = Lookup.PUBLIC.unreflect(LookupTest.class.getMethod("unreflectTest", Boolean.TYPE));
+ Assert.assertNotNull(mh);
+ }
+
+ @Test(dataProvider = "flags")
+ public void unreflectNegativeTest(final boolean publicLookup) throws NoSuchMethodException {
+ try {
+ MethodHandle mh = Lookup.unreflect(getLookup(publicLookup),
+ LookupTest.class.getDeclaredMethod("privateFunc"));
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void unreflectNegativeTest2() throws NoSuchMethodException {
+ try {
+ Lookup.PUBLIC.unreflect(LookupTest.class.getDeclaredMethod("privateFunc"));
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void unreflectConstructorTest(final boolean publicLookup) throws NoSuchMethodException {
+ MethodHandle mh = Lookup.unreflectConstructor(getLookup(publicLookup), LookupTest.class.getConstructor());
+ Assert.assertNotNull(mh);
+ }
+
+ @Test
+ public void unreflectConstructorTest2() throws NoSuchMethodException {
+ MethodHandle mh = Lookup.PUBLIC.unreflectConstructor(LookupTest.class.getConstructor());
+ Assert.assertNotNull(mh);
+ }
+
+ @Test(dataProvider = "flags")
+ public void unreflectConstructorNegativeTest(final boolean publicLookup) throws NoSuchMethodException {
+ try {
+ MethodHandle mh = Lookup.unreflectConstructor(getLookup(publicLookup),
+ LookupTest.class.getDeclaredConstructor(Integer.TYPE));
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void unreflectConstructorNegativeTest2() throws NoSuchMethodException {
+ try {
+ Lookup.PUBLIC.unreflectConstructor(
+ LookupTest.class.getDeclaredConstructor(Integer.TYPE));
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void findOwnStaticTest(final boolean publicLookup) {
+ try {
+ MethodHandle mh = Lookup.findOwnStatic(getLookup(publicLookup), "getLookup",
+ MethodHandles.Lookup.class, Boolean.TYPE);
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void findOwnStaticTest2() {
+ try {
+ Lookup.PUBLIC.findStatic(LookupTest.class, "getLookup",
+ MethodType.methodType(MethodHandles.Lookup.class, Boolean.TYPE));
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void findOwnSepcialTest(final boolean publicLookup) {
+ try {
+ MethodHandle mh = Lookup.findOwnSpecial(getLookup(publicLookup), "privateFunc", Void.TYPE);
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void findOwnSepcialTest2() {
+ try {
+ Lookup.PUBLIC.findOwnSpecial("privateFunc", Void.TYPE);
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void findGetterTest(final boolean publicLookup) {
+ try {
+ MethodHandle mh = new Lookup(getLookup(publicLookup)).findGetter(LookupTest.class, "myIntField", Integer.TYPE);
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void findGetterTest2() {
+ try {
+ Lookup.PUBLIC.findGetter(LookupTest.class, "myIntField", Integer.TYPE);
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void findVirtualTest(final boolean publicLookup) {
+ try {
+ MethodHandle mh = new Lookup(getLookup(publicLookup)).findVirtual(LookupTest.class, "protectedFunc",
+ MethodType.methodType(Void.TYPE));
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void findVirtualTest2() {
+ try {
+ Lookup.PUBLIC.findVirtual(LookupTest.class, "protectedFunc",
+ MethodType.methodType(Void.TYPE));
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test(dataProvider = "flags")
+ public void findStaticTest(final boolean publicLookup) {
+ try {
+ MethodHandle mh = new Lookup(getLookup(publicLookup)).findStatic(LookupTest.class, "privateStaticFunc",
+ MethodType.methodType(Void.TYPE));
+ if (publicLookup) {
+ throw new RuntimeException("should have thrown Error");
+ }
+ Assert.assertNotNull(mh);
+ } catch (Error err) {
+ Assert.assertTrue(publicLookup);
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+
+ @Test
+ public void findStaticTest2() {
+ try {
+ Lookup.PUBLIC.findStatic(LookupTest.class, "privateStaticFunc",
+ MethodType.methodType(Void.TYPE));
+ throw new RuntimeException("should have thrown Error");
+ } catch (Error err) {
+ Assert.assertTrue(err instanceof NoSuchMethodError || err instanceof IllegalAccessError);
+ }
+ }
+}
diff --git a/test/src/jdk/dynalink/support/test/CallSiteTest.java b/test/src/jdk/dynalink/support/test/CallSiteTest.java
new file mode 100644
--- /dev/null
+++ b/test/src/jdk/dynalink/support/test/CallSiteTest.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+
+package jdk.dynalink.support.test;
+
+import java.lang.invoke.CallSite;
+import java.lang.invoke.MethodHandle;
+import java.lang.invoke.MethodHandles;
+import java.lang.invoke.MethodType;
+import java.util.ArrayList;
+import jdk.dynalink.CallSiteDescriptor;
+import jdk.dynalink.DynamicLinker;
+import jdk.dynalink.DynamicLinkerFactory;
+import jdk.dynalink.NamedOperation;
+import jdk.dynalink.StandardOperation;
+import jdk.dynalink.linker.GuardedInvocation;
+import jdk.dynalink.support.SimpleRelinkableCallSite;
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+public class CallSiteTest {
+ @Test
+ public void testInitialize() {
+ final DynamicLinkerFactory factory = new DynamicLinkerFactory();
+ final DynamicLinker linker = factory.createLinker();
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final boolean[] initializeCalled = { Boolean.FALSE };
+ linker.link(new SimpleRelinkableCallSite(new CallSiteDescriptor(
+ MethodHandles.publicLookup(), new NamedOperation(StandardOperation.GET_PROPERTY, "DO_NOT_CARE"), mt)) {
+ @Override
+ public void initialize(final MethodHandle relinkAndInvoke) {
+ initializeCalled[0] = Boolean.TRUE;
+ super.initialize(relinkAndInvoke);
+ }
+ });
+
+ Assert.assertTrue(initializeCalled[0]);
+ }
+
+ @Test
+ public void testRelink() {
+ final DynamicLinkerFactory factory = new DynamicLinkerFactory();
+ final DynamicLinker linker = factory.createLinker();
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final boolean[] relinkCalled = { Boolean.FALSE };
+ final CallSite cs = linker.link(new SimpleRelinkableCallSite(new CallSiteDescriptor(
+ MethodHandles.publicLookup(), new NamedOperation(StandardOperation.GET_PROPERTY, "class"), mt)) {
+ @Override
+ public void relink(final GuardedInvocation guardedInvocation, final MethodHandle relinkAndInvoke) {
+ relinkCalled[0] = Boolean.TRUE;
+ super.relink(guardedInvocation, relinkAndInvoke);
+ }
+ });
+
+ Assert.assertFalse(relinkCalled[0]);
+ try {
+ cs.getTarget().invoke(new Object());
+ } catch (final Throwable th) {}
+
+ Assert.assertTrue(relinkCalled[0]);
+ }
+
+ @Test
+ public void testResetAndRelink() {
+ final DynamicLinkerFactory factory = new DynamicLinkerFactory();
+ factory.setUnstableRelinkThreshold(1);
+ final DynamicLinker linker = factory.createLinker();
+ final MethodType mt = MethodType.methodType(Object.class, Object.class);
+ final boolean[] resetAndRelinkCalled = { Boolean.FALSE };
+ final CallSite cs = linker.link(new SimpleRelinkableCallSite(new CallSiteDescriptor(
+ MethodHandles.publicLookup(), new NamedOperation(StandardOperation.GET_PROPERTY, "length"), mt)) {
+ @Override
+ public void resetAndRelink(final GuardedInvocation guardedInvocation, final MethodHandle relinkAndInvoke) {
+ resetAndRelinkCalled[0] = Boolean.TRUE;
+ super.resetAndRelink(guardedInvocation, relinkAndInvoke);
+ }
+ });
+
+ Assert.assertFalse(resetAndRelinkCalled[0]);
+ try {
+ cs.getTarget().invoke(new Object[] {});
+ } catch (final Throwable th) {}
+
+ Assert.assertFalse(resetAndRelinkCalled[0]);
+ try {
+ cs.getTarget().invoke(new ArrayList