jde.debugger.spec
Class MethodBreakpointSpec

java.lang.Object
  |
  +--jde.debugger.spec.EventRequestSpec
        |
        +--jde.debugger.spec.BreakpointSpec
              |
              +--jde.debugger.spec.MethodBreakpointSpec

public class MethodBreakpointSpec
extends BreakpointSpec

MethodBreakpointSpec.java

Funnily, it seems this class actually supports setting breakpoints in a particular method of an arbitrary filename! since it's very weird, it's not supported. Let us know if you require such a feature...

Created: Thu Jul 15 15:52:45 1999

Since:
0.1

Field Summary
(package private)  java.util.List methodArgs
           
(package private)  java.lang.String methodName
           
 
Fields inherited from class jde.debugger.spec.EventRequestSpec
app, classExFilters, classFilters, expr, expressionKey, isResolved, myID, refSpec, request, specPropertyKey, suspendPolicy, thread, threadKey
 
Constructor Summary
MethodBreakpointSpec(Application app, ReferenceTypeSpec refSpec, java.lang.String methodName, java.util.List methodArgs)
           
 
Method Summary
private  boolean compareArgTypes(com.sun.jdi.Method method, java.util.List nameList)
           
private  com.sun.jdi.Method findMatchingMethod(com.sun.jdi.ClassType clazz)
           
private  com.sun.jdi.Location getLocation(com.sun.jdi.ClassType clazz)
           
 java.util.List getMethodArgs()
           
 java.lang.String getMethodName()
           
private  boolean isValidMethodName(java.lang.String s)
           
private  java.lang.String normalizeArgTypeName(java.lang.String name)
          Remove unneeded spaces and expand class names to fully qualified names, if necessary and possible.
(package private)  boolean resolve(com.sun.jdi.ReferenceType refType)
          This function is called to resolve an EventRequestSpec when the ReferenceType is known to match
 java.lang.String toString()
           
 
Methods inherited from class jde.debugger.spec.BreakpointSpec
setRequest
 
Methods inherited from class jde.debugger.spec.EventRequestSpec
attemptImmediateResolve, attemptResolve, getEventRequest, getID, installClassExFilters, installClassFilters, isJavaIdentifier, isResolved, setClassExFilters, setClassFilters, setExpression, setIsResolved, setRequest, setSuspendPolicy, setThread
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

methodName

java.lang.String methodName

methodArgs

java.util.List methodArgs
Constructor Detail

MethodBreakpointSpec

public MethodBreakpointSpec(Application app,
                            ReferenceTypeSpec refSpec,
                            java.lang.String methodName,
                            java.util.List methodArgs)
Method Detail

resolve

boolean resolve(com.sun.jdi.ReferenceType refType)
          throws JDEException
Description copied from class: EventRequestSpec
This function is called to resolve an EventRequestSpec when the ReferenceType is known to match

if any errors occur at any time during resolution of the event- requestspec, it's entry in the EventRequestSpecList is removed, and jde informed about it (through Application.removeSpecAndInformJDE(jde.debugger.spec.EventRequestSpec, java.lang.String)

Overrides:
resolve in class EventRequestSpec
Tags copied from class: EventRequestSpec
Returns:
true if the resolution was successful

getLocation

private com.sun.jdi.Location getLocation(com.sun.jdi.ClassType clazz)
                                  throws JDEException

getMethodName

public java.lang.String getMethodName()

getMethodArgs

public java.util.List getMethodArgs()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

isValidMethodName

private boolean isValidMethodName(java.lang.String s)

compareArgTypes

private boolean compareArgTypes(com.sun.jdi.Method method,
                                java.util.List nameList)

normalizeArgTypeName

private java.lang.String normalizeArgTypeName(java.lang.String name)
                                       throws JDEException
Remove unneeded spaces and expand class names to fully qualified names, if necessary and possible.

findMatchingMethod

private com.sun.jdi.Method findMatchingMethod(com.sun.jdi.ClassType clazz)
                                       throws JDEException