提交 7047ec9f 编写于 作者: N nloodin

7029383: Refresh of non-client demos

Reviewed-by: mchung, ohair
上级 cbcf28a8
......@@ -26,7 +26,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.request.*;
public class AccessWatchpointSpec extends WatchpointSpec {
......@@ -38,6 +37,7 @@ public class AccessWatchpointSpec extends WatchpointSpec {
/**
* The 'refType' is known to match.
*/
@Override
void resolve(ReferenceType refType) throws InvalidTypeException,
NoSuchFieldException {
if (!(refType instanceof ClassType)) {
......@@ -51,6 +51,7 @@ public class AccessWatchpointSpec extends WatchpointSpec {
.createAccessWatchpointRequest(field));
}
@Override
public boolean equals(Object obj) {
return (obj instanceof AccessWatchpointSpec) && super.equals(obj);
}
......
......@@ -27,6 +27,9 @@ package com.sun.tools.example.debug.bdi;
public class AmbiguousMethodException extends Exception
{
private static final long serialVersionUID = 7793370943251707514L;
public AmbiguousMethodException()
{
super();
......
......@@ -25,30 +25,33 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.request.*;
public abstract class BreakpointSpec extends EventRequestSpec {
BreakpointSpec(EventRequestSpecList specs, ReferenceTypeSpec refSpec) {
super(specs, refSpec);
}
@Override
void notifySet(SpecListener listener, SpecEvent evt) {
listener.breakpointSet(evt);
}
@Override
void notifyDeferred(SpecListener listener, SpecEvent evt) {
listener.breakpointDeferred(evt);
}
@Override
void notifyResolved(SpecListener listener, SpecEvent evt) {
listener.breakpointResolved(evt);
}
@Override
void notifyDeleted(SpecListener listener, SpecEvent evt) {
listener.breakpointDeleted(evt);
}
@Override
void notifyError(SpecListener listener, SpecErrorEvent evt) {
listener.breakpointError(evt);
}
......
......@@ -43,10 +43,6 @@ class ChildSession extends Session {
private BufferedReader out;
private BufferedReader err;
private InputWriter inputWriter;
private OutputReader outputReader;
private OutputReader errorReader;
private InputListener input;
private OutputListener output;
private OutputListener error;
......@@ -84,6 +80,7 @@ class ChildSession extends Session {
this.error = error;
}
@Override
public boolean attach() {
if (!connectToVMProcess()) {
......@@ -131,6 +128,7 @@ class ChildSession extends Session {
return true;
}
@Override
public void detach() {
//### debug
......@@ -242,10 +240,7 @@ class ChildSession extends Session {
this.diagnostics = diagnostics;
}
public void quit() {
running = false;
}
@Override
public void run() {
try {
int count;
......@@ -254,6 +249,7 @@ class ChildSession extends Session {
// Run in Swing event dispatcher thread.
final String chars = new String(buffer, 0, count);
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
output.putString(chars);
}
......@@ -264,6 +260,7 @@ class ChildSession extends Session {
} catch (IOException e) {
// Run in Swing event dispatcher thread.
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
diagnostics.putString("IO error reading " +
streamName +
......@@ -288,11 +285,7 @@ class ChildSession extends Session {
this.input = input;
}
public void quit() {
//### Won't have much effect if blocked on input!
running = false;
}
@Override
public void run() {
String line;
while (running) {
......
......@@ -25,4 +25,7 @@
package com.sun.tools.example.debug.bdi;
public class EvaluationException extends Exception {}
public class EvaluationException extends Exception {
private static final long serialVersionUID = 4947109680354951694L;
}
......@@ -25,8 +25,6 @@
package com.sun.tools.example.debug.bdi;
import java.util.*;
import com.sun.jdi.*;
import com.sun.jdi.request.EventRequest;
......
......@@ -26,11 +26,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.ReferenceType;
import com.sun.jdi.request.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class ExceptionSpec extends EventRequestSpec {
......@@ -45,22 +40,27 @@ public class ExceptionSpec extends EventRequestSpec {
this.notifyUncaught = notifyUncaught;
}
@Override
void notifySet(SpecListener listener, SpecEvent evt) {
listener.exceptionInterceptSet(evt);
}
@Override
void notifyDeferred(SpecListener listener, SpecEvent evt) {
listener.exceptionInterceptDeferred(evt);
}
@Override
void notifyResolved(SpecListener listener, SpecEvent evt) {
listener.exceptionInterceptResolved(evt);
}
@Override
void notifyDeleted(SpecListener listener, SpecEvent evt) {
listener.exceptionInterceptDeleted(evt);
}
@Override
void notifyError(SpecListener listener, SpecErrorEvent evt) {
listener.exceptionInterceptError(evt);
}
......@@ -68,16 +68,19 @@ public class ExceptionSpec extends EventRequestSpec {
/**
* The 'refType' is known to match.
*/
@Override
void resolve(ReferenceType refType) {
setRequest(refType.virtualMachine().eventRequestManager()
.createExceptionRequest(refType,
notifyCaught, notifyUncaught));
}
@Override
public int hashCode() {
return refSpec.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj instanceof ExceptionSpec) {
ExceptionSpec es = (ExceptionSpec)obj;
......@@ -88,6 +91,7 @@ public class ExceptionSpec extends EventRequestSpec {
}
}
@Override
public String toString() {
StringBuffer buffer = new StringBuffer("exception catch ");
buffer.append(refSpec.toString());
......
......@@ -26,7 +26,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.event.*;
import com.sun.jdi.request.*;
import com.sun.jdi.connect.*;
import com.sun.tools.example.debug.expr.ExpressionParser;
......@@ -56,7 +55,7 @@ public class ExecutionManager {
// Session Listeners
Vector<SessionListener> sessionListeners = new Vector<SessionListener>();
ArrayList<SessionListener> sessionListeners = new ArrayList<SessionListener>();
public void addSessionListener(SessionListener listener) {
sessionListeners.add(listener);
......@@ -68,7 +67,7 @@ public class ExecutionManager {
// Spec Listeners
Vector<SpecListener> specListeners = new Vector<SpecListener>();
ArrayList<SpecListener> specListeners = new ArrayList<SpecListener>();
public void addSpecListener(SpecListener cl) {
specListeners.add(cl);
......@@ -80,7 +79,7 @@ public class ExecutionManager {
// JDI Listeners
Vector<JDIListener> jdiListeners = new Vector<JDIListener>();
ArrayList<JDIListener> jdiListeners = new ArrayList<JDIListener>();
/**
* Adds a JDIListener
......@@ -105,50 +104,50 @@ public class ExecutionManager {
// App Echo Listeners
private Vector<OutputListener> appEchoListeners = new Vector<OutputListener>();
private ArrayList<OutputListener> appEchoListeners = new ArrayList<OutputListener>();
public void addApplicationEchoListener(OutputListener l) {
appEchoListeners.addElement(l);
appEchoListeners.add(l);
}
public void removeApplicationEchoListener(OutputListener l) {
appEchoListeners.removeElement(l);
appEchoListeners.remove(l);
}
// App Output Listeners
private Vector<OutputListener> appOutputListeners = new Vector<OutputListener>();
private ArrayList<OutputListener> appOutputListeners = new ArrayList<OutputListener>();
public void addApplicationOutputListener(OutputListener l) {
appOutputListeners.addElement(l);
appOutputListeners.add(l);
}
public void removeApplicationOutputListener(OutputListener l) {
appOutputListeners.removeElement(l);
appOutputListeners.remove(l);
}
// App Error Listeners
private Vector<OutputListener> appErrorListeners = new Vector<OutputListener>();
private ArrayList<OutputListener> appErrorListeners = new ArrayList<OutputListener>();
public void addApplicationErrorListener(OutputListener l) {
appErrorListeners.addElement(l);
appErrorListeners.add(l);
}
public void removeApplicationErrorListener(OutputListener l) {
appErrorListeners.removeElement(l);
appErrorListeners.remove(l);
}
// Diagnostic Listeners
private Vector<OutputListener> diagnosticsListeners = new Vector<OutputListener>();
private ArrayList<OutputListener> diagnosticsListeners = new ArrayList<OutputListener>();
public void addDiagnosticsListener(OutputListener l) {
diagnosticsListeners.addElement(l);
diagnosticsListeners.add(l);
}
public void removeDiagnosticsListener(OutputListener l) {
diagnosticsListeners.removeElement(l);
diagnosticsListeners.remove(l);
}
/////////// End Listener Registration //////////////
......@@ -159,7 +158,9 @@ public class ExecutionManager {
}
void ensureActiveSession() throws NoSessionException {
if (session == null) throw new NoSessionException();
if (session == null) {
throw new NoSessionException();
}
}
public EventRequestManager eventRequestManager() {
......@@ -293,6 +294,7 @@ public class ExecutionManager {
ensureActiveSession();
if (f != null) {
frameGetter = new ExpressionParser.GetFrame() {
@Override
public StackFrame get() /* throws IncompatibleThreadStateException */ {
return f;
}
......@@ -628,35 +630,35 @@ public class ExecutionManager {
*/
private void notifyInterrupted() {
Vector l = (Vector)sessionListeners.clone();
ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners);
EventObject evt = new EventObject(this);
for (int i = 0; i < l.size(); i++) {
((SessionListener)l.elementAt(i)).sessionInterrupt(evt);
l.get(i).sessionInterrupt(evt);
}
}
private void notifyContinued() {
Vector l = (Vector)sessionListeners.clone();
ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners);
EventObject evt = new EventObject(this);
for (int i = 0; i < l.size(); i++) {
((SessionListener)l.elementAt(i)).sessionContinue(evt);
l.get(i).sessionContinue(evt);
}
}
private void notifySessionStart() {
Vector l = (Vector)sessionListeners.clone();
ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners);
EventObject evt = new EventObject(this);
for (int i = 0; i < l.size(); i++) {
((SessionListener)l.elementAt(i)).sessionStart(evt);
l.get(i).sessionStart(evt);
}
}
private void notifySessionDeath() {
/*** noop for now
Vector l = (Vector)sessionListeners.clone();
ArrayList<SessionListener> l = new ArrayList<SessionListener>(sessionListeners);
EventObject evt = new EventObject(this);
for (int i = 0; i < l.size(); i++) {
((SessionListener)l.elementAt(i)).sessionDeath(evt);
((SessionListener)l.get(i)).sessionDeath(evt);
}
****/
}
......@@ -684,6 +686,7 @@ public class ExecutionManager {
}
private InputListener appInput = new InputListener() {
@Override
public String getLine() {
// Don't allow reader to be interrupted -- catch and retry.
String line = null;
......@@ -703,6 +706,7 @@ public class ExecutionManager {
// Run in Swing event dispatcher thread.
final String input = line;
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
echoInputLine(input);
}
......@@ -714,37 +718,40 @@ public class ExecutionManager {
private static String newline = System.getProperty("line.separator");
private void echoInputLine(String line) {
Vector l = (Vector)appEchoListeners.clone();
ArrayList<OutputListener> l = new ArrayList<OutputListener>(appEchoListeners);
for (int i = 0; i < l.size(); i++) {
OutputListener ol = (OutputListener)l.elementAt(i);
OutputListener ol = l.get(i);
ol.putString(line);
ol.putString(newline);
}
}
private OutputListener appOutput = new OutputListener() {
@Override
public void putString(String string) {
Vector l = (Vector)appOutputListeners.clone();
ArrayList<OutputListener> l = new ArrayList<OutputListener>(appEchoListeners);
for (int i = 0; i < l.size(); i++) {
((OutputListener)l.elementAt(i)).putString(string);
l.get(i).putString(string);
}
}
};
private OutputListener appError = new OutputListener() {
@Override
public void putString(String string) {
Vector l = (Vector)appErrorListeners.clone();
ArrayList<OutputListener> l = new ArrayList<OutputListener>(appEchoListeners);
for (int i = 0; i < l.size(); i++) {
((OutputListener)l.elementAt(i)).putString(string);
l.get(i).putString(string);
}
}
};
private OutputListener diagnostics = new OutputListener() {
@Override
public void putString(String string) {
Vector l = (Vector)diagnosticsListeners.clone();
ArrayList<OutputListener> l = new ArrayList<OutputListener>(diagnosticsListeners);
for (int i = 0; i < l.size(); i++) {
((OutputListener)l.elementAt(i)).putString(string);
l.get(i).putString(string);
}
}
};
......
......@@ -25,4 +25,7 @@
package com.sun.tools.example.debug.bdi;
public class FrameIndexOutOfBoundsException extends IndexOutOfBoundsException {}
public class FrameIndexOutOfBoundsException extends IndexOutOfBoundsException {
private static final long serialVersionUID = -4870148107027371437L;
}
......@@ -28,8 +28,6 @@ package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.event.*;
import java.util.*;
import com.sun.tools.example.debug.event.*;
import javax.swing.SwingUtilities;
......@@ -55,6 +53,7 @@ class JDIEventSource extends Thread {
this.queue = session.vm.eventQueue();
}
@Override
public void run() {
try {
runLoop();
......@@ -78,6 +77,7 @@ class JDIEventSource extends Thread {
//### Gross foul hackery!
private void dispatchEventSet(final AbstractEventSet es) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
boolean interrupted = es.suspendedAll();
es.notify(firstListener);
......@@ -117,54 +117,65 @@ class JDIEventSource extends Thread {
//### This is a Hack, deal with it
private class FirstListener implements JDIListener {
@Override
public void accessWatchpoint(AccessWatchpointEventSet e) {
session.runtime.validateThreadInfo();
wantInterrupt = true;
}
@Override
public void classPrepare(ClassPrepareEventSet e) {
wantInterrupt = false;
runtime.resolve(e.getReferenceType());
}
@Override
public void classUnload(ClassUnloadEventSet e) {
wantInterrupt = false;
}
@Override
public void exception(ExceptionEventSet e) {
wantInterrupt = true;
}
@Override
public void locationTrigger(LocationTriggerEventSet e) {
session.runtime.validateThreadInfo();
wantInterrupt = true;
}
@Override
public void modificationWatchpoint(ModificationWatchpointEventSet e) {
session.runtime.validateThreadInfo();
wantInterrupt = true;
}
@Override
public void threadDeath(ThreadDeathEventSet e) {
wantInterrupt = false;
}
@Override
public void threadStart(ThreadStartEventSet e) {
wantInterrupt = false;
}
@Override
public void vmDeath(VMDeathEventSet e) {
//### Should have some way to notify user
//### that VM died before the session ended.
wantInterrupt = false;
}
@Override
public void vmDisconnect(VMDisconnectEventSet e) {
//### Notify user?
wantInterrupt = false;
session.runtime.endSession();
}
@Override
public void vmStart(VMStartEventSet e) {
//### Do we need to do anything with it?
wantInterrupt = false;
......
......@@ -26,11 +26,7 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.request.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class LineBreakpointSpec extends BreakpointSpec {
int lineNumber;
......@@ -44,6 +40,7 @@ public class LineBreakpointSpec extends BreakpointSpec {
/**
* The 'refType' is known to match.
*/
@Override
void resolve(ReferenceType refType) throws InvalidTypeException,
LineNotFoundException {
if (!(refType instanceof ClassType)) {
......@@ -81,10 +78,12 @@ public class LineBreakpointSpec extends BreakpointSpec {
return lineNumber;
}
@Override
public int hashCode() {
return refSpec.hashCode() + lineNumber;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof LineBreakpointSpec) {
LineBreakpointSpec breakpoint = (LineBreakpointSpec)obj;
......@@ -96,6 +95,7 @@ public class LineBreakpointSpec extends BreakpointSpec {
}
}
@Override
public String errorMessageFor(Exception e) {
if (e instanceof LineNotFoundException) {
return ("No code at line " + lineNumber() + " in " + refSpec);
......@@ -107,6 +107,7 @@ public class LineBreakpointSpec extends BreakpointSpec {
}
}
@Override
public String toString() {
StringBuffer buffer = new StringBuffer("breakpoint ");
buffer.append(refSpec.toString());
......
......@@ -27,6 +27,9 @@ package com.sun.tools.example.debug.bdi;
public class LineNotFoundException extends Exception
{
private static final long serialVersionUID = -5630418117861587582L;
public LineNotFoundException()
{
super();
......
......@@ -26,6 +26,9 @@
package com.sun.tools.example.debug.bdi;
class MalformedMemberNameException extends Exception {
private static final long serialVersionUID = -7726664097374844485L;
public MalformedMemberNameException() {
super();
}
......
......@@ -26,11 +26,8 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.request.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class MethodBreakpointSpec extends BreakpointSpec {
String methodId;
......@@ -47,6 +44,7 @@ public class MethodBreakpointSpec extends BreakpointSpec {
/**
* The 'refType' is known to match.
*/
@Override
void resolve(ReferenceType refType) throws MalformedMemberNameException,
AmbiguousMethodException,
InvalidTypeException,
......@@ -80,12 +78,14 @@ public class MethodBreakpointSpec extends BreakpointSpec {
return methodArgs;
}
@Override
public int hashCode() {
return refSpec.hashCode() +
((methodId != null) ? methodId.hashCode() : 0) +
((methodArgs != null) ? methodArgs.hashCode() : 0);
}
@Override
public boolean equals(Object obj) {
if (obj instanceof MethodBreakpointSpec) {
MethodBreakpointSpec breakpoint = (MethodBreakpointSpec)obj;
......@@ -98,6 +98,7 @@ public class MethodBreakpointSpec extends BreakpointSpec {
}
}
@Override
public String errorMessageFor(Exception e) {
if (e instanceof AmbiguousMethodException) {
return ("Method " + methodName() + " is overloaded; specify arguments");
......@@ -114,6 +115,7 @@ public class MethodBreakpointSpec extends BreakpointSpec {
}
}
@Override
public String toString() {
StringBuffer buffer = new StringBuffer("breakpoint ");
buffer.append(refSpec.toString());
......@@ -257,7 +259,7 @@ public class MethodBreakpointSpec extends BreakpointSpec {
*/
if ((name.indexOf('.') == -1) || name.startsWith("*.")) {
try {
List refs = specs.runtime.findClassesMatchingPattern(name);
List<?> refs = specs.runtime.findClassesMatchingPattern(name);
if (refs.size() > 0) { //### ambiguity???
name = ((ReferenceType)(refs.get(0))).name();
}
......
......@@ -27,6 +27,8 @@ package com.sun.tools.example.debug.bdi;
public class MethodNotFoundException extends Exception
{
private static final long serialVersionUID = -2064968107599632609L;
public MethodNotFoundException()
{
super();
......
......@@ -26,7 +26,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.request.*;
public class ModificationWatchpointSpec extends WatchpointSpec {
......@@ -38,6 +37,7 @@ public class ModificationWatchpointSpec extends WatchpointSpec {
/**
* The 'refType' is known to match.
*/
@Override
void resolve(ReferenceType refType) throws InvalidTypeException,
NoSuchFieldException {
if (!(refType instanceof ClassType)) {
......@@ -51,6 +51,7 @@ public class ModificationWatchpointSpec extends WatchpointSpec {
.createModificationWatchpointRequest(field));
}
@Override
public boolean equals(Object obj) {
return (obj instanceof ModificationWatchpointSpec) &&
super.equals(obj);
......
......@@ -25,4 +25,7 @@
package com.sun.tools.example.debug.bdi;
public class NoSessionException extends Exception {}
public class NoSessionException extends Exception {
private static final long serialVersionUID = -7324357828115128603L;
}
......@@ -25,4 +25,8 @@
package com.sun.tools.example.debug.bdi;
public class NoThreadException extends Exception {}
public class NoThreadException extends Exception {
private static final long serialVersionUID = 1846613539928921998L;
}
......@@ -47,6 +47,7 @@ class PatternReferenceTypeSpec implements ReferenceTypeSpec {
/**
* Does the specified ReferenceType match this spec.
*/
@Override
public boolean matches(ReferenceType refType) {
if (isWild) {
return refType.name().endsWith(classId);
......@@ -55,10 +56,12 @@ class PatternReferenceTypeSpec implements ReferenceTypeSpec {
}
}
@Override
public int hashCode() {
return classId.hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj instanceof PatternReferenceTypeSpec) {
PatternReferenceTypeSpec spec = (PatternReferenceTypeSpec)obj;
......@@ -89,6 +92,7 @@ class PatternReferenceTypeSpec implements ReferenceTypeSpec {
}
}
@Override
public String toString() {
return isWild? "*" + classId : classId;
}
......
......@@ -33,7 +33,9 @@ interface ReferenceTypeSpec {
*/
boolean matches(ReferenceType refType);
@Override
int hashCode();
@Override
boolean equals(Object obj);
}
......@@ -27,7 +27,6 @@ package com.sun.tools.example.debug.bdi;
import com.sun.jdi.VirtualMachine;
import com.sun.jdi.VMDisconnectedException;
import com.sun.jdi.event.EventSet;
/**
* Our repository of what we know about the state of one
......
......@@ -39,6 +39,7 @@ class SourceNameReferenceTypeSpec implements ReferenceTypeSpec {
/**
* Does the specified ReferenceType match this spec.
*/
@Override
public boolean matches(ReferenceType refType) {
try {
if (refType.sourceName().equals(sourceName)) {
......@@ -48,9 +49,6 @@ class SourceNameReferenceTypeSpec implements ReferenceTypeSpec {
return true;
} catch(AbsentInformationException exc) {
} catch(ObjectCollectedException exc) {
} catch(InvalidLineNumberException exc) {
// } catch(ClassNotPreparedException exc) {
// -- should not happen, so don't catch this ---
}
}
} catch(AbsentInformationException exc) {
......@@ -59,10 +57,12 @@ class SourceNameReferenceTypeSpec implements ReferenceTypeSpec {
return false;
}
@Override
public int hashCode() {
return sourceName.hashCode() + linenumber;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof SourceNameReferenceTypeSpec) {
SourceNameReferenceTypeSpec spec = (SourceNameReferenceTypeSpec)obj;
......@@ -74,6 +74,7 @@ class SourceNameReferenceTypeSpec implements ReferenceTypeSpec {
}
}
@Override
public String toString() {
return sourceName + "@" + linenumber;
}
......
......@@ -25,10 +25,9 @@
package com.sun.tools.example.debug.bdi;
import java.util.EventObject;
public class SpecErrorEvent extends SpecEvent {
private static final long serialVersionUID = 8162634387866409578L;
private Exception reason;
public SpecErrorEvent(EventRequestSpec eventRequestSpec,
......
......@@ -31,6 +31,7 @@ import com.sun.jdi.request.EventRequest;
public class SpecEvent extends EventObject {
private static final long serialVersionUID = 4820735456787276230L;
private EventRequestSpec eventRequestSpec;
public SpecEvent(EventRequestSpec eventRequestSpec) {
......
......@@ -26,7 +26,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.ThreadGroupReference;
import com.sun.jdi.ThreadReference;
import java.util.List;
import java.util.Stack;
import java.util.ArrayList;
......@@ -73,10 +72,12 @@ public class ThreadGroupIterator implements Iterator<ThreadGroupReference> {
}
}
@Override
public boolean hasNext() {
return !stack.isEmpty();
}
@Override
public ThreadGroupReference next() {
return nextThreadGroup();
}
......@@ -87,6 +88,7 @@ public class ThreadGroupIterator implements Iterator<ThreadGroupReference> {
return tg;
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
......
......@@ -26,9 +26,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
//### Should handle target VM death or connection failure cleanly.
......
......@@ -43,6 +43,7 @@ public class ThreadIterator implements Iterator<ThreadReference> {
tgi = new ThreadGroupIterator(tgl);
}
@Override
public boolean hasNext() {
while (it == null || !it.hasNext()) {
if (!tgi.hasNext()) {
......@@ -53,6 +54,7 @@ public class ThreadIterator implements Iterator<ThreadReference> {
return true;
}
@Override
public ThreadReference next() {
return it.next();
}
......@@ -61,6 +63,7 @@ public class ThreadIterator implements Iterator<ThreadReference> {
return next();
}
@Override
public void remove() {
throw new UnsupportedOperationException();
}
......
......@@ -26,9 +26,6 @@
package com.sun.tools.example.debug.bdi; //### does it belong here?
import com.sun.jdi.*;
import com.sun.tools.jdi.*;
import java.util.*;
import java.io.*;
public class Utils {
......
......@@ -25,4 +25,7 @@
package com.sun.tools.example.debug.bdi;
public class VMLaunchFailureException extends Exception {}
public class VMLaunchFailureException extends Exception {
private static final long serialVersionUID = -2439646729274310108L;
}
......@@ -25,4 +25,7 @@
package com.sun.tools.example.debug.bdi;
public class VMNotInterruptedException extends Exception {}
public class VMNotInterruptedException extends Exception {
private static final long serialVersionUID = 8111074582188765600L;
}
......@@ -25,9 +25,6 @@
package com.sun.tools.example.debug.bdi;
import com.sun.jdi.*;
import com.sun.jdi.request.*;
public abstract class WatchpointSpec extends EventRequestSpec {
final String fieldId;
......@@ -40,31 +37,38 @@ public abstract class WatchpointSpec extends EventRequestSpec {
// }
}
@Override
void notifySet(SpecListener listener, SpecEvent evt) {
listener.watchpointSet(evt);
}
@Override
void notifyDeferred(SpecListener listener, SpecEvent evt) {
listener.watchpointDeferred(evt);
}
@Override
void notifyResolved(SpecListener listener, SpecEvent evt) {
listener.watchpointResolved(evt);
}
@Override
void notifyDeleted(SpecListener listener, SpecEvent evt) {
listener.watchpointDeleted(evt);
}
@Override
void notifyError(SpecListener listener, SpecErrorEvent evt) {
listener.watchpointError(evt);
}
@Override
public int hashCode() {
return refSpec.hashCode() + fieldId.hashCode() +
getClass().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj instanceof WatchpointSpec) {
WatchpointSpec watchpoint = (WatchpointSpec)obj;
......@@ -77,6 +81,7 @@ public abstract class WatchpointSpec extends EventRequestSpec {
}
}
@Override
public String errorMessageFor(Exception e) {
if (e instanceof NoSuchFieldException) {
return ("No field " + fieldId + " in " + refSpec);
......
......@@ -33,6 +33,7 @@ import java.util.*;
public abstract class AbstractEventSet extends EventObject implements EventSet {
private static final long serialVersionUID = 2772717574222076977L;
private final EventSet jdiEventSet;
final Event oneEvent;
......@@ -81,6 +82,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
// Implement Mirror
@Override
public VirtualMachine virtualMachine() {
return jdiEventSet.virtualMachine();
}
......@@ -105,10 +107,12 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
return jdiEventSet.suspendPolicy();
}
@Override
public void resume() {
jdiEventSet.resume();
}
@Override
public int suspendPolicy() {
return jdiEventSet.suspendPolicy();
}
......@@ -128,6 +132,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
/**
* Return an iterator specific to {@link Event} objects.
*/
@Override
public EventIterator eventIterator() {
return jdiEventSet.eventIterator();
}
......@@ -142,6 +147,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
*
* @return the number of elements in this set (its cardinality).
*/
@Override
public int size() {
return jdiEventSet.size();
}
......@@ -151,6 +157,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
*
* @return <tt>true</tt> if this set contains no elements.
*/
@Override
public boolean isEmpty() {
return jdiEventSet.isEmpty();
}
......@@ -163,6 +170,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
*
* @return <tt>true</tt> if this set contains the specified element.
*/
@Override
public boolean contains(Object o) {
return jdiEventSet.contains(o);
}
......@@ -174,6 +182,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
*
* @return an iterator over the elements in this set.
*/
@Override
public Iterator<Event> iterator() {
return jdiEventSet.iterator();
}
......@@ -184,6 +193,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
*
* @return an array containing all of the elements in this set.
*/
@Override
public Object[] toArray() {
return jdiEventSet.toArray();
}
......@@ -202,6 +212,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
* @throws ArrayStoreException the runtime type of a is not a supertype
* of the runtime type of every element in this set.
*/
@Override
public <T> T[] toArray(T a[]) {
return jdiEventSet.toArray(a);
}
......@@ -217,6 +228,7 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
* @return <tt>true</tt> if this set contains all of the elements of the
* specified collection.
*/
@Override
public boolean containsAll(Collection<?> c) {
return jdiEventSet.containsAll(c);
}
......@@ -224,21 +236,27 @@ public abstract class AbstractEventSet extends EventObject implements EventSet {
// Make the rest of Set unmodifiable
@Override
public boolean add(Event e){
throw new UnsupportedOperationException();
}
@Override
public boolean remove(Object o) {
throw new UnsupportedOperationException();
}
@Override
public boolean addAll(Collection<? extends Event> coll) {
throw new UnsupportedOperationException();
}
@Override
public boolean removeAll(Collection<?> coll) {
throw new UnsupportedOperationException();
}
@Override
public boolean retainAll(Collection<?> coll) {
throw new UnsupportedOperationException();
}
@Override
public void clear() {
throw new UnsupportedOperationException();
}
......
......@@ -25,15 +25,17 @@
package com.sun.tools.example.debug.event;
import com.sun.jdi.*;
import com.sun.jdi.event.*;
public class AccessWatchpointEventSet extends WatchpointEventSet {
private static final long serialVersionUID = -2620394219156607673L;
AccessWatchpointEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
@Override
public void notify(JDIListener listener) {
listener.accessWatchpoint(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public class ClassPrepareEventSet extends AbstractEventSet {
private static final long serialVersionUID = 5958493423581010491L;
ClassPrepareEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -55,6 +57,7 @@ public class ClassPrepareEventSet extends AbstractEventSet {
return ((ClassPrepareEvent)oneEvent).referenceType();
}
@Override
public void notify(JDIListener listener) {
listener.classPrepare(this);
}
......
......@@ -25,11 +25,12 @@
package com.sun.tools.example.debug.event;
import com.sun.jdi.*;
import com.sun.jdi.event.*;
public class ClassUnloadEventSet extends AbstractEventSet {
private static final long serialVersionUID = 8370341450345835866L;
ClassUnloadEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -48,6 +49,7 @@ public class ClassUnloadEventSet extends AbstractEventSet {
return ((ClassUnloadEvent)oneEvent).classSignature();
}
@Override
public void notify(JDIListener listener) {
listener.classUnload(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public class ExceptionEventSet extends LocatableEventSet {
private static final long serialVersionUID = 5328140167954640711L;
ExceptionEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -75,6 +77,7 @@ public class ExceptionEventSet extends LocatableEventSet {
return ((ExceptionEvent)oneEvent).catchLocation();
}
@Override
public void notify(JDIListener listener) {
listener.exception(this);
}
......
......@@ -33,36 +33,47 @@ package com.sun.tools.example.debug.event;
*/
public class JDIAdapter implements JDIListener {
@Override
public void accessWatchpoint(AccessWatchpointEventSet e) {
}
@Override
public void classPrepare(ClassPrepareEventSet e) {
}
@Override
public void classUnload(ClassUnloadEventSet e) {
}
@Override
public void exception(ExceptionEventSet e) {
}
@Override
public void locationTrigger(LocationTriggerEventSet e) {
}
@Override
public void modificationWatchpoint(ModificationWatchpointEventSet e) {
}
@Override
public void threadDeath(ThreadDeathEventSet e) {
}
@Override
public void threadStart(ThreadStartEventSet e) {
}
@Override
public void vmDeath(VMDeathEventSet e) {
}
@Override
public void vmDisconnect(VMDisconnectEventSet e) {
}
@Override
public void vmStart(VMStartEventSet e) {
}
......
......@@ -33,6 +33,8 @@ import com.sun.jdi.event.*;
*/
public abstract class LocatableEventSet extends AbstractEventSet {
private static final long serialVersionUID = 1027131209997915620L;
LocatableEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......
......@@ -25,15 +25,17 @@
package com.sun.tools.example.debug.event;
import com.sun.jdi.*;
import com.sun.jdi.event.*;
public class LocationTriggerEventSet extends LocatableEventSet {
private static final long serialVersionUID = -3674631710485872487L;
LocationTriggerEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
@Override
public void notify(JDIListener listener) {
listener.locationTrigger(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public class ModificationWatchpointEventSet extends WatchpointEventSet {
private static final long serialVersionUID = -680889300856154719L;
ModificationWatchpointEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -42,6 +44,7 @@ public class ModificationWatchpointEventSet extends WatchpointEventSet {
return ((ModificationWatchpointEvent)oneEvent).valueToBe();
}
@Override
public void notify(JDIListener listener) {
listener.modificationWatchpoint(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public class ThreadDeathEventSet extends AbstractEventSet {
private static final long serialVersionUID = -8801604712308151331L;
ThreadDeathEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -44,6 +46,7 @@ public class ThreadDeathEventSet extends AbstractEventSet {
return ((ThreadDeathEvent)oneEvent).thread();
}
@Override
public void notify(JDIListener listener) {
listener.threadDeath(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public class ThreadStartEventSet extends AbstractEventSet {
private static final long serialVersionUID = -3802096132294933502L;
ThreadStartEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -44,6 +46,7 @@ public class ThreadStartEventSet extends AbstractEventSet {
return ((ThreadStartEvent)oneEvent).thread();
}
@Override
public void notify(JDIListener listener) {
listener.threadStart(this);
}
......
......@@ -29,10 +29,13 @@ import com.sun.jdi.event.*;
public class VMDeathEventSet extends AbstractEventSet {
private static final long serialVersionUID = 1163097303940092229L;
VMDeathEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
@Override
public void notify(JDIListener listener) {
listener.vmDeath(this);
}
......
......@@ -29,10 +29,13 @@ import com.sun.jdi.event.*;
public class VMDisconnectEventSet extends AbstractEventSet {
private static final long serialVersionUID = 7968123152344675342L;
VMDisconnectEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
@Override
public void notify(JDIListener listener) {
listener.vmDisconnect(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public class VMStartEventSet extends AbstractEventSet {
private static final long serialVersionUID = -3384957227835478191L;
VMStartEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......@@ -44,6 +46,7 @@ public class VMStartEventSet extends AbstractEventSet {
return ((VMStartEvent)oneEvent).thread();
}
@Override
public void notify(JDIListener listener) {
listener.vmStart(this);
}
......
......@@ -30,6 +30,8 @@ import com.sun.jdi.event.*;
public abstract class WatchpointEventSet extends LocatableEventSet {
private static final long serialVersionUID = 5606285209703845409L;
WatchpointEventSet(EventSet jdiEventSet) {
super(jdiEventSet);
}
......
......@@ -37,6 +37,8 @@ package com.sun.tools.example.debug.expr;
*/
public class ParseException extends Exception {
private static final long serialVersionUID = 7978489144303647901L;
/**
* This constructor is used by the method "generateParseException"
* in the generated parser. Calling this constructor generates
......@@ -119,20 +121,21 @@ public class ParseException extends Exception {
* of the final stack trace, and hence the correct error message
* gets displayed.
*/
@Override
public String getMessage() {
if (!specialConstructor) {
return super.getMessage();
}
String expected = "";
int maxSize = 0;
for (int i = 0; i < expectedTokenSequences.length; i++) {
if (maxSize < expectedTokenSequences[i].length) {
maxSize = expectedTokenSequences[i].length;
for (int[] expectedTokenSequence : expectedTokenSequences) {
if (maxSize < expectedTokenSequence.length) {
maxSize = expectedTokenSequence.length;
}
for (int j = 0; j < expectedTokenSequences[i].length; j++) {
expected += tokenImage[expectedTokenSequences[i][j]] + " ";
for (int j = 0; j < expectedTokenSequence.length; j++) {
expected += tokenImage[expectedTokenSequence[j]] + " ";
}
if (expectedTokenSequences[i][expectedTokenSequences[i].length - 1] != 0) {
if (expectedTokenSequence[expectedTokenSequence.length - 1] != 0) {
expected += "...";
}
expected += eol + " ";
......@@ -140,7 +143,9 @@ public class ParseException extends Exception {
String retval = "Encountered \"";
Token tok = currentToken.next;
for (int i = 0; i < maxSize; i++) {
if (i != 0) retval += " ";
if (i != 0) {
retval += " ";
}
if (tok.kind == 0) {
retval += tokenImage[0];
break;
......
......@@ -78,6 +78,7 @@ public class Token {
/**
* Returns the image.
*/
@Override
public final String toString()
{
return image;
......
......@@ -32,6 +32,8 @@ public class TokenMgrError extends Error
* Ordinals for various reasons why an Error of this type can be thrown.
*/
private static final long serialVersionUID = -6236440836177601522L;
/**
* Lexical error occured.
*/
......@@ -136,6 +138,7 @@ public class TokenMgrError extends Error
*
* from this method for such cases in the release version of your parser.
*/
@Override
public String getMessage() {
return super.getMessage();
}
......
......@@ -29,12 +29,12 @@ import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import com.sun.jdi.*;
import com.sun.tools.example.debug.bdi.*;
public class ApplicationTool extends JPanel {
private Environment env;
private static final long serialVersionUID = 310966063293205714L;
private ExecutionManager runtime;
private TypeScript script;
......@@ -45,13 +45,13 @@ public class ApplicationTool extends JPanel {
super(new BorderLayout());
this.env = env;
this.runtime = env.getExecutionManager();
this.script = new TypeScript(PROMPT, false); // No implicit echo.
this.add(script);
script.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
runtime.sendLineToApplication(script.readln());
}
......
......@@ -31,6 +31,7 @@ import java.util.EventObject;
public class CurrentFrameChangedEvent extends EventObject {
private static final long serialVersionUID = 4214479486546762179L;
private ThreadInfo tinfo;
private int index;
private boolean invalidate;
......
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册