APIdia Launch Partner
Top Description Inners Fields Constructors Methods
com.sun.tools.jdi

public Class ConcreteMethodImpl

extends MethodImpl
Class Inheritance
Imports
java.lang.ref.SoftReference, java.util.ArrayList, .Collections, .HashMap, .Iterator, .List, .Map, com.sun.jdi.AbsentInformationException, .LocalVariable, .Location, .VirtualMachine

Represents methods with method bodies. That is, non-native non-abstract methods. Private to MethodImpl.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class

Field Summary

Modifier and TypeField and Description
private boolean
private int
private SoftReference<byte[]>
private long
private long
private Location
private SoftReference<ConcreteMethodImpl.SoftLocationXRefs>
private SoftReference<ConcreteMethodImpl.SoftLocationXRefs>
private SoftReference<List<LocalVariable>>
Inherited from com.sun.tools.jdi.MethodImpl:
retValContainer

Constructor Summary

AccessConstructor and Description
pack-priv
ConcreteMethodImpl(VirtualMachine vm, ReferenceTypeImpl declaringType, long ref, String name, String signature, String genericSignature, int modifiers)

Method Summary

Modifier and TypeMethod and Description
pack-priv List<Location>
pack-priv int
public List<LocalVariable>
arguments()

Implements com.sun.jdi.Method.arguments.

Returns a list containing each LocalVariable that is declared as an argument of this method.

public byte[]
bytecodes()

Implements com.sun.jdi.Method.bytecodes.

Returns an array containing the bytecodes for this method.

pack-priv LineInfo
private ConcreteMethodImpl.SoftLocationXRefs
private ConcreteMethodImpl.SoftLocationXRefs
private List<LocalVariable>
private List<LocalVariable>
private List<LocalVariable>
public Location
location()

Implements com.sun.jdi.Method.location.

Returns the Location of this method, if there is executable code associated with it.

public Location
locationOfCodeIndex(long codeIndex)

Implements com.sun.jdi.Method.locationOfCodeIndex.

Returns a Location for the given code index.

pack-priv List<Location>
locationsOfLine(SDE.Stratum stratum, String sourceName, int lineNumber)

Implements abstract com.sun.tools.jdi.MethodImpl.locationsOfLine.

pack-priv List<Location>
sourceNameFilter(List<Location> list, SDE.Stratum stratum, String sourceName)

public List<LocalVariable>
variables()

Implements com.sun.jdi.Method.variables.

Returns a list containing each LocalVariable declared in this method.

public List<LocalVariable>
variablesByName(String name)

Implements com.sun.jdi.Method.variablesByName.

Returns a list containing each LocalVariable of a given name in this method.

Inherited from com.sun.tools.jdi.MethodImpl:
allLineLocationsallLineLocationsargumentSignaturesargumentTypeargumentTypeNamesargumentTypescompareTocreateMethodImplequalsfindTypegetReturnValueContainerhandleVarArgshashCodeisAbstractisBridgeisConstructorisDefaultisNativeisObsoleteisStaticInitializerisSynchronizedisVarArgslocationsOfLinelocationsOfLinereturnTypereturnTypeNametoStringvalidateAndPrepareArgumentsForInvoke

Field Detail

absentVariableInformationback to summary
private boolean absentVariableInformation
argSlotCountback to summary
private int argSlotCount
bytecodesRefback to summary
private SoftReference<byte[]> bytecodesRef
firstIndexback to summary
private long firstIndex
lastIndexback to summary
private long lastIndex
locationback to summary
private Location location
softBaseLocationXRefsRefback to summary
private SoftReference<ConcreteMethodImpl.SoftLocationXRefs> softBaseLocationXRefsRef
softOtherLocationXRefsRefback to summary
private SoftReference<ConcreteMethodImpl.SoftLocationXRefs> softOtherLocationXRefsRef
variablesRefback to summary
private SoftReference<List<LocalVariable>> variablesRef

Constructor Detail

ConcreteMethodImplback to summary
pack-priv ConcreteMethodImpl(VirtualMachine vm, ReferenceTypeImpl declaringType, long ref, String name, String signature, String genericSignature, int modifiers)

Method Detail

allLineLocationsback to summary
pack-priv List<Location> allLineLocations(SDE.Stratum stratum, String sourceName) throws AbsentInformationException

Implements abstract com.sun.tools.jdi.MethodImpl.allLineLocations.

argSlotCountback to summary
pack-priv int argSlotCount() throws AbsentInformationException

Implements abstract com.sun.tools.jdi.MethodImpl.argSlotCount.

argumentsback to summary
public List<LocalVariable> arguments() throws AbsentInformationException

Implements com.sun.jdi.Method.arguments.

Doc from com.sun.jdi.Method.arguments.

Returns a list containing each LocalVariable that is declared as an argument of this method. If local variable information is not available, values of actual arguments to method invocations can be obtained by using the method StackFrame#getArgumentValues()

Exceptions
AbsentInformationException:
if there is no variable information for this method. Generally, local variable information is not available for native or abstract methods (that is, their argument name information is not available), thus they will throw this exception.
bytecodesback to summary
public byte[] bytecodes()

Implements com.sun.jdi.Method.bytecodes.

Doc from com.sun.jdi.Method.bytecodes.

Returns an array containing the bytecodes for this method.

Not all target virtual machines support this operation. Use VirtualMachine#canGetBytecodes() to determine if the operation is supported.

codeIndexToLineInfoback to summary
pack-priv LineInfo codeIndexToLineInfo(SDE.Stratum stratum, long codeIndex)

Overrides com.sun.tools.jdi.MethodImpl.codeIndexToLineInfo.

getBaseLocationsback to summary
private ConcreteMethodImpl.SoftLocationXRefs getBaseLocations()
getLocationsback to summary
private ConcreteMethodImpl.SoftLocationXRefs getLocations(SDE.Stratum stratum)
getVariablesback to summary
private List<LocalVariable> getVariables() throws AbsentInformationException
getVariables1back to summary
private List<LocalVariable> getVariables1() throws AbsentInformationException
getVariables1_4back to summary
private List<LocalVariable> getVariables1_4() throws AbsentInformationException
locationback to summary
public Location location()

Implements com.sun.jdi.Method.location.

Doc from com.sun.jdi.Method.location.

Returns the Location of this method, if there is executable code associated with it.

locationOfCodeIndexback to summary
public Location locationOfCodeIndex(long codeIndex)

Implements com.sun.jdi.Method.locationOfCodeIndex.

Doc from com.sun.jdi.Method.locationOfCodeIndex.

Returns a Location for the given code index.

locationsOfLineback to summary
pack-priv List<Location> locationsOfLine(SDE.Stratum stratum, String sourceName, int lineNumber) throws AbsentInformationException

Implements abstract com.sun.tools.jdi.MethodImpl.locationsOfLine.

sourceNameFilterback to summary
pack-priv List<Location> sourceNameFilter(List<Location> list, SDE.Stratum stratum, String sourceName) throws AbsentInformationException
variablesback to summary
public List<LocalVariable> variables() throws AbsentInformationException

Implements com.sun.jdi.Method.variables.

Doc from com.sun.jdi.Method.variables.

Returns a list containing each LocalVariable declared in this method. The list includes any variable declared in any scope within the method. It may contain multiple variables of the same name declared within disjoint scopes. Arguments are considered local variables and will be present in the returned list. If local variable information is not available, values of actual arguments to method invocations can be obtained by using the method StackFrame#getArgumentValues()

Exceptions
AbsentInformationException:
if there is no variable information for this method. Generally, local variable information is not available for native or abstract methods (that is, their argument name information is not available), thus they will throw this exception.
variablesByNameback to summary
public List<LocalVariable> variablesByName(String name) throws AbsentInformationException

Implements com.sun.jdi.Method.variablesByName.

Doc from com.sun.jdi.Method.variablesByName.

Returns a list containing each LocalVariable of a given name in this method. Multiple variables can be returned if the same variable name is used in disjoint scopes within the method.

Exceptions
AbsentInformationException:
if there is no variable information for this method. Generally, local variable information is not available for native or abstract methods (that is, their argument name information is not available), thus they will throw this exception.
com.sun.tools.jdi back to summary

private Class ConcreteMethodImpl.SoftLocationXRefs

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final int
pack-priv final List<Location>
pack-priv final Map<Integer, List<Location>>
pack-priv final int
pack-priv final String

Constructor Summary

AccessConstructor and Description
pack-priv
SoftLocationXRefs(String stratumID, Map<Integer, List<Location>> lineMapper, List<Location> lineLocations, int lowestLine, int highestLine)

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

highestLineback to summary
pack-priv final int highestLine
Annotations
@SuppressWarnings:unused
lineLocationsback to summary
pack-priv final List<Location> lineLocations
lineMapperback to summary
pack-priv final Map<Integer, List<Location>> lineMapper
lowestLineback to summary
pack-priv final int lowestLine
Annotations
@SuppressWarnings:unused
stratumIDback to summary
pack-priv final String stratumID

Constructor Detail

SoftLocationXRefsback to summary
pack-priv SoftLocationXRefs(String stratumID, Map<Integer, List<Location>> lineMapper, List<Location> lineLocations, int lowestLine, int highestLine)