Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (102)
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 (322)
Collections:
Other Resources:
JDK 11 jdk.jdi.jmod - JDI Tool
JDK 11 jdk.jdi.jmod is the JMOD file for JDK 11 JDI (Java Debug Interface) tool.
JDK 11 JDI tool compiled class files are stored in \fyicenter\jdk-11.0.1\jmods\jdk.jdi.jmod.
JDK 11 JDI tool compiled class files are also linked and stored in the \fyicenter\jdk-11.0.1\lib\modules JImage file.
JDK 11 JDI tool source code files are stored in \fyicenter\jdk-11.0.1\lib\src.zip\jdk.jdi.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ com/sun/tools/jdi/ArrayTypeImpl.java
/* * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package com.sun.tools.jdi; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import com.sun.jdi.ArrayReference; import com.sun.jdi.ArrayType; import com.sun.jdi.ClassLoaderReference; import com.sun.jdi.ClassNotLoadedException; import com.sun.jdi.InterfaceType; import com.sun.jdi.Method; import com.sun.jdi.PrimitiveType; import com.sun.jdi.ReferenceType; import com.sun.jdi.Type; import com.sun.jdi.VirtualMachine; public class ArrayTypeImpl extends ReferenceTypeImpl implements ArrayType { protected ArrayTypeImpl(VirtualMachine aVm, long aRef) { super(aVm, aRef); } public ArrayReference newInstance(int length) { try { return (ArrayReference)JDWP.ArrayType.NewInstance. process(vm, this, length).newArray; } catch (JDWPException exc) { throw exc.toJDIException(); } } public String componentSignature() { return signature().substring(1); // Just skip the leading '[' } public String componentTypeName() { JNITypeParser parser = new JNITypeParser(componentSignature()); return parser.typeName(); } Type type() throws ClassNotLoadedException { return findType(componentSignature()); } @Override void addVisibleMethods(Map<String, Method> map, Set<InterfaceType> seenInterfaces) { // arrays don't have methods } public List<Method> allMethods() { return new ArrayList<>(0); // arrays don't have methods } /* * Find the type object, if any, of a component type of this array. * The component type does not have to be immediate; e.g. this method * can be used to find the component Foo of Foo[][]. This method takes * advantage of the property that an array and its component must have * the same class loader. Since array set operations don't have an * implicit enclosing type like field and variable set operations, * this method is sometimes needed for proper type checking. */ Type findComponentType(String signature) throws ClassNotLoadedException { byte tag = (byte)signature.charAt(0); if (PacketStream.isObjectTag(tag)) { // It's a reference type JNITypeParser parser = new JNITypeParser(componentSignature()); List<ReferenceType> list = vm.classesByName(parser.typeName()); Iterator<ReferenceType> iter = list.iterator(); while (iter.hasNext()) { ReferenceType type = iter.next(); ClassLoaderReference cl = type.classLoader(); if ((cl == null)? (classLoader() == null) : (cl.equals(classLoader()))) { return type; } } // Component class has not yet been loaded throw new ClassNotLoadedException(componentTypeName()); } else { // It's a primitive type return vm.primitiveTypeMirror(tag); } } public Type componentType() throws ClassNotLoadedException { return findComponentType(componentSignature()); } static boolean isComponentAssignable(Type destination, Type source) { if (source instanceof PrimitiveType) { // Assignment of primitive arrays requires identical // component types. return source.equals(destination); } else { if (destination instanceof PrimitiveType) { return false; } ReferenceTypeImpl refSource = (ReferenceTypeImpl)source; ReferenceTypeImpl refDestination = (ReferenceTypeImpl)destination; // Assignment of object arrays requires availability // of widening conversion of component types return refSource.isAssignableTo(refDestination); } } /* * Return true if an instance of the given reference type * can be assigned to a variable of this type */ boolean isAssignableTo(ReferenceType destType) { if (destType instanceof ArrayType) { try { Type destComponentType = ((ArrayType)destType).componentType(); return isComponentAssignable(destComponentType, componentType()); } catch (ClassNotLoadedException e) { // One or both component types has not yet been // loaded => can't assign return false; } } else if (destType instanceof InterfaceType) { // Only valid InterfaceType assignee is Cloneable return destType.name().equals("java.lang.Cloneable"); } else { // Only valid ClassType assignee is Object return destType.name().equals("java.lang.Object"); } } List<ReferenceType> inheritedTypes() { return new ArrayList<ReferenceType>(0); } void getModifiers() { if (modifiers != -1) { return; } /* * For object arrays, the return values for Interface * Accessible.isPrivate(), Accessible.isProtected(), * etc... are the same as would be returned for the * component type. Fetch the modifier bits from the * component type and use those. * * For primitive arrays, the modifiers are always * VMModifiers.FINAL | VMModifiers.PUBLIC * * Reference com.sun.jdi.Accessible.java. */ try { Type t = componentType(); if (t instanceof PrimitiveType) { modifiers = VMModifiers.FINAL | VMModifiers.PUBLIC; } else { ReferenceType rt = (ReferenceType)t; modifiers = rt.modifiers(); } } catch (ClassNotLoadedException cnle) { cnle.printStackTrace(); } } public String toString() { return "array class " + name() + " (" + loaderString() + ")"; } /* * Save a pointless trip over the wire for these methods * which have undefined results for arrays. */ public boolean isPrepared() { return true; } public boolean isVerified() { return true; } public boolean isInitialized() { return true; } public boolean failedToInitialize() { return false; } public boolean isAbstract() { return false; } /* * Defined always to be true for arrays */ public boolean isFinal() { return true; } /* * Defined always to be false for arrays */ public boolean isStatic() { return false; } }
⏎ com/sun/tools/jdi/ArrayTypeImpl.java
Or download all of them as a single archive file:
File name: jdk.jdi-11.0.1-src.zip File size: 464844 bytes Release date: 2018-11-04 Download
⇒ JDK 11 jdk.jdwp.agent.jmod - JDWP Agent Module
2020-07-07, 83186👍, 0💬
Popular Posts:
JDK 11 java.compiler.jmod is the JMOD file for JDK 11 Compiler module. JDK 11 Compiler module compil...
JDK 11 jdk.charsets.jmod is the JMOD file for JDK 11 Charsets module. JDK 11 Charsets module compile...
HttpComponents Core Source Code Files are provided in the source package file, httpcomponents-core-5...
What Is log4j-1.2.13.jar? I got the JAR file from logging-log4j-1.2.13.zip .log4j-1.2.13.jar is the ...
JDK 11 java.naming.jmod is the JMOD file for JDK 11 Naming module. JDK 11 Naming module compiled cla...