8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package jdk.nashorn.internal.runtime.linker; 27 28 import jdk.internal.dynalink.beans.BeansLinker; 29 30 /** 31 * Represents a Dynalink dynamic method bound to a receiver. Note that objects of this class are just the tuples of 32 * a method and a bound this, without any behavior. All the behavior is defined in the {@code BoundDynamicMethodLinker}. 33 */ 34 final class BoundDynamicMethod { 35 private final Object dynamicMethod; 36 private final Object boundThis; 37 38 BoundDynamicMethod(final Object dynamicMethod, final Object boundThis) { 39 assert BeansLinker.isDynamicMethod(dynamicMethod); 40 this.dynamicMethod = dynamicMethod; 41 this.boundThis = boundThis; 42 } 43 44 Object getDynamicMethod() { 45 return dynamicMethod; 46 } 47 48 Object getBoundThis() { 49 return boundThis; 50 } 51 } | 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package jdk.nashorn.internal.runtime.linker; 27 28 import java.util.Objects; 29 import jdk.internal.dynalink.beans.BeansLinker; 30 31 /** 32 * Represents a Dynalink dynamic method bound to a receiver. Note that objects of this class are just the tuples of 33 * a method and a bound this, without any behavior. All the behavior is defined in the {@code BoundDynamicMethodLinker}. 34 */ 35 final class BoundDynamicMethod { 36 private final Object dynamicMethod; 37 private final Object boundThis; 38 39 BoundDynamicMethod(final Object dynamicMethod, final Object boundThis) { 40 assert BeansLinker.isDynamicMethod(dynamicMethod); 41 this.dynamicMethod = dynamicMethod; 42 this.boundThis = boundThis; 43 } 44 45 Object getDynamicMethod() { 46 return dynamicMethod; 47 } 48 49 Object getBoundThis() { 50 return boundThis; 51 } 52 53 @Override 54 public String toString() { 55 return dynamicMethod.toString() + " on " + Objects.toString(boundThis); 56 } 57 } |