Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 17 java.base.jmod - Base Module
JDK 17 java.base.jmod is the JMOD file for JDK 17 Base module.
JDK 17 Base module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.base.jmod.
JDK 17 Base module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Base module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.base.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/lang/invoke/InfoFromMemberName.java
/* * Copyright (c) 2012, 2021, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.lang.invoke; import java.security.*; import java.lang.reflect.*; import java.lang.invoke.MethodHandleNatives.Constants; import java.lang.invoke.MethodHandles.Lookup; import static java.lang.invoke.MethodHandleStatics.*; /* * Auxiliary to MethodHandleInfo, wants to nest in MethodHandleInfo but must be non-public. */ /*non-public*/ final class InfoFromMemberName implements MethodHandleInfo { private final MemberName member; private final int referenceKind; InfoFromMemberName(Lookup lookup, MemberName member, byte referenceKind) { assert(member.isResolved() || member.isMethodHandleInvoke() || member.isVarHandleMethodInvoke()); assert(member.referenceKindIsConsistentWith(referenceKind)); this.member = member; this.referenceKind = referenceKind; } @Override public Class<?> getDeclaringClass() { return member.getDeclaringClass(); } @Override public String getName() { return member.getName(); } @Override public MethodType getMethodType() { return member.getMethodOrFieldType(); } @Override public int getModifiers() { return member.getModifiers(); } @Override public int getReferenceKind() { return referenceKind; } @Override public String toString() { return MethodHandleInfo.toString(getReferenceKind(), getDeclaringClass(), getName(), getMethodType()); } @Override public <T extends Member> T reflectAs(Class<T> expected, Lookup lookup) { if ((member.isMethodHandleInvoke() || member.isVarHandleMethodInvoke()) && !member.isVarargs()) { // This member is an instance of a signature-polymorphic method, which cannot be reflected // A method handle invoker can come in either of two forms: // A generic placeholder (present in the source code, and varargs) // and a signature-polymorphic instance (synthetic and not varargs). // For more information see comments on {@link MethodHandleNatives#linkMethod}. throw new IllegalArgumentException("cannot reflect signature polymorphic method"); } @SuppressWarnings("removal") Member mem = AccessController.doPrivileged(new PrivilegedAction<>() { public Member run() { try { return reflectUnchecked(); } catch (ReflectiveOperationException ex) { throw new IllegalArgumentException(ex); } } }); try { Class<?> defc = getDeclaringClass(); byte refKind = (byte) getReferenceKind(); lookup.checkAccess(refKind, defc, convertToMemberName(refKind, mem)); } catch (IllegalAccessException ex) { throw new IllegalArgumentException(ex); } return expected.cast(mem); } private Member reflectUnchecked() throws ReflectiveOperationException { byte refKind = (byte) getReferenceKind(); Class<?> defc = getDeclaringClass(); boolean isPublic = Modifier.isPublic(getModifiers()); if (MethodHandleNatives.refKindIsMethod(refKind)) { if (isPublic) return defc.getMethod(getName(), getMethodType().parameterArray()); else return defc.getDeclaredMethod(getName(), getMethodType().parameterArray()); } else if (MethodHandleNatives.refKindIsConstructor(refKind)) { if (isPublic) return defc.getConstructor(getMethodType().parameterArray()); else return defc.getDeclaredConstructor(getMethodType().parameterArray()); } else if (MethodHandleNatives.refKindIsField(refKind)) { if (isPublic) return defc.getField(getName()); else return defc.getDeclaredField(getName()); } else { throw new IllegalArgumentException("referenceKind="+refKind); } } private static MemberName convertToMemberName(byte refKind, Member mem) throws IllegalAccessException { if (mem instanceof Method) { boolean wantSpecial = (refKind == REF_invokeSpecial); return new MemberName((Method) mem, wantSpecial); } else if (mem instanceof Constructor) { return new MemberName((Constructor) mem); } else if (mem instanceof Field) { boolean isSetter = (refKind == REF_putField || refKind == REF_putStatic); return new MemberName((Field) mem, isSetter); } throw new InternalError(mem.getClass().getName()); } }
⏎ java/lang/invoke/InfoFromMemberName.java
Or download all of them as a single archive file:
File name: java.base-17.0.5-src.zip File size: 8883851 bytes Release date: 2022-09-13 Download
2023-09-26, 44535👍, 1💬
Popular Posts:
commons-io-1.4.jar is the JAR file for Commons IO 1.4, which is a library of utilities to assist wit...
commons-io-1.4.jar is the JAR file for Commons IO 1.4, which is a library of utilities to assist wit...
Java Advanced Imaging (JAI) is a Java platform extension API that provides a set of object-oriented ...
iText is an ideal library for developers looking to enhance web- and other applications with dynamic...
commons-fileupload-1.3.3 -sources.jaris the source JAR file for Apache Commons FileUpload 1.3., whic...