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/LocalVariableImpl.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 com.sun.jdi.AbsentInformationException;
import com.sun.jdi.ClassNotLoadedException;
import com.sun.jdi.InternalException;
import com.sun.jdi.LocalVariable;
import com.sun.jdi.Location;
import com.sun.jdi.Method;
import com.sun.jdi.StackFrame;
import com.sun.jdi.Type;
import com.sun.jdi.VirtualMachine;
public class LocalVariableImpl extends MirrorImpl
implements LocalVariable, ValueContainer
{
private final Method method;
private final int slot;
private final Location scopeStart;
private final Location scopeEnd;
private final String name;
private final String signature;
private String genericSignature = null;
LocalVariableImpl(VirtualMachine vm, Method method,
int slot, Location scopeStart, Location scopeEnd,
String name, String signature,
String genericSignature) {
super(vm);
this.method = method;
this.slot = slot;
this.scopeStart = scopeStart;
this.scopeEnd = scopeEnd;
this.name = name;
this.signature = signature;
if (genericSignature != null && genericSignature.length() > 0) {
this.genericSignature = genericSignature;
} else {
// The Spec says to return null for non-generic types
this.genericSignature = null;
}
}
public boolean equals(Object obj) {
if ((obj != null) && (obj instanceof LocalVariableImpl)) {
LocalVariableImpl other = (LocalVariableImpl)obj;
return ((slot() == other.slot()) &&
(scopeStart != null) &&
(scopeStart.equals(other.scopeStart)) &&
(super.equals(obj)));
} else {
return false;
}
}
public int hashCode() {
/*
* TO DO: Better hash code
*/
return ((scopeStart.hashCode() << 4) + slot());
}
public int compareTo(LocalVariable object) {
LocalVariableImpl other = (LocalVariableImpl)object;
int rc = scopeStart.compareTo(other.scopeStart);
if (rc == 0) {
rc = slot() - other.slot();
}
return rc;
}
public String name() {
return name;
}
/**
* @return a text representation of the declared type
* of this variable.
*/
public String typeName() {
JNITypeParser parser = new JNITypeParser(signature);
return parser.typeName();
}
public Type type() throws ClassNotLoadedException {
return findType(signature());
}
public Type findType(String signature) throws ClassNotLoadedException {
ReferenceTypeImpl enclosing = (ReferenceTypeImpl)method.declaringType();
return enclosing.findType(signature);
}
public String signature() {
return signature;
}
public String genericSignature() {
return genericSignature;
}
public boolean isVisible(StackFrame frame) {
validateMirror(frame);
Method frameMethod = frame.location().method();
if (!frameMethod.equals(method)) {
throw new IllegalArgumentException(
"frame method different than variable's method");
}
// this is here to cover the possibility that we will
// allow LocalVariables for native methods. If we do
// so we will have to re-examinine this.
if (frameMethod.isNative()) {
return false;
}
return ((scopeStart.compareTo(frame.location()) <= 0)
&& (scopeEnd.compareTo(frame.location()) >= 0));
}
public boolean isArgument() {
try {
MethodImpl method = (MethodImpl)scopeStart.method();
return (slot < method.argSlotCount());
} catch (AbsentInformationException e) {
// If this variable object exists, there shouldn't be absent info
throw new InternalException();
}
}
int slot() {
return slot;
}
/*
* Compilers/VMs can have byte code ranges for variables of the
* same names that overlap. This is because the byte code ranges
* aren't necessarily scopes; they may have more to do with the
* lifetime of the variable's slot, depending on implementation.
*
* This method determines whether this variable hides an
* identically named variable; ie, their byte code ranges overlap
* this one starts after the given one. If it returns true this
* variable should be preferred when looking for a single variable
* with its name when both variables are visible.
*/
boolean hides(LocalVariable other) {
LocalVariableImpl otherImpl = (LocalVariableImpl)other;
if (!method.equals(otherImpl.method) ||
!name.equals(otherImpl.name)) {
return false;
} else {
return (scopeStart.compareTo(otherImpl.scopeStart) > 0);
}
}
public String toString() {
return name() + " in " + method.toString() +
"@" + scopeStart.toString();
}
}
⏎ com/sun/tools/jdi/LocalVariableImpl.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, ≈117🔥, 0💬
Popular Posts:
The Jakarta-ORO Java classes are a set of text-processing Java classes that provide Perl5 compatible...
How to download and install ojdbc7.jar for Oracle 12c R1? ojdbc8.jar for Oracle 12c R1 is a Java 7 a...
Where to find answers to frequently asked questions on Downloading and Using JDK (Java Development K...
Jackson is "the Java JSON library" or "the best JSON parser for Java". Or simply as "JSON for Java"....
JDK 11 java.security.jgss.jmod is the JMOD file for JDK 11 Security JGSS (Java Generic Security Serv...