http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/Isolate.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/Isolate.java b/debugger/src/flash/tools/debugger/Isolate.java deleted file mode 100644 index 982c2dd..0000000 --- a/debugger/src/flash/tools/debugger/Isolate.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package flash.tools.debugger; - -/** - * The Isolate object uniquely identifies a "Worker" in ActionScript. - * Workers are conceptually similar to Threads, but their implementation - * closely follows more that of a web worker than an actual OS Thread. - * - * By default there is a default isolate object with id DEFAULT_ID. - * @author anirudhs - * - */ -public interface Isolate { - - public static final int DEFAULT_ID = 1; - - /** - * Get the unique integer ID associated with the - * worker. This is Isolate.DEFAULT_ID for the - * primordial. - * @return unique integer ID - */ - public int getId(); - -}
http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/IsolateController.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/IsolateController.java b/debugger/src/flash/tools/debugger/IsolateController.java deleted file mode 100644 index ed09477..0000000 --- a/debugger/src/flash/tools/debugger/IsolateController.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package flash.tools.debugger; - -import flash.tools.debugger.expression.PlayerFaultException; - -/** - * Worker specific debug session commands. These are a subset of Session that - * can be individually routed to a specific worker (including the main worker if - * the player does not support concurrency). This is implemented by - * PlayerSession and used by the getWorkerSession() api. - * - * @see flash.tools.debugger.IsolateSession, - * flash.tools.debugger.Session#getWorkerSession(int) - * @author anirudhs - * - */ -public interface IsolateController { - - /** - * @see flash.tools.debugger.Session#resume() - */ - public void resumeWorker(int isolateId) throws NotSuspendedException, NotConnectedException, NoResponseException; - - /** - * @see flash.tools.debugger.Session#suspend() - */ - public void suspendWorker(int isolateId) throws SuspendedException, NotConnectedException, NoResponseException; - - /** - * @see flash.tools.debugger.Session#isSuspended() - */ - public boolean isWorkerSuspended(int isolateId) throws NotConnectedException; - - /** - * @see flash.tools.debugger.Session#isSuspended() - */ - public int suspendReasonWorker(int isolateId) throws NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getFrames() - */ - public Frame[] getFramesWorker(int isolateId) throws NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepInto() - */ - public void stepIntoWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepOut() - */ - public void stepOutWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepOver() - */ - public void stepOverWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepContinue() - */ - public void stepContinueWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getSwfs() - */ - public SwfInfo[] getSwfsWorker(int isolateId) throws NoResponseException; - - /** - * @see flash.tools.debugger.Session#setBreakpoint(int, int) - */ - public Location setBreakpointWorker(int fileId, int lineNum, int isolateId) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getWatchList() - */ - public Watch[] getWatchListWorker(int isolateId) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getVariableList() - */ - public Variable[] getVariableListWorker(int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException; - - /** - * @see flash.tools.debugger.Session#getValue(long) - */ - public Value getValueWorker(long valueId, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getGlobal(String) - */ - public Value getGlobalWorker(String name, int isolateId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#evalIs(Value, Value) - */ - public boolean evalIsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalIs(Value, String) - */ - public boolean evalIsWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalInstanceof(Value, Value) - */ - public boolean evalInstanceofWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalInstanceof(Value, String) - */ - public boolean evalInstanceofWorker(Value value, String type, int isolateId) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalIn(Value, Value) - */ - public boolean evalInWorker(Value property, Value object, int isolateId) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalAs(Value, Value) - */ - public Value evalAsWorker(Value value, Value type, int isolateId) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#callFunction(Value, String, Value[]) - */ - public Value callFunctionWorker(Value thisObject, String functionName, Value[] args, int isolateId) throws PlayerDebugException; - - /** - * @see flash.tools.debugger.Session#callConstructor(String, Value[]) - */ - public Value callConstructorWorker(String classname, Value[] args, int isolateId) throws PlayerDebugException; - - /** - * @see flash.tools.debugger.Session#setExceptionBreakpoint(String) - */ - public boolean setExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String) - */ - public boolean clearExceptionBreakpointWorker(String exceptionClass, int isolateId) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#breakOnCaughtExceptions(boolean) - */ - public void breakOnCaughtExceptions(boolean b, int isolateId) throws NotSupportedException, NoResponseException; - - /** - * @see flash.tools.debugger.Session#supportsWatchpoints() - */ - public boolean supportsWatchpoints(int isolateId); - - /** - * @see flash.tools.debugger.Session#playerCanBreakOnAllExceptions() - */ - public boolean playerCanBreakOnAllExceptions(int isolateId); - - /** - * @see flash.tools.debugger.Session#supportsWideLineNumbers() - */ - public boolean supportsWideLineNumbers(int isolateId); - - /** - * @see flash.tools.debugger.Session#playerCanCallFunctions(String) - */ - public boolean playerCanCallFunctions(int isolateId); - -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/IsolateSession.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/IsolateSession.java b/debugger/src/flash/tools/debugger/IsolateSession.java deleted file mode 100644 index 6b57d62..0000000 --- a/debugger/src/flash/tools/debugger/IsolateSession.java +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package flash.tools.debugger; - -import flash.tools.debugger.expression.PlayerFaultException; - -/** - * Used to issue commands to a particular worker (isolate). - * @see Session - * @author anirudhs - */ -public interface IsolateSession { - - /** - * @see flash.tools.debugger.Session#resume() - */ - public void resume() throws NotSuspendedException, NotConnectedException, NoResponseException; - - /** - * @see flash.tools.debugger.Session#suspend() - */ - public void suspend() throws SuspendedException, NotConnectedException, NoResponseException; - - /** - * @see flash.tools.debugger.Session#isSuspended() - */ - public boolean isSuspended() throws NotConnectedException; - - /** - * @see flash.tools.debugger.Session#isSuspended() - */ - public int suspendReason() throws NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getFrames() - */ - public Frame[] getFrames() throws NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepInto() - */ - public void stepInto() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepOut() - */ - public void stepOut() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepOver() - */ - public void stepOver() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#stepContinue() - */ - public void stepContinue() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getSwfs() - */ - public SwfInfo[] getSwfs() throws NoResponseException; - - /** - * @see flash.tools.debugger.Session#setBreakpoint(int, int) - */ - public Location setBreakpoint(int fileId, int lineNum) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getWatchList() - */ - public Watch[] getWatchList() throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getVariableList() - */ - public Variable[] getVariableList() throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException; - - /** - * @see flash.tools.debugger.Session#getValue(long) - */ - public Value getValue(long valueId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#getGlobal(String) - */ - public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#evalIs(Value, Value) - */ - public boolean evalIs(Value value, Value type) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalIs(Value, String) - */ - public boolean evalIs(Value value, String type) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalInstanceof(Value, Value) - */ - public boolean evalInstanceof(Value value, Value type) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalInstanceof(Value, String) - */ - public boolean evalInstanceof(Value value, String type) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalIn(Value, Value) - */ - public boolean evalIn(Value property, Value object) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#evalAs(Value, Value) - */ - public Value evalAs(Value value, Value type) throws PlayerDebugException, PlayerFaultException; - - /** - * @see flash.tools.debugger.Session#resume() - */ - public Value callFunction(Value thisObject, String functionName, Value[] args) throws PlayerDebugException; - - /** - * @see flash.tools.debugger.Session#callFunction(Value, String, Value[]) - */ - public Value callConstructor(String classname, Value[] args) throws PlayerDebugException; - - /** - * @see flash.tools.debugger.Session#setExceptionBreakpoint(String) - */ - public boolean setExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#clearExceptionBreakpoint(String) - */ - public boolean clearExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException; - - /** - * @see flash.tools.debugger.Session#breakOnCaughtExceptions(boolean) - */ - public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException; - - /** - * @see flash.tools.debugger.Session#supportsWatchpoints() - */ - public boolean supportsWatchpoints(); - - /** - * @see flash.tools.debugger.Session#playerCanBreakOnAllExceptions() - */ - public boolean playerCanBreakOnAllExceptions(); - - /** - * @see flash.tools.debugger.Session#supportsWideLineNumbers() - */ - public boolean supportsWideLineNumbers(); - - /** - * @see flash.tools.debugger.Session#playerCanCallFunctions() - */ - public boolean playerCanCallFunctions(); -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/Location.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/Location.java b/debugger/src/flash/tools/debugger/Location.java deleted file mode 100644 index bf6103c..0000000 --- a/debugger/src/flash/tools/debugger/Location.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -/** - * The Location object identifies a specific line number with a SourceFile. - * It is used for breakpoint manipulation and obtaining stack frame context. - */ -public interface Location -{ - /** - * Source file for this location - */ - public SourceFile getFile(); - - /** - * Line number within the source for this location - */ - public int getLine(); - - /** - * Worker to which this location belongs. - */ - public int getIsolateId(); - -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/NoResponseException.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/NoResponseException.java b/debugger/src/flash/tools/debugger/NoResponseException.java deleted file mode 100644 index b6756e6..0000000 --- a/debugger/src/flash/tools/debugger/NoResponseException.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -import java.util.HashMap; -import java.util.Map; - -/** - * NoResponseException is thrown when the Player does - * not respond to the command that was issued. - * - * The field m_waitedFor contains the number of - * milliseconds waited for the response. - */ -public class NoResponseException extends PlayerDebugException -{ - private static final long serialVersionUID = -3704426811630352537L; - - /** - * Number of milliseconds that elapsed causing the timeout - * -1 means unknown. - */ - public int m_waitedFor; - - public NoResponseException(int t) - { - m_waitedFor = t; - } - - @Override - public String getMessage() - { - Map<String, String> args = new HashMap<String, String>(); - String formatString; - if (m_waitedFor != -1 && m_waitedFor != 0) - { - formatString = "timeout"; //$NON-NLS-1$ - args.put("time", Integer.toString(m_waitedFor)); //$NON-NLS-1$ - } - else - { - formatString = "timeoutAfterUnknownDelay"; //$NON-NLS-1$ - } - return Bootstrap.getLocalizationManager().getLocalizedTextString(formatString, args); - } -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/NotConnectedException.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/NotConnectedException.java b/debugger/src/flash/tools/debugger/NotConnectedException.java deleted file mode 100644 index 662a10a..0000000 --- a/debugger/src/flash/tools/debugger/NotConnectedException.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -/** - * NotConnectedException is thrown when the Session - * is no longer connnected to the Player - */ -public class NotConnectedException extends PlayerDebugException -{ - private static final long serialVersionUID = -9087367591357152206L; - - @Override - public String getMessage() - { - return Bootstrap.getLocalizationManager().getLocalizedTextString("notConnected"); //$NON-NLS-1$ - } -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/NotSupportedException.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/NotSupportedException.java b/debugger/src/flash/tools/debugger/NotSupportedException.java deleted file mode 100644 index 8e6dbd3..0000000 --- a/debugger/src/flash/tools/debugger/NotSupportedException.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -/** - * Indicates that a debugger feature is not supported by the Flash - * player that is being targeted. For example, newer players - * support the ability to have the debugger call arbitrary - * functions, but older ones do not. - * - * @author Mike Morearty - */ -public class NotSupportedException extends PlayerDebugException { - private static final long serialVersionUID = -8873935118857320824L; - - /** - * @param s an error message, e.g. "Target player does not support - * function calls," or "Target player does not support watchpoints". - */ - public NotSupportedException(String s) - { - super(s); - } -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/NotSuspendedException.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/NotSuspendedException.java b/debugger/src/flash/tools/debugger/NotSuspendedException.java deleted file mode 100644 index c5dad0e..0000000 --- a/debugger/src/flash/tools/debugger/NotSuspendedException.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -/** - * NotSuspendedException is thrown when the Player - * is in a state for which the action cannot be performed. - */ -public class NotSuspendedException extends PlayerDebugException -{ - private static final long serialVersionUID = 1373922470760042675L; - - @Override - public String getMessage() - { - return Bootstrap.getLocalizationManager().getLocalizedTextString("notSuspended"); //$NON-NLS-1$ - } -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/Player.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/Player.java b/debugger/src/flash/tools/debugger/Player.java deleted file mode 100644 index 8b83250..0000000 --- a/debugger/src/flash/tools/debugger/Player.java +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -import java.io.File; - -/** - * Describes a Flash player. - * - * @author mmorearty - */ -public interface Player -{ - /** - * Indicates a standalone Flash player, e.g. FlashPlayer.exe. - * - * @see #getType() - */ - public static final int STANDALONE = 1; - - /** - * Indicates a Netscape-plugin Flash player, e.g. NPSWF32.dll. Used on - * Windows by all Netscape-based browsers (e.g. Firefox etc.), and on Mac - * and Linux by all browsers. - * - * @see #getType() - */ - public static final int NETSCAPE_PLUGIN = 2; - - /** - * Indicates an ActiveX-control Flash player, e.g. Flash.ocx. Used on Windows - * by Internet Explorer. - * - * @see #getType() - */ - public static final int ACTIVEX = 3; - - /** - * Indicates the Flash player inside AIR. - */ - public static final int AIR = 4; - - /** - * Returns what type of Player this is: <code>STANDALONE</code>, <code>NETSCAPE_PLUGIN</code>, - * <code>ACTIVEX</code>, or <code>AIR</code>. - */ - public int getType(); - - /** - * Returns the path to the Flash player file -- e.g. the path to - * FlashPlayer.exe, NPSWF32.dll, Flash.ocx, or adl.exe -- or - * <code>null</code> if not known. (Filenames are obviously - * platform-specific.) - * - * <p> - * Note that the file is not guaranteed to exist. You can use File.exists() - * to test that. - */ - public File getPath(); - - /** - * Returns the web browser with which this player is associated, - * or <code>null</code> if this is the standalone player or AIR, - * or if we're not sure which browser will be run. - */ - public Browser getBrowser(); -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/PlayerDebugException.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/PlayerDebugException.java b/debugger/src/flash/tools/debugger/PlayerDebugException.java deleted file mode 100644 index a8e9f7c..0000000 --- a/debugger/src/flash/tools/debugger/PlayerDebugException.java +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -/** - * PlayerDebugException is the base class for all - * exceptions thrown by the playerdebug API - */ -public class PlayerDebugException extends Exception -{ - private static final long serialVersionUID = 757986761482127248L; - - public PlayerDebugException() { super(); } - public PlayerDebugException(String s) { super(s); } -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/Session.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/Session.java b/debugger/src/flash/tools/debugger/Session.java deleted file mode 100644 index 35ebed4..0000000 --- a/debugger/src/flash/tools/debugger/Session.java +++ /dev/null @@ -1,604 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -import flash.tools.debugger.events.DebugEvent; -import flash.tools.debugger.expression.PlayerFaultException; - -/** - * The Session object manages all aspects of debugging session with - * the Flash Player. A program can be suspended, resumed, single - * stepping can be performed and state information can be obtained - * through this object. - */ -public interface Session -{ - /** - * Returns the URL that identifies this Session. - * Note: this may not be unique across Sessions if - * the same launching mechanism and SWF are used. - * @return URI received from the connected Player. - * It identifies the debugging session - */ - public String getURI(); - - /** - * Returns the Process object, if any, that triggered this Session. - * @return the Process object that was used to create this Session. - * If SessionManager.launch() was not used, then null is returned. - */ - public Process getLaunchProcess(); - - /** - * Adjust the preferences for this session; see SessionManager - * for a list of valid preference strings. - * - * If an invalid preference is passed, it will be silently ignored. - * @param pref preference name, one of the strings listed above - * @param value value to set for preference - */ - public void setPreference(String pref, int value); - - /** - * Return the value of a particular preference item - * - * @param pref preference name, one of the strings listed in <code>SessionManager</code> - * @throws NullPointerException if pref does not exist - * @see SessionManager - */ - public int getPreference(String pref) throws NullPointerException; - - /** - * Is the Player currently connected for this session. This function - * must be thread-safe. - * - * @return true if connection is alive - */ - public boolean isConnected(); - - /** - * Allow the session to start communicating with the player. This - * call must be made PRIOR to any other Session method call. - * @return true if bind was successful. - * @throws VersionException connected to Player which does not support all API completely - */ - public boolean bind() throws VersionException; - - /** - * Permanently stops the debugging session and breaks the - * connection. If this Session is used for any subsequent - * calls exceptions will be thrown. - * <p> - * Note: this method allows the caller to disconnect - * from the debugging session (and Player) without - * terminating the Player. A subsequent call to terminate() - * will destroy the Player process. - * <p> - * Under normal circumstances this method need not be - * called since a call to terminate() performs both - * actions of disconnecting from the Player and destroying - * the Player process. - */ - public void unbind(); - - /** - * Permanently stops the debugging session and breaks the connection. If - * this session ID is used for any subsequent calls exceptions will be - * thrown. - * <p> - * Note that due to platform and browser differences, it should not be - * assumed that this function will necessarily kill the process being - * debugged. For example: - * - * <ul> - * <li> On all platforms, Firefox cannot be terminated. This is because when - * we launch a new instance of Firefox, Firefox actually checks to see if - * there is another already-running instance. If there is, then the new - * instance just passes control to that old instance. So, the debugger - * doesn't know the process ID of the browser. It would be bad to attempt to - * figure out the PID and then kill that process, because the user might - * have other browser windows open that they don't want to lose. </li> - * <li> On Mac, similar problems apply to the Safari and Camino browsers: - * all browsers are launched with /usr/bin/open, so we never know the - * process ID, and we can't kill it. However, for Safari and Camino, what we - * do attempt to do is communicate with the browser via AppleScript, and - * tell it to close the window of the program that is being debugged. </li> - * </ul> - * - * <p> - * If SessionManager.launch() was used to initiate the Session then calling - * this function also causes getLaunchProcess().destroy() to be called. - * <p> - * Note: this method first calls unbind() if needed. - */ - public void terminate(); - - /** - * Continue a halted session. Execution of the ActionScript - * will commence until a reason for halting exists. That - * is, a breakpoint is reached or the <code>suspend()</code> method is called. - * <p> - * This method will NOT block. It will return immediately - * after the Player resumes execution. Use the isSuspended - * method to determine when the Player has halted. - * - * @throws NoResponseException if times out - * @throws NotSuspendedException if Player is already running - * @throws NotConnectedException if Player is disconnected from Session - */ - public void resume() throws NotSuspendedException, NotConnectedException, NoResponseException; - - /** - * Halt a running session. Execution of the ActionScript - * will stop at the next possible breakpoint. - * <p> - * This method WILL BLOCK until the Player halts for some - * reason or an error occurs. During this period, one or - * more callbacks may be initiated. - * - * @throws NoResponseException if times out - * @throws SuspendedException if Player is already suspended - * @throws NotConnectedException if Player is disconnected from Session - */ - public void suspend() throws SuspendedException, NotConnectedException, NoResponseException; - - /** - * Is the Player currently halted awaiting requests, such as continue, - * stepOut, stepIn, stepOver. This function is guaranteed to be thread-safe. - * - * @return true if player halted - * @throws NotConnectedException - * if Player is disconnected from Session - */ - public boolean isSuspended() throws NotConnectedException; - - /** - * Returns a SuspendReason integer which indicates - * why the Player has suspended execution. - * @return see SuspendReason - * @throws NotConnectedException if Player is disconnected from Session - */ - public int suspendReason() throws NotConnectedException; - - /** - * Returns an array of frames that identify the location and contain - * arguments, locals and 'this' information for each frame on the - * function call stack. The 0th frame contains the current location - * and context for the actionscript program. Likewise - * getFrames[getFrames().length] is the topmost (or outermost) frame - * of the call stack. - * @return array of call frames with 0th element representing the current frame. - * @throws NotConnectedException if Player is disconnected from Session - */ - public Frame[] getFrames() throws NotConnectedException; - - /** - * Step to the next executable source line within the - * program, will enter into functions. - * <p> - * This method will NOT block. It will return immediately - * after the Player resumes execution. Use the isSuspended - * method to determine when the Player has halted. - * - * @throws NoResponseException if times out - * @throws NotSuspendedException if Player is running - * @throws NotConnectedException if Player is disconnected from Session - */ - public void stepInto() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Step out of the current method/function onto the - * next executable soruce line. - * <p> - * This method will NOT block. It will return immediately - * after the Player resumes execution. Use the isSuspended - * method to determine when the Player has halted. - * - * @throws NoResponseException if times out - * @throws NotSuspendedException if Player is running - * @throws NotConnectedException if Player is disconnected from Session - */ - public void stepOut() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Step to the next executable source line within - * the program, will NOT enter into functions. - * <p> - * This method will NOT block. It will return immediately - * after the Player resumes execution. Use the isSuspended - * method to determine when the Player has halted. - * - * @throws NoResponseException if times out - * @throws NotSuspendedException if Player is running - * @throws NotConnectedException if Player is disconnected from Session - */ - public void stepOver() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Continue the process of stepping. - * This call should only be issued if a previous - * stepXXX() call was made and the Player suspended - * execution due to a breakpoint being hit. - * That is getSuspendReason() == SuspendReason.Break - * This operation can be used for assisting with - * the processing of conditional breakpoints. - * @throws NoResponseException if times out - * @throws NotSuspendedException if Player is running - * @throws NotConnectedException if Player is disconnected from Session - */ - public void stepContinue() throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Obtain information about the various SWF(s) that have been - * loaded into the Player, for this session. - * - * Note: As SWFs are loaded by the Player a SwfLoadedEvent is - * fired. At this point, a call to getSwfInfo() will provide - * updated information. - * - * @return array of records describing the SWFs - * @throws NoResponseException if times out - */ - public SwfInfo[] getSwfs() throws NoResponseException; - - /** - * Get a list of the current breakpoints. No specific ordering - * of the breakpoints is implied by the array. - * @return breakpoints currently set. - * @throws NoResponseException if times out - * @throws NotConnectedException if Player is disconnected from Session - */ - public Location[] getBreakpointList() throws NoResponseException, NotConnectedException; - - /** - * Set a breakpoint on a line within the given file. - * <p> - * <em>Warning:</em> <code>setBreakpoint()</code> and - * <code>clearBreakpoint()</code> do not keep track of how many times they - * have been called for a given Location. For example, if you make two calls - * to <code>setBreakpoint()</code> for file X.as line 10, and then one - * call to <code>clearBreakpoint()</code> for that same file and line, - * then the breakpoint is gone. So, the caller is responsible for keeping - * track of whether the user has set two breakpoints at the same location. - * - * @return null if breakpoint not set, otherwise - * Location of breakpoint. - * @throws NoResponseException if times out - * @throws NotConnectedException if Player is disconnected from Session - */ - public Location setBreakpoint(int fileId, int lineNum) throws NoResponseException, NotConnectedException; - - /** - * Remove a breakpoint at given location. The Location obtain can be a - * clone/copy of a Location object returned from a previous call to - * getBreakpointList(). - * <p> - * <em>Warning:</em> <code>setBreakpoint()</code> and - * <code>clearBreakpoint()</code> do not keep track of how many times they - * have been called for a given Location. For example, if you make two calls - * to <code>setBreakpoint()</code> for file X.as line 10, and then one - * call to <code>clearBreakpoint()</code> for that same file and line, - * then the breakpoint is gone. So, the caller is responsible for keeping - * track of whether the user has set two breakpoints at the same location. - * - * @return null if breakpoint was not removed. - * @throws NoResponseException - * if times out - * @throws NotConnectedException - * if Player is disconnected from Session - */ - public Location clearBreakpoint(Location location) throws NoResponseException, NotConnectedException; - - /** - * Get a list of the current watchpoint. No specific ordering - * of the watchpoints is implied by the array. Also, the - * list may contain watchpoints that are no longer relevant due - * to the variable going out of scope. - * @return watchpoints currently set. - * @throws NoResponseException if times out - * @throws NotConnectedException if Player is disconnected from Session - * @since Version 2 - */ - public Watch[] getWatchList() throws NoResponseException, NotConnectedException; - - /** - * Set a watchpoint on a given variable. A watchpoint is used - * to suspend Player execution upon access of a particular variable. - * If the variable upon which the watchpoint is set goes out of scope, - * the watchpoint will NOT be automatically removed. - * <p> - * Specification of the variable item to be watched requires two - * pieces of information (similar to setScalarMember()) - * The Variable and the name of the particular member to be watched - * within the variable. - * For example if the watchpoint is to be applied to 'a.b.c'. First the - * Value for object 'a.b' must be obtained and then the call - * setWatch(v, "c", ...) can be issued. - * The watchpoint can be triggered (i.e. the Player suspended) when either a read - * or write (or either) occurs on the variable. If the Player is suspended - * due to a watchpoint being fired, then the suspendReason() call will - * return SuspendReason.WATCH. - * <p> - * Setting a watchpoint multiple times on the same variable will result - * in the old watchpoint being removed from the list and a new watchpoint - * being added to the end of the list. - * <p> - * Likewise, if a previously existing watchpoint is modified by - * specifiying a different kind variable then the old watchpoint - * will be removed from the list and a new watchpoint will be added - * to the end of the list. - * - * @param v the variable, upon whose member, the watch is to be placed. - * @param varName is the mmeber name upon which the watch - * should be placed. This variable name may NOT contain the dot ('.') - * character and MUST be a member of v. - * @param kind access type that will trigger the watchpoint to fire -- - * read, write, or read/write. See <code>WatchKind</code>. - * @return null if watchpoint was not created. - * @throws NoResponseException if times out - * @throws NotConnectedException if Player is disconnected from Session - * @throws NotSupportedException if the Player does not support watchpoints, - * or does not support watchpoints on this particular member (e.g. because - * it is a getter or a dynamic variable). - * @since Version 2 - * @see WatchKind - */ - public Watch setWatch(Value v, String memberName, int kind) throws NoResponseException, NotConnectedException, NotSupportedException; - - /** - * Enables or disables a watchpoint. - * - * @param watch - * the watch to enable or disable - * @param enabled - * whether to enable it or disable it - * @throws NotSupportedException - * @throws NotConnectedException - * @throws NoResponseException - */ - public Watch setWatch(Watch watch) throws NoResponseException, NotConnectedException, NotSupportedException; - - /** - * Remove a previously created watchpoint. The watchpoint - * that was removed will be returned upon a sucessful call. - * @return null if watchpoint was not removed. - * @throws NoResponseException if times out - * @throws NotConnectedException if Player is disconnected from Session - * @since Version 2 - */ - public Watch clearWatch(Watch watch) throws NoResponseException, NotConnectedException; - - /** - * Obtains a list of variables that are local to the current - * halted state. - * @deprecated As of version 2. - * @see Frame#getLocals - */ - public Variable[] getVariableList() throws NotSuspendedException, NoResponseException, NotConnectedException, VersionException; - - /** - * From a given value identifier return a Value. This call - * allows tools to access a specific value whenever the Player has - * suspended. A Value's id is maintained for the life of the - * Value and is guaranteed not to change. Values that - * go out of scope are no longer accessible and will result - * in a null being returned. Also note, that scalar - * variables do not contain an id that can be referenced in - * this manner. Therefore the caller must also maintain the - * 'context' in which the variable was obtained. For example - * if a Number b exists on a, then the reference 'a.b' must be - * managed, as the id of 'a' will be needed to obtain the - * value of 'b'. - * @param valueId identifier from Value class or - * from a call to Value.getId() - * @return null, if value cannot be found or - * value with the specific id. - * @throws NoResponseException if times out - * @throws NotSuspendedException if Player is running - * @throws NotConnectedException if Player is disconnected from Session - */ - public Value getValue(long valueId) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Looks up a global name, like "MyClass", "String", etc. - * - * @return its value, or <code>null</code> if the global does not exist. - */ - public Value getGlobal(String name) throws NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Events provide a mechanism whereby status information is provided from - * the Player in a timely fashion. - * <p> - * The caller has the option of either polling the event queue via - * <code>nextEvent()</code> or calling <code>waitForEvent()</code> which - * blocks the calling thread until one or more events exist in the queue. - * - * @throws NotConnectedException - * if Session is disconnected from Player - * @throws InterruptedException - */ - public void waitForEvent() throws NotConnectedException, InterruptedException; - - /** - * Returns the number of events currently in the queue. This function - * is guaranteed to be thread-safe. - */ - public int getEventCount(); - - /** - * Removes and returns the next event from queue - */ - public DebugEvent nextEvent(); - - /** - * Gets the SourceLocator for this session. If none has been - * specified, returns null. - */ - public SourceLocator getSourceLocator(); - - /** - * Sets the SourceLocator for this session. This can be used in order - * to override the default rules used for finding source files. - */ - public void setSourceLocator(SourceLocator sourceLocator); - - /** - * Invokes a constructor in the player. Returns the newly created object. - * Not supported in Player 9 or AIR 1.0. If you call this function and the - * player to which you are connected doesn't support this feature, this will - * throw a PlayerDebugException. - */ - public Value callConstructor(String classname, Value[] args) throws PlayerDebugException; - - /** - * Invokes a function. For example, calling - * <code>callFunction(myobj, "toString", new Value[0])</code> will call - * <code>myobj.toString()</code>. Not supported in Player 9 or AIR 1.0. - * If you call this function and the player to which you are connected - * doesn't support this feature, this will throw a PlayerDebugException. - */ - public Value callFunction(Value thisObject, String functionName, Value[] args) throws PlayerDebugException; - - /** - * The player always halts on exceptions that are not going to be caught; - * this call allows the debugger to control its behavior when an exception - * that *will* be caught is thrown. - * - * @throws NotSupportedException - * thrown by older players that don't support this feature. - * @throws NoResponseException - */ - public void breakOnCaughtExceptions(boolean b) throws NotSupportedException, NoResponseException; - - /** - * Evaluate the ActionScript expression "value is type" - * - * @throws PlayerDebugException - * @throws PlayerFaultException - */ - public boolean evalIs(Value value, Value type) throws PlayerDebugException, PlayerFaultException; - - /** - * Evaluate the ActionScript expression "value is type" - * - * @throws PlayerDebugException - * @throws PlayerFaultException - */ - public boolean evalIs(Value value, String type) throws PlayerDebugException, PlayerFaultException; - - /** - * Evaluate the ActionScript expression "value instanceof type" - * - * @throws PlayerFaultException - * @throws PlayerDebugException - */ - public boolean evalInstanceof(Value value, Value type) throws PlayerDebugException, PlayerFaultException; - - /** - * Evaluate the ActionScript expression "value instanceof type" - * - * @throws PlayerFaultException - * @throws PlayerDebugException - */ - public boolean evalInstanceof(Value value, String type) throws PlayerDebugException, PlayerFaultException; - - /** - * Evaluate the ActionScript expression "property in object" - * - * @throws PlayerFaultException - * @throws PlayerDebugException - */ - public boolean evalIn(Value property, Value object) throws PlayerDebugException, PlayerFaultException; - - /** - * Evaluate the ActionScript expression "value as type" - * - * @throws PlayerDebugException - * @throws PlayerFaultException - */ - public Value evalAs(Value value, Value type) throws PlayerDebugException, PlayerFaultException; - - /** - * Returns whether the target player supports watchpoints. - * @see #setWatch(Value, String, int) - */ - public boolean supportsWatchpoints(); - - /** - * Returns the root SocketException that caused the rxMessage() - * thread to shut down. This works in conjunction with - * PREF_SOCKET_TIMEOUT and helps in detecting broken connections. - */ - public Exception getDisconnectCause(); - - /** - * Set an exception breakpoint. Returns true if succeeded. - * @param exceptionClass - * @return - * @throws NoResponseException - * @throws NotConnectedException - */ - public boolean setExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException; - - /** - * Clears an exception breakpoint. Returns true if succeeded. - * @param exceptionClass - * @return - * @throws NoResponseException - * @throws NotConnectedException - */ - public boolean clearExceptionBreakpoint(String exceptionClass) throws NoResponseException, NotConnectedException; - - // Concurrency begin - - /** - * Returns whether the target player supports concurrency. - * @see #setActiveIsolate(Value) - */ - public boolean supportsConcurrency(); - - /** - * Get an array of all workers that the debugger knows of. - */ - public Isolate[] getWorkers(); - - /** - * Ask the player again for a list of all workers. Use this - * method with caution as it will also reset all state about - * workers that the debugger is aware of. - */ - public Isolate[] refreshWorkers() throws NotSupportedException, NotSuspendedException, NoResponseException, NotConnectedException; - - /** - * Return the worker specific session object that can be used - * to communicate with that worker. - */ - public IsolateSession getWorkerSession(int isolateId); - - /** - * - * Sets the ILauncher instance which is associated with this session. - * ILauncher instance is used to terminate the process at the end of the debugging session. - * - * @param launcher - * ILauncher instance used to launch & terminate the process. - */ - public void setLauncher(ILauncher launcher); - -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/SessionManager.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/SessionManager.java b/debugger/src/flash/tools/debugger/SessionManager.java deleted file mode 100644 index e67e68b..0000000 --- a/debugger/src/flash/tools/debugger/SessionManager.java +++ /dev/null @@ -1,390 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -import java.io.IOException; - -/** - * A SessionManager controls connection establishment and preferences - * for all debugging sessions with the Flash Player. - * - * To begin a new debugging session: - * - * <ol> - * <li> Get a <code>SessionManager</code> from <code>Bootstrap.sessionManager()</code> </li> - * <li> Call <code>SessionManager.startListening()</code> </li> - * <li> If you want to have the API launch the Flash Player for you, call - * <code>SessionManager.launch()</code>. If you want to launch the Flash Player - * and then have the API connect to it, then launch the Flash Player and then - * call <code>SessionManager.accept()</code>. <em>Note:</em> <code>launch()</code> - * and <code>accept()</code> are both blocking calls, so you probably don't want - * to call them from your main UI thread. </li> - * <li> Finally, call <code>SessionManager.stopListening()</code>. - * </ol> - */ -public interface SessionManager -{ - /** - * The preferences are set using the setPreference() method, and - * take effect immediately thereafter. - */ - - /** - * The value used for <code>$accepttimeout</code> controls how long (in - * milliseconds) <code>accept()</code> waits before timing out. The - * default value for this preference is 120000 (2 minutes). - */ - public static final String PREF_ACCEPT_TIMEOUT = "$accepttimeout"; //$NON-NLS-1$ - - /** - * Valid values for <code>$urimodification</code> are 0 (off) and 1 (on). - * The default value is 1 (on), which allows this API to modify the URI - * passed to <code>launch()</code> as necessary for creating a debuggable - * version of an MXML file. - */ - public static final String PREF_URI_MODIFICATION = "$urimodification"; //$NON-NLS-1$ - - /** - *----------------------------------------------------------------- - * The following are Session specific preferences. These can be - * modified in this class, resulting in all future sessions using - * the values or they can be modified at the session level via - * Session.setPreference(). - *----------------------------------------------------------------- - */ - - /** - * <code>$responsetimeout</code> is used to determine how long (in - * milliseconds) the session will wait, for a player response before giving - * up on the request and throwing an Exception. - */ - public static final String PREF_RESPONSE_TIMEOUT = "$responsetimeout"; //$NON-NLS-1$ - - /** - * <code>$sockettimeout</code> is used to determine how long (in - * milliseconds) the session will wait on a Socket recv call. - * On timeout, we do not immediately abort the session, instead we - * write a squelch message to player. If the write succeeds, we assume - * everything is normal.This helps identify broken connections that - * are relevant when performing WiFi debugging. - * This is -1 by default to indicate no timeout - * (for backward compatibility). - */ - public static final String PREF_SOCKET_TIMEOUT = "$sockettimeout"; //$NON-NLS-1$ - - /** - * <code>$contextresponsetimeout</code> is used to determine how long (in - * milliseconds) the session will wait for a player response from a request - * to get context, before giving up on the request and throwing an - * Exception. - */ - public static final String PREF_CONTEXT_RESPONSE_TIMEOUT = "$contextresponsetimeout"; //$NON-NLS-1$ - - /** - * <code>$getvarresponsetimeout</code> is used to determine how long (in - * milliseconds) the session will wait, for a player response to a get - * variable request before giving up on the request and throwing an - * Exception. - */ - public static final String PREF_GETVAR_RESPONSE_TIMEOUT = "$getvarresponsetimeout"; //$NON-NLS-1$ - - /** - * <code>$setvarresponsetimeout</code> is the amount of time (in - * milliseconds) that a setter in the user's code will be given to execute, - * before the player interrupts it with a ScriptTimeoutError. Default value - * is 5000 ms. - */ - public static final String PREF_SETVAR_RESPONSE_TIMEOUT = "$setvarresponsetimeout"; //$NON-NLS-1$ - - /** - * <code>$swfswdloadtimeout<code> is used to determine how long (in milliseconds) - * the session will wait, for a player response to a swf/swd load - * request before giving up on the request and throwing an Exception. - */ - public static final String PREF_SWFSWD_LOAD_TIMEOUT = "$swfswdloadtimeout"; //$NON-NLS-1$ - - /** - * <code>$suspendwait</code> is the amount of time (in milliseconds) that - * a Session will wait for the Player to suspend, after a call to - * <code>suspend()</code>. - */ - public static final String PREF_SUSPEND_WAIT = "$suspendwait"; //$NON-NLS-1$ - - /** - * <code>$invokegetters</code> is used to determine whether a getter - * property is invoked or not when requested via <code>getVariable()</code> - * The default value is for this to be enabled. - */ - public static final String PREF_INVOKE_GETTERS = "$invokegetters"; //$NON-NLS-1$ - - public static final String PLAYER_SUPPORTS_GET = "$playersupportsget"; //$NON-NLS-1$ - - /** - * <code>$hiervars</code> is used to determine whether the members of - * a variable are shown in a hierchical way. - */ - public static final String PREF_HIERARCHICAL_VARIABLES = "$hiervars"; //$NON-NLS-1$ - - /** - * The value used for <code>$connecttimeout</code> controls how long (in - * milliseconds) <code>connect()</code> waits before timing out. The - * default value for this preference is 120000 (2 minutes). - */ - public static final String PREF_CONNECT_TIMEOUT = "$connecttimeout"; //$NON-NLS-1$ - - /** - * The value used for <code>$connectwaitinterval</code> controls how long (in - * milliseconds) we wait between subsequent <code>connect()</code> calls. The - * default value for this preference is 250. - */ - public static final String PREF_CONNECT_WAIT_INTERVAL = "$connectwaitinterval"; //$NON-NLS-1$ - - /** - * The value used for <code>$connectretryattempts</code> controls how many times - * the debugger retries connecting to the application. This is time bound by - * <code>$connecttimeout</code>. The default value for this preference is -1 and - * indicates that the debugger should retry till the timeout period has elapsed. - * Setting this to zero will disable the retry mechanism. - */ - public static final String PREF_CONNECT_RETRY_ATTEMPTS = "$connectretryattempts"; //$NON-NLS-1$ - - /** - * Set preference for this manager and for subsequent Sessions - * that are initiated after this call. - * - * If an invalid preference is passed, it will be silently ignored. - * @param pref preference name, one of the strings listed above - * @param value value to set for preference - */ - public void setPreference(String pref, int value); - - /** - * Set preference for this manager and for subsequent Sessions - * that are initiated after this call. - * - * If an invalid preference is passed, it will be silently ignored. - * @param pref preference name, one of the strings listed above - * @param value value to set for preference - */ - public void setPreference(String pref, String value); - - /** - * Return the value of a particular preference item - * - * @param pref preference name, one of the strings listed above - * @throws NullPointerException if pref does not exist - */ - public int getPreference(String pref) throws NullPointerException; - - /** - * Listens for Player attempts to open a debug session. This method must be - * called prior to <code>accept()</code> being invoked. - * - * @throws IOException - * if opening the server side socket fails - */ - public void startListening() throws IOException; - - /** - * Stops listening for new Player attempts to open a debug session. The - * method DOES NOT terminate currently connected sessions, but will cause - * threads blocked in <code>accept</code> to throw SocketExceptions. - */ - public void stopListening() throws IOException; - - /** - * Is this object currently listening for Debug Player connections - * @return TRUE currently listening - */ - public boolean isListening(); - - /** - * Launches a Player using the given string as a URI, as defined by RFC2396. - * It is expected that the operating system will be able to launch the - * appropriate player application given this URI. - * <p> - * For example "http://localhost:8100/flex/my.mxml" or for a local file on - * Windows, "file://c:/my.swf" - * <p> - * This call will block until a session with the newly launched player is - * created. - * <p> - * It is the caller's responsibility to ensure that no other thread is - * blocking in <code>accept()</code>, since that thread will gain control - * of this session. - * <p> - * Before calling <code>launch()</code>, you should first call - * <code>supportsLaunch()</code>. If <code>supportsLaunch()</code> - * returns false, then you will have to tell the user to manually launch the - * Flash player. - * <p> - * Also, before calling <code>launch()</code>, you must call - * <code>startListening()</code>. - * - * @param uri - * which will launch a Flash player under running OS. For - * Flash/Flex apps, this can point to either a SWF or an HTML - * file. For AIR apps, this must point to the application.xml - * file for the application. - * @param airLaunchInfo - * If trying to launch an AIR application, this argument must be - * specified; it gives more information about how to do the - * launch. If trying to launch a regular web-based Flash or Flex - * application, such as one that will be in a browser or in the - * standalone Flash Player, this argument should be - * <code>null</code>. - * @param forDebugging - * if <code>true</code>, then the launch is for the purposes - * of debugging. If <code>false</code>, then the launch is - * simply because the user wants to run the movie but not debug - * it; in that case, the return value of this function will be - * <code>null</code>. - * @param waitReporter - * a progress monitor to allow accept() to notify its parent how - * long it has been waiting for the Flash player to connect to - * it. May be <code>null</code> if the caller doesn't need to - * know how long it's been waiting. - * @param launchNotification - * a notifier to notify the caller about ADL Exit Code. - * Main usage is for ADL Exit Code 1 (Successful invocation of an - * already running AIR application. ADL exits immediately). - * May be <code>null</code> if no need to listen ADL. - * Will only be called if forDebugging is false. (If forDebugging - * is true, error conditions are handled by throwing an exception.) - * The callback will be called on a different thread. - * @return a Session to use for debugging, or null if forDebugging==false. - * The return value is not used to indicate an error -- exceptions - * are used for that. If this function returns without throwing an - * exception, then the return value will always be non-null if - * forDebugging==true, or null if forDebugging==false. - * @throws BindException - * if <code>isListening()</code> == false - * @throws FileNotFoundException - * if file cannot be located - * @throws CommandLineException - * if the program that was launched exited unexpectedly. This - * will be returned, for example, when launching an AIR - * application, if adl exits with an error code. - * CommandLineException includes functions to return any error - * text that may have been sent to stdout/stderr, and the exit - * code of the program. - * @throws IOException - * see Runtime.exec() - */ - public Session launch(String uri, AIRLaunchInfo airLaunchInfo, - boolean forDebugging, IProgress waitReporter, ILaunchNotification launchNotification) throws IOException; - - /** - * Returns information about the Flash player which will be used to run the - * given URI. - * - * @param uri - * The URI which will be passed to <code>launch()</code> -- for - * example, <code>http://flexserver/mymovie.mxml</code> or - * <code>c:\mymovie.swf</code>. If launching an AIR app, this - * should point to the app's *-app.xml file. - * @param airLaunchInfo - * If launching an AIR app, this should, if possible, contain - * info about the version of AIR being launched, but it can be - * null if you don't have that information. If launching a - * web-based app, this should be null. - * @return a {@link Player} which can be used to determine information about - * the player -- for example, whether it is a debugger-enabled - * player. Returns <code>null</code> if the player cannot be - * determined. <em>Important:</em> There are valid situations in - * which this will return <code>null</code> - */ - public Player playerForUri(String uri, AIRLaunchInfo airLaunchInfo); - - /** - * Returns whether this platform supports the <code>launch()</code> - * command; that is, whether the debugger can programmatically launch the - * Flash player. If this function returns false, then the debugger will have - * to tell the user to manually launch the Flash player. - * - * @return true if this platform supports the <code>launch()</code> - * command. - */ - public boolean supportsLaunch(); - - /** - * Blocks until the next available player debug session commences, or until - * <code>getPreference(PREF_ACCEPT_TIMEOUT)</code> milliseconds pass. - * <p> - * Before calling <code>launch()</code>, you must call - * <code>startListening()</code>. - * <p> - * Once a Session is obtained, Session.bind() must be called prior to any - * other Session method. - * - * @param waitReporter - * a progress monitor to allow accept() to notify its parent how - * long it has been waiting for the Flash player to connect to it. - * May be <code>null</code> if the caller doesn't need to know how - * long it's been waiting. - * @throws BindException - * if isListening() == false - * @throws IOException - - * see java.net.ServerSocket.accept() - */ - public Session accept(IProgress waitReporter) throws IOException; - - /** - * Tells the session manager to use the specified IDebuggerCallbacks for - * performing certain operatios, such as finding the Flash Player and - * launching the debug target. If you do not call this, the session manager - * will use a <code>DefaultDebuggerCallbacks</code> object. - */ - public void setDebuggerCallbacks(IDebuggerCallbacks debugger); - - /** - * Initiate a debug session by connecting to the specified port. Blocks - * until a connection is made, or until - * <code>getPreference(PREF_CONNECT_TIMEOUT)</code> milliseconds pass. - * <p> - * This work-flow is a reverse of <code>accept()</code> and suited for - * cases where the player is unable to initiate the connection. The - * player must be listening on the specified port for an incoming debug - * connection. In addition, this function calls bind() on the session - * to determine if the handshake was successful so that retry works - * correctly even across port-forwards. - * <p> - * Use <code>stopConnecting()</code> to cancel connect, - * <code>isConnecting()</code> to check if we are currently trying to - * connect. - * - * @param port - The port to connect to. See DProtocol.DEBUG_CONNECT_PORT. - * @param waitReporter - * @return A Session object on which bind() has already been called. - * @throws IOException - This may have a wrapped VersionException due to bind() - */ - public Session connect(int port, IProgress waitReporter) throws IOException; - - /** - * Stops connecting to the Player for a debug session. The - * method DOES NOT terminate currently connected sessions, but will cause - * threads blocked in <code>connect</code> to throw SocketExceptions. - */ - public void stopConnecting() throws IOException; - - /** - * Is this object currently connecting to the Debug Player - * @return TRUE currently connecting - */ - public boolean isConnecting(); -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/SessionManager2.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/SessionManager2.java b/debugger/src/flash/tools/debugger/SessionManager2.java deleted file mode 100644 index c1801d9..0000000 --- a/debugger/src/flash/tools/debugger/SessionManager2.java +++ /dev/null @@ -1,184 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package flash.tools.debugger; - -import java.io.IOException; - -public interface SessionManager2 extends SessionManager { - - /** - * This is, functionally, a clone of the SessionManager.launch() method. There are however some differences. - * -This is to be called only for run launches. only for debug launches, the launch() method creates a Session and - * binds it to the launch and since the launch() method returns the Session, which will be null in a Run Launch case, - * we have no way of accessing the Process that was created for the launch. - * -To enable auto termination of run launches, we need to know the system Process for us to terminate it when - * necessary. - * -This method creates the process and binds a process listener to it and then returns the process. - * - * - * @param uri - * which will launch a Flash player under running OS. For - * Flash/Flex apps, this can point to either a SWF or an HTML - * file. For AIR apps, this must point to the application.xml - * file for the application. - * @param airLaunchInfo - * If trying to launch an AIR application, this argument must be - * specified; it gives more information about how to do the - * launch. If trying to launch a regular web-based Flash or Flex - * application, such as one that will be in a browser or in the - * standalone Flash Player, this argument should be - * <code>null</code>. - * @param waitReporter - * a progress monitor to allow accept() to notify its parent how - * long it has been waiting for the Flash player to connect to - * it. May be <code>null</code> if the caller doesn't need to - * know how long it's been waiting. - * @param launchNotification - * a notifier to notify the caller about ADL Exit Code. - * Main usage is for ADL Exit Code 1 (Successful invocation of an - * already running AIR application. ADL exits immediately). - * May be <code>null</code> if no need to listen ADL. - * The callback will be called on a different thread. - * @return a Process to use for the run launch. - * The return value is not used to indicate an error -- exceptions - * are used for that. If this function returns without throwing an - * exception, then the return value will always be non-null. - * @throws IOException - * see Runtime.exec() - */ - public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo, - IProgress waitReporter, ILaunchNotification launchNotification) throws IOException; - /** - * This is, functionally, a clone of the SessionManager.launch() method. There are however some differences. - * -This is to be called only for run launches. only for debug launches, the launch() method creates a Session and - * binds it to the launch and since the launch() method returns the Session, which will be null in a Run Launch case, - * we have no way of accessing the Process that was created for the launch. - * -To enable auto termination of run launches, we need to know the system Process for us to terminate it when - * necessary. - * -This method creates the process and binds a process listener to it and then returns the process. - * - * - This method used the ILauncher instance passed to launch the application. - * - * @param uri - * which will launch a Flash player under running OS. For - * Flash/Flex apps, this can point to either a SWF or an HTML - * file. For AIR apps, this must point to the application.xml - * file for the application. - * @param airLaunchInfo - * If trying to launch an AIR application, this argument must be - * specified; it gives more information about how to do the - * launch. If trying to launch a regular web-based Flash or Flex - * application, such as one that will be in a browser or in the - * standalone Flash Player, this argument should be - * <code>null</code>. - * @param waitReporter - * a progress monitor to allow accept() to notify its parent how - * long it has been waiting for the Flash player to connect to - * it. May be <code>null</code> if the caller doesn't need to - * know how long it's been waiting. - * @param launchNotification - * a notifier to notify the caller about ADL Exit Code. - * Main usage is for ADL Exit Code 1 (Successful invocation of an - * already running AIR application. ADL exits immediately). - * May be <code>null</code> if no need to listen ADL. - * The callback will be called on a different thread. - * @param launcher - * a launcher instance which will be used to launch. - * @return a Process to use for the run launch. - * The return value is not used to indicate an error -- exceptions - * are used for that. If this function returns without throwing an - * exception, then the return value will always be non-null. - * @throws IOException - */ - public Process launchForRun(String uri, AIRLaunchInfo airLaunchInfo, - IProgress waitReporter, ILaunchNotification launchNotification, ILauncher launcher) throws IOException; - - - /** - * Launches the given string as a URI using the ILauncher Instance. - * - * This API is to provide more flexibility to handle the Player launch in different platforms. - * - * This call will block until a session with the newly launched player is - * created. - * <p> - * It is the caller's responsibility to ensure that no other thread is - * blocking in <code>accept()</code>, since that thread will gain control - * of this session. - * <p> - * Before calling <code>launch()</code>, you should first call - * <code>supportsLaunch()</code>. If <code>supportsLaunch()</code> - * returns false, then you will have to tell the user to manually launch the - * Flash player. - * <p> - * Also, before calling <code>launch()</code>, you must call - * <code>startListening()</code>. - * - * @param uri - * which will launch a Flash player under running OS. For - * Flash/Flex apps, this can point to either a SWF or an HTML - * file. For AIR apps, this must point to the application.xml - * file for the application. - * @param airLaunchInfo - * If trying to launch an AIR application, this argument must be - * specified; it gives more information about how to do the - * launch. If trying to launch a regular web-based Flash or Flex - * application, such as one that will be in a browser or in the - * standalone Flash Player, this argument should be - * <code>null</code>. - * @param forDebugging - * if <code>true</code>, then the launch is for the purposes - * of debugging. If <code>false</code>, then the launch is - * simply because the user wants to run the movie but not debug - * it; in that case, the return value of this function will be - * <code>null</code>. - * @param waitReporter - * a progress monitor to allow accept() to notify its parent how - * long it has been waiting for the Flash player to connect to - * it. May be <code>null</code> if the caller doesn't need to - * know how long it's been waiting. - * @param launchNotification - * a notifier to notify the caller about ADL Exit Code. - * Main usage is for ADL Exit Code 1 (Successful invocation of an - * already running AIR application. ADL exits immediately). - * May be <code>null</code> if no need to listen ADL. - * Will only be called if forDebugging is false. (If forDebugging - * is true, error conditions are handled by throwing an exception.) - * The callback will be called on a different thread. - * @return a Session to use for debugging, or null if forDebugging==false. - * The return value is not used to indicate an error -- exceptions - * are used for that. If this function returns without throwing an - * exception, then the return value will always be non-null if - * forDebugging==true, or null if forDebugging==false. - * @throws BindException - * if <code>isListening()</code> == false - * @throws FileNotFoundException - * if file cannot be located - * @throws CommandLineException - * if the program that was launched exited unexpectedly. This - * will be returned, for example, when launching an AIR - * application, if adl exits with an error code. - * CommandLineException includes functions to return any error - * text that may have been sent to stdout/stderr, and the exit - * code of the program. - * @throws IOException - * Exception during launch. - */ - public Session launch(String uri, AIRLaunchInfo airLaunchInfo, - boolean forDebugging, IProgress waitReporter, ILaunchNotification launchNotification, ILauncher launcher) throws IOException; - -} http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/07f5a7de/debugger/src/flash/tools/debugger/SourceFile.java ---------------------------------------------------------------------- diff --git a/debugger/src/flash/tools/debugger/SourceFile.java b/debugger/src/flash/tools/debugger/SourceFile.java deleted file mode 100644 index 6fe0978..0000000 --- a/debugger/src/flash/tools/debugger/SourceFile.java +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package flash.tools.debugger; - -/** - * A SourceFile contains information about a specific segment - * of ActionScript source code. The source code could be - * derived from a number of locations; an ActionScript file, a - * snip-it of code from a frame, compiler generated code, etc. - */ -public interface SourceFile -{ - /** - * Base path for this filename, without the package-name portion. For - * example, if class mx.controls.Button.as was in - * C:\flex\sdk\frameworks\mx\controls\Button.as, then getBasePath() - * would return "C:\flex\sdk\frameworks" (note that the "mx\controls" - * part would NOT be returned). - * @return base path, or null - */ - public String getBasePath(); - - /** - * Get the package name portion of the path for this file. For example, if - * class mx.controls.Button.as was in - * C:\flex\sdk\frameworks\mx\controls\Button.as, then getPackageName() would - * return "mx\controls". - * - * @return package name, or "" (never null) - */ - public String getPackageName(); - - /** - * File name of this SourceFile. In the case of a disk-based SourceFile, - * this is the same as the filename with no path, e.g. 'myfile.as' - * @return filename, or "" (never null) - */ - public String getName(); - - /** - * Full path and file name, if its exists, for this SourceFile. For - * disk-based SourceFiles, this is equivalent to - * <code>getBasePath + slash + getPackageName() + slash + getName()</code> - * where "slash" is a platform-specific slash character. - * @return path, never null - */ - public String getFullPath(); - - /** - * Raw, unprocessed file name for this SourceFile. - * @since As of Version 2 - */ - public String getRawName(); - - /** - * Returns the number of source lines in the given file - * @return -1 indicates an error. Call getError() to - * obtain specific reason code. - */ - public int getLineCount(); - - /** - * Return a unique identifier for this SourceFile. - */ - public int getId(); - - /** - * Obtains the textual content of the given line - * from within a source file. - * Line numbers start at 1 and go to getLineCount(). - * - * @return the line of source of the file. Any carriage - * return and/or line feed are stripped from the - * end of the string. - */ - public String getLine(int lineNum); - - /** - *--------------------------------------------------- - * WARNING: The functions below will return null - * and/or 0 values while - * Session.fileMetaDataLoaded() is false. - *--------------------------------------------------- - */ - - /** - * Return the function name for a given line number, or <code>null</code> - * if not known or if the line matches more than one function. - * @since Version 3. - */ - public String getFunctionNameForLine(Session s, int lineNum); - - /** - * Return the line number for the given function name - * if it doesn't exists -1 is returned - */ - public int getLineForFunctionName(Session s, String name); - - /** - * Get a list of all function names for this SourceFile - */ - public String[] getFunctionNames(Session s); - - /** - * Return the offset within the SWF for a given line - * number. - */ - public int getOffsetForLine(int lineNum); -}
