├── .gitignore ├── .jacocoverage └── project.json ├── LICENSE ├── README.md ├── build.xml ├── manifest.mf ├── nbproject ├── build-impl.xml ├── genfiles.properties ├── licenseheader.txt ├── project.properties └── project.xml └── src └── com └── jpexs └── debugger └── flash ├── DebugConnectionListener.java ├── DebugMessageListener.java ├── Debugger.java ├── DebuggerCommands.java ├── DebuggerConnection.java ├── DebuggerMessage.java ├── GetVariableFlag.java ├── InDebuggerMessage.java ├── OutDebuggerMessage.java ├── SWD.java ├── Value.java ├── Variable.java ├── VariableFlags.java ├── VariableType.java └── messages ├── in ├── InAskBreakpoints.java ├── InBinaryOp.java ├── InBreakAt.java ├── InBreakAtExt.java ├── InBreakReason.java ├── InCallFunction.java ├── InConstantPool.java ├── InContinue.java ├── InDeleteVariable.java ├── InErrorConsole.java ├── InErrorException.java ├── InErrorExecLimit.java ├── InErrorProtoLimit.java ├── InErrorScriptStuck.java ├── InErrorStackUnderflow.java ├── InErrorTarget.java ├── InErrorURLOpen.java ├── InErrorWith.java ├── InErrorZeroDivide.java ├── InExit.java ├── InFrame.java ├── InGetActions.java ├── InGetFncNames.java ├── InGetSwd.java ├── InGetSwf.java ├── InGetVariable.java ├── InIsolate.java ├── InIsolateCreate.java ├── InIsolateEnumerate.java ├── InIsolateExit.java ├── InNewObject.java ├── InNotSynced.java ├── InNumScript.java ├── InOption.java ├── InParam.java ├── InPassAllExceptionsToDebugger.java ├── InPlaceObject.java ├── InProcessTag.java ├── InRemoveBreakpoint.java ├── InRemoveExceptionBreakpoint.java ├── InRemoveObject.java ├── InRemoveScript.java ├── InScript.java ├── InSetActiveIsolate.java ├── InSetBreakpoint.java ├── InSetExceptionBreakpoint.java ├── InSetLocalVariables.java ├── InSetMenuState.java ├── InSetProperty.java ├── InSetVariable.java ├── InSetVariable2.java ├── InSquelch.java ├── InSwfInfo.java ├── InTrace.java ├── InUnknown.java ├── InVersion.java ├── InWatch.java └── InWatch2.java └── out ├── OutAddWatch.java ├── OutAddWatch2.java ├── OutBack.java ├── OutBinaryOp.java ├── OutCallFunction.java ├── OutConstantPool.java ├── OutContinue.java ├── OutExit.java ├── OutForward.java ├── OutGetActions.java ├── OutGetBreakReason.java ├── OutGetFncNames.java ├── OutGetFrame.java ├── OutGetOption.java ├── OutGetSwd.java ├── OutGetSwf.java ├── OutGetVariable.java ├── OutGetVariableWhichInvokesGetter.java ├── OutHome.java ├── OutIsolateEnumerate.java ├── OutLoop.java ├── OutPassAllExceptionsToDebugger.java ├── OutPlay.java ├── OutPrint.java ├── OutProcessedTag.java ├── OutRemoveAllBreakpoints.java ├── OutRemoveBreakpoints.java ├── OutRemoveExceptionBreakpoint.java ├── OutRemoveWatch.java ├── OutRemoveWatch2.java ├── OutRewind.java ├── OutSetActions.java ├── OutSetActiveIsolate.java ├── OutSetBreakpoints.java ├── OutSetExceptionBreakpoint.java ├── OutSetFocus.java ├── OutSetOption.java ├── OutSetProperty.java ├── OutSetQuality.java ├── OutSetSquelch.java ├── OutSetVariable.java ├── OutStepContinue.java ├── OutStepInto.java ├── OutStepOut.java ├── OutStepOver.java ├── OutStopDebug.java ├── OutSwfInfo.java ├── OutUnknown.java ├── OutZoom100.java ├── OutZoomIn.java └── OutZoomOut.java /.gitignore: -------------------------------------------------------------------------------- 1 | *.class 2 | 3 | # Package Files # 4 | *.jar 5 | 6 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 7 | hs_err_pid* 8 | 9 | /dist/ 10 | /build/ 11 | /nbproject/private/ -------------------------------------------------------------------------------- /.jacocoverage/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "pkgclss.excludelist" : [ ], 3 | "preferences" : { 4 | "JaCoCoverage.Prj.OverrideGlobals" : "false" 5 | } 6 | } -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # flashdebugger 2 | Java Flash Debugger Library 3 | -------------------------------------------------------------------------------- /build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | Builds, tests, and runs the project flashdebugger. 12 | 13 | 73 | 74 | -------------------------------------------------------------------------------- /manifest.mf: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | X-COMMENT: Main-Class will be added automatically by build 3 | 4 | -------------------------------------------------------------------------------- /nbproject/genfiles.properties: -------------------------------------------------------------------------------- 1 | build.xml.data.CRC32=7a759ba8 2 | build.xml.script.CRC32=354935da 3 | build.xml.stylesheet.CRC32=8064a381@1.75.2.48 4 | # This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. 5 | # Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. 6 | nbproject/build-impl.xml.data.CRC32=7a759ba8 7 | nbproject/build-impl.xml.script.CRC32=e1398afe 8 | nbproject/build-impl.xml.stylesheet.CRC32=05530350@1.79.1.48 9 | -------------------------------------------------------------------------------- /nbproject/licenseheader.txt: -------------------------------------------------------------------------------- 1 | <#if licenseFirst??> 2 | ${licenseFirst} 3 | 4 | ${licensePrefix}Copyright (C) 2015 JPEXS, All rights reserved. 5 | ${licensePrefix} 6 | ${licensePrefix}This library is free software; you can redistribute it and/or 7 | ${licensePrefix}modify it under the terms of the GNU Lesser General Public 8 | ${licensePrefix}License as published by the Free Software Foundation; either 9 | ${licensePrefix}version 3.0 of the License, or (at your option) any later version. 10 | ${licensePrefix} 11 | ${licensePrefix}This library is distributed in the hope that it will be useful, 12 | ${licensePrefix}but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | ${licensePrefix}MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | ${licensePrefix}Lesser General Public License for more details. 15 | ${licensePrefix} 16 | ${licensePrefix}You should have received a copy of the GNU Lesser General Public 17 | ${licensePrefix}License along with this library. 18 | <#if licenseLast??> 19 | ${licenseLast} 20 | -------------------------------------------------------------------------------- /nbproject/project.properties: -------------------------------------------------------------------------------- 1 | annotation.processing.enabled=true 2 | annotation.processing.enabled.in.editor=false 3 | annotation.processing.processors.list= 4 | annotation.processing.run.all.processors=true 5 | annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output 6 | application.title=flashdebugger 7 | application.vendor=Jindra 8 | auxiliary.org-netbeans-spi-editor-hints-projects.perProjectHintSettingsFile=nbproject/cfg_hints.xml 9 | build.classes.dir=${build.dir}/classes 10 | build.classes.excludes=**/*.java,**/*.form 11 | # This directory is removed when the project is cleaned: 12 | build.dir=build 13 | build.generated.dir=${build.dir}/generated 14 | build.generated.sources.dir=${build.dir}/generated-sources 15 | # Only compile against the classpath explicitly listed here: 16 | build.sysclasspath=ignore 17 | build.test.classes.dir=${build.dir}/test/classes 18 | build.test.results.dir=${build.dir}/test/results 19 | # Uncomment to specify the preferred debugger connection transport: 20 | #debug.transport=dt_socket 21 | debug.classpath=\ 22 | ${run.classpath} 23 | debug.test.classpath=\ 24 | ${run.test.classpath} 25 | # Files in build.classes.dir which should be excluded from distribution jar 26 | dist.archive.excludes= 27 | # This directory is removed when the project is cleaned: 28 | dist.dir=dist 29 | dist.jar=${dist.dir}/flashdebugger.jar 30 | dist.javadoc.dir=${dist.dir}/javadoc 31 | endorsed.classpath= 32 | excludes= 33 | file.reference.FFDec_debugger-src=src 34 | file.reference.FFDec_debugger-test=test 35 | includes=** 36 | jar.archive.disabled=${jnlp.enabled} 37 | jar.compress=false 38 | jar.index=${jnlp.enabled} 39 | javac.classpath= 40 | # Space-separated list of extra javac options 41 | javac.compilerargs= 42 | javac.deprecation=false 43 | javac.processorpath=\ 44 | ${javac.classpath} 45 | javac.source=1.8 46 | javac.target=1.8 47 | javac.test.classpath=\ 48 | ${javac.classpath}:\ 49 | ${build.classes.dir} 50 | javac.test.processorpath=\ 51 | ${javac.test.classpath} 52 | javadoc.additionalparam= 53 | javadoc.author=false 54 | javadoc.encoding=${source.encoding} 55 | javadoc.noindex=false 56 | javadoc.nonavbar=false 57 | javadoc.notree=false 58 | javadoc.private=false 59 | javadoc.splitindex=true 60 | javadoc.use=true 61 | javadoc.version=false 62 | javadoc.windowtitle= 63 | jnlp.codebase.type=no.codebase 64 | jnlp.descriptor=application 65 | jnlp.enabled=false 66 | jnlp.mixed.code=default 67 | jnlp.offline-allowed=false 68 | jnlp.signed=false 69 | jnlp.signing= 70 | jnlp.signing.alias= 71 | jnlp.signing.keystore= 72 | main.class=com.jpexs.debugger.flash.Debugger 73 | # Optional override of default Codebase manifest attribute, use to prevent RIAs from being repurposed 74 | manifest.custom.codebase= 75 | # Optional override of default Permissions manifest attribute (supported values: sandbox, all-permissions) 76 | manifest.custom.permissions= 77 | manifest.file=manifest.mf 78 | meta.inf.dir=${src.dir}/META-INF 79 | mkdist.disabled=false 80 | platform.active=default_platform 81 | project.licensePath=./nbproject/licenseheader.txt 82 | run.classpath=\ 83 | ${javac.classpath}:\ 84 | ${build.classes.dir} 85 | # Space-separated list of JVM arguments used when running the project. 86 | # You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. 87 | # To set system properties for unit tests define test-sys-prop.name=value: 88 | run.jvmargs= 89 | run.test.classpath=\ 90 | ${javac.test.classpath}:\ 91 | ${build.test.classes.dir} 92 | source.encoding=UTF-8 93 | src.dir=${file.reference.FFDec_debugger-src} 94 | test.src.dir=${file.reference.FFDec_debugger-test} 95 | -------------------------------------------------------------------------------- /nbproject/project.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | org.netbeans.modules.java.j2seproject 4 | 5 | 6 | flashdebugger 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/DebugConnectionListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash; 18 | 19 | import java.io.IOException; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public interface DebugConnectionListener { 26 | 27 | public void connected(DebuggerConnection con); 28 | 29 | public void failedListen(IOException ex); 30 | } 31 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/DebugMessageListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash; 18 | 19 | /** 20 | * 21 | * @author JPEXS 22 | * @param 23 | */ 24 | public interface DebugMessageListener { 25 | 26 | public void message(T message); 27 | } 28 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/GetVariableFlag.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash; 17 | 18 | /** 19 | * 20 | * @author JPEXS 21 | */ 22 | public interface GetVariableFlag { 23 | 24 | public static final int INVOKE_GETTER = 0x00000001; 25 | 26 | public static final int ALSO_GET_CHILDREN = 0x00000002; 27 | 28 | public static final int DONT_GET_FUNCTIONS = 0x00000004; 29 | 30 | public static final int GET_CLASS_HIERARCHY = 0x00000008; 31 | } 32 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/OutDebuggerMessage.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash; 18 | 19 | import java.io.ByteArrayOutputStream; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | import java.util.logging.Level; 23 | import java.util.logging.Logger; 24 | 25 | /** 26 | * 27 | * @author JPEXS 28 | */ 29 | public abstract class OutDebuggerMessage extends DebuggerMessage { 30 | 31 | public static int ID; 32 | protected int type; 33 | 34 | public static final int DEFAULT_ISOLATE_ID = 1; 35 | 36 | public int targetIsolate; 37 | 38 | private ByteArrayOutputStream os; 39 | 40 | protected DebuggerConnection connection; 41 | 42 | protected static boolean supportsWideLineNumbers = true; 43 | 44 | public OutDebuggerMessage(DebuggerConnection c, int type, byte[] data) { 45 | this.type = type; 46 | connection = c; 47 | targetIsolate = c.activeIsolateId; 48 | 49 | os = new ByteArrayOutputStream(); 50 | if (data.length > 0) { 51 | try { 52 | os.write(data); 53 | } catch (IOException ex) { 54 | Logger.getLogger(OutDebuggerMessage.class.getName()).log(Level.SEVERE, null, ex); 55 | } 56 | } 57 | } 58 | 59 | @Override 60 | public byte[] getData() { 61 | ByteArrayOutputStream baos = new ByteArrayOutputStream(); 62 | try { 63 | writeTo(baos); 64 | } catch (IOException ex) { 65 | Logger.getLogger(OutDebuggerMessage.class.getName()).log(Level.SEVERE, null, ex); 66 | } 67 | return baos.toByteArray(); 68 | 69 | } 70 | 71 | public void writeTo(OutputStream os) throws IOException { 72 | 73 | } 74 | 75 | public OutDebuggerMessage(DebuggerConnection c, int type) { 76 | this(c, type, new byte[0]); 77 | } 78 | 79 | public void writeDWord(OutputStream os, long val) throws IOException { 80 | int b1 = (int) (val & 0xff); 81 | int b2 = (int) ((val >> 8) & 0xff); 82 | int b3 = (int) ((val >> 16) & 0xff); 83 | int b4 = (int) ((val >> 24) & 0xff); 84 | os.write(b1); 85 | os.write(b2); 86 | os.write(b3); 87 | os.write(b4); 88 | } 89 | 90 | public void writeLong(OutputStream os, long val) throws IOException { 91 | writeDWord(os, val & 0xffffffff); 92 | writeDWord(os, (val >> 32) & 0xffffffff); 93 | } 94 | 95 | public void writeByte(OutputStream os, int val) throws IOException { 96 | os.write(val & 0xff); 97 | } 98 | 99 | public void writeBytes(OutputStream os, byte[] data) { 100 | try { 101 | os.write(data); 102 | } catch (IOException ex) { 103 | //ignore 104 | } 105 | } 106 | 107 | public void writeWord(OutputStream os, long val) throws IOException { 108 | int b1 = (int) (val & 0xff); 109 | int b2 = (int) ((val >> 8) & 0xff); 110 | os.write(b1); 111 | os.write(b2); 112 | } 113 | 114 | public void writeString(OutputStream os, String val) throws IOException { 115 | try { 116 | os.write(val.getBytes("UTF-8")); 117 | } catch (IOException ex) { 118 | //ignore 119 | } 120 | os.write(0); 121 | } 122 | 123 | @Override 124 | public int getType() { 125 | return type; 126 | } 127 | 128 | public void writePtr(OutputStream os, long ptr) throws IOException { 129 | if (connection.sizeOfPtr == 4) { 130 | writeDWord(os, ptr); 131 | } else if (connection.sizeOfPtr == 8) { 132 | writeLong(os, ptr); 133 | } 134 | } 135 | } 136 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/Value.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash; 17 | 18 | public interface Value { 19 | 20 | public static final Object UNDEFINED = new Object() { 21 | @Override 22 | public String toString() { 23 | return "undefined"; 24 | } 25 | }; 26 | 27 | public static final long UNKNOWN_ID = -1; 28 | 29 | public static final long GLOBAL_ID = -2; 30 | 31 | public static final long THIS_ID = -3; 32 | 33 | public static final long ROOT_ID = -4; 34 | 35 | public static final long BASE_ID = -100; 36 | 37 | public static final long LEVEL_ID = -300; 38 | 39 | public static final String TRAITS_TYPE_NAME = "traits"; 40 | } 41 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/Variable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash; 18 | 19 | /** 20 | * 21 | * @author JPEXS 22 | */ 23 | public class Variable { 24 | 25 | public String name; 26 | public int vType; 27 | public Object value = null; 28 | public String typeName = ""; 29 | public String className = ""; 30 | public boolean isPrimitive = false; 31 | public int flags; 32 | 33 | public boolean hasFlag(int flag) { 34 | return (flags & flag) == flag; 35 | } 36 | 37 | public String getModifiers() { 38 | return getScopeModifier() 39 | + (hasFlag(VariableFlags.IS_DYNAMIC) ? " dynamic" : "") 40 | + (hasFlag(VariableFlags.IS_STATIC) ? " static" : ""); 41 | } 42 | 43 | public String getDeclaration() { 44 | return getModifiers() + (hasFlag(VariableFlags.IS_CONST) ? " const " : " var ") + name + ((!hasFlag(VariableFlags.IS_CONST) && hasFlag(VariableFlags.READ_ONLY)) ? " [readonly]" : ""); 45 | } 46 | 47 | public String getScopeModifier() { 48 | if (hasFlag(VariableFlags.IS_LOCAL)) { 49 | return ""; 50 | } 51 | int scope = flags & VariableFlags.SCOPE_MASK; 52 | switch (scope) { 53 | case VariableFlags.PUBLIC_SCOPE: 54 | return "public"; 55 | case VariableFlags.PROTECTED_SCOPE: 56 | return "protected"; 57 | case VariableFlags.PRIVATE_SCOPE: 58 | return "private"; 59 | case VariableFlags.NAMESPACE_SCOPE: 60 | return ""; 61 | case VariableFlags.INTERNAL_SCOPE: 62 | return ""; 63 | default: 64 | return "?"; 65 | } 66 | } 67 | 68 | @Override 69 | public String toString() { 70 | return "var(name=" + name + ", type=" + getTypeAsStr() + "), value=" + getValueAsStr() + ", flags=" + flags; 71 | } 72 | 73 | public String getTypeAsStr() { 74 | return typeNameFor(vType); 75 | } 76 | 77 | public String getValueAsStr() { 78 | switch (vType) { 79 | case VariableType.OBJECT: 80 | case VariableType.MOVIECLIP: 81 | case VariableType.FUNCTION: 82 | return getTypeAsStr() + "(" + value + ")"; 83 | default: 84 | return "" + value; 85 | } 86 | } 87 | 88 | public Variable(String name, int vType, Object value, String typeName, String className, boolean isPrimitive, int flags) { 89 | this.vType = vType; 90 | this.value = value; 91 | this.typeName = typeName; 92 | this.className = className; 93 | this.isPrimitive = isPrimitive; 94 | this.name = name; 95 | this.flags = flags; 96 | } 97 | 98 | public static String typeNameFor(int type) { 99 | switch (type) { 100 | case VariableType.NUMBER: 101 | return "number"; 102 | 103 | case VariableType.BOOLEAN: 104 | return "boolean"; 105 | 106 | case VariableType.STRING: 107 | return "String"; 108 | 109 | case VariableType.OBJECT: 110 | return "Object"; 111 | 112 | case VariableType.FUNCTION: 113 | return "Function"; 114 | 115 | case VariableType.MOVIECLIP: 116 | return "MovieClip"; 117 | 118 | case VariableType.NULL: 119 | return "null"; 120 | 121 | case VariableType.UNDEFINED: 122 | case VariableType.UNKNOWN: 123 | default: 124 | return "undefined"; 125 | } 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/VariableFlags.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash; 18 | 19 | public interface VariableFlags { 20 | 21 | //Protect from enumeration 22 | public static final int DONT_ENUMERATE = 0x00000001; 23 | 24 | //Protect from deletion 25 | public static final int DONT_DELETE = 0x00000002; 26 | 27 | //Protect from assigning a value. Does not imply isconst 28 | public static final int READ_ONLY = 0x00000004; 29 | 30 | //Only visible by VM initialized for version 6 or higher 31 | public static final int ONLY_SWF6_UP = 0x00000080; 32 | 33 | //Ignore in SWF6-initialized VM 34 | public static final int IGNORE_SWF6 = 0x00000100; 35 | 36 | //Only visible by VM initialized for version 7 or higher 37 | public static final int ONLY_SWF7_UP = 0x00000400; 38 | 39 | //Only visible by VM initialized for version 8 or higher 40 | public static final int ONLY_SWF8_UP = 0x00001000; 41 | 42 | //Only visible by VM initialized for version 9 or higher 43 | public static final int ONLY_SWF9_UP = 0x00002000; 44 | 45 | //Only visible by VM initialized for version 9 or higher 46 | public static final int ONLY_SWF10_UP = 0x00004000; 47 | 48 | public static final int IS_LOCAL = 0x00000020; 49 | 50 | /** 51 | * argument to a function 52 | */ 53 | public static final int IS_ARGUMENT = 0x00010000; 54 | 55 | /** 56 | * dynamic property - only AS3 57 | */ 58 | public static final int IS_DYNAMIC = 0x00020000; 59 | 60 | public static final int IS_EXCEPTION = 0x00040000; 61 | 62 | public static final int HAS_GETTER = 0x00080000; 63 | 64 | public static final int HAS_SETTER = 0x00100000; 65 | 66 | public static final int IS_STATIC = 0x00200000; 67 | 68 | public static final int IS_CONST = 0x00400000; 69 | 70 | public static final int PUBLIC_SCOPE = 0x00000000; 71 | 72 | public static final int PRIVATE_SCOPE = 0x00800000; 73 | 74 | public static final int PROTECTED_SCOPE = 0x01000000; 75 | 76 | public static final int INTERNAL_SCOPE = 0x01800000; 77 | 78 | public static final int NAMESPACE_SCOPE = 0x02000000; 79 | 80 | public static final int SCOPE_MASK = PUBLIC_SCOPE | PRIVATE_SCOPE | PROTECTED_SCOPE | INTERNAL_SCOPE | NAMESPACE_SCOPE; 81 | 82 | //Is the value class? 83 | public static final int IS_CLASS = 0x04000000; 84 | } 85 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/VariableType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash; 17 | 18 | /** 19 | * 20 | * @author JPEXS 21 | */ 22 | public interface VariableType { 23 | 24 | public static final int NUMBER = 0; 25 | public static final int BOOLEAN = 1; 26 | public static final int STRING = 2; 27 | public static final int OBJECT = 3; 28 | public static final int FUNCTION = 4; 29 | public static final int MOVIECLIP = 5; 30 | public static final int NULL = 6; 31 | public static final int UNDEFINED = 7; 32 | public static final int UNKNOWN = 8; 33 | } 34 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InAskBreakpoints.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InAskBreakpoints extends InDebuggerMessage { 27 | 28 | public static final int ID = 15; 29 | 30 | 31 | public InAskBreakpoints(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InBinaryOp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.Variable; 20 | import com.jpexs.debugger.flash.DebuggerConnection; 21 | 22 | import com.jpexs.debugger.flash.InDebuggerMessage; 23 | import java.util.ArrayList; 24 | import java.util.List; 25 | 26 | /** 27 | * 28 | * @author JPEXS 29 | */ 30 | public class InBinaryOp extends InDebuggerMessage { 31 | 32 | public static final int ID = 57; 33 | 34 | public long id; 35 | 36 | public List parentsIds; 37 | public List variables; 38 | 39 | @Override 40 | public String toString() { 41 | return super.toString() + "(count:" + parentsIds.size() + ")"; 42 | } 43 | 44 | public InBinaryOp(DebuggerConnection c, byte[] data) { 45 | super(c, ID, data); 46 | id = readDWord(); 47 | parentsIds = new ArrayList<>(); 48 | variables = new ArrayList<>(); 49 | 50 | if (available() > 0) { 51 | parentsIds.add(readPtr(c)); 52 | variables.add(readVariable(c)); 53 | } 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InBreakAt.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InBreakAt extends InDebuggerMessage { 28 | 29 | public static final int ID = 16; 30 | 31 | public long id; 32 | public int file; 33 | public int line; 34 | public String stack; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(id=" + id + ", file=" + file + ", line=" + line + ", stack='" + stack + "')"; 39 | } 40 | 41 | public InBreakAt(DebuggerConnection c, byte[] data) { 42 | super(c, ID, data); 43 | if (!wideLines) { 44 | file = readWord(); 45 | line = readWord(); 46 | } else { 47 | file = (int) readDWord(); 48 | line = (int) readDWord(); 49 | } 50 | id = readPtr(c); 51 | stack = readString(); 52 | } 53 | 54 | @Override 55 | public void exec() { 56 | connection.isPaused = true; 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InBreakAtExt.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | 25 | /** 26 | * 27 | * @author JPEXS 28 | */ 29 | public class InBreakAtExt extends InDebuggerMessage { 30 | 31 | public static final int ID = 27; 32 | 33 | public int file; 34 | public int line; 35 | 36 | public List files; 37 | public List lines; 38 | public List ids; 39 | public List stacks; 40 | 41 | @Override 42 | public String toString() { 43 | return super.toString() + "(file=" + file + ", line=" + line + ", items.count=" + files.size() + ")"; 44 | } 45 | 46 | public InBreakAtExt(DebuggerConnection c, byte[] data) { 47 | super(c, ID, data); 48 | if (!wideLines) { 49 | file = readWord(); 50 | line = readWord(); 51 | } else { 52 | file = (int) readDWord(); 53 | line = (int) readDWord(); 54 | } 55 | long num = readDWord(); 56 | files = new ArrayList<>(); 57 | lines = new ArrayList<>(); 58 | ids = new ArrayList<>(); 59 | stacks = new ArrayList<>(); 60 | for (long i = 0; i < num; i++) { 61 | int file_i; 62 | int line_i; 63 | if (!wideLines) { 64 | file_i = readWord(); 65 | line_i = readWord(); 66 | } else { 67 | file_i = (int) readDWord(); 68 | line_i = (int) readDWord(); 69 | } 70 | long id = readPtr(c); 71 | String stack = readString(); 72 | files.add(file_i); 73 | lines.add(line_i); 74 | ids.add(id); 75 | stacks.add(stack); 76 | } 77 | } 78 | 79 | } 80 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InBreakReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InBreakReason extends InDebuggerMessage { 27 | 28 | public static final int ID = 40; 29 | 30 | public static int REASON_UKNOWN = 0; 31 | public static int REASON_BREAKPOINT = 1; 32 | public static int REASON_WATCH = 2; 33 | public static int REASON_FAULT = 3; 34 | public static int REASON_STOP_REQUEST = 4; 35 | public static int REASON_STEP = 5; 36 | public static int REASON_HALT = 6; 37 | public static int REASON_SCRIPT_LOADED = 7; 38 | 39 | public int reason; 40 | public int swfIndex; 41 | public long offset; 42 | public long prevOffset; 43 | public long nextOffset; 44 | 45 | @Override 46 | public String toString() { 47 | return super.toString() + "(reason=" + reason + ", swfIndex=" + swfIndex + ", offset=" + offset + ", prev=" + prevOffset + ", next=" + nextOffset + ")"; 48 | } 49 | 50 | public InBreakReason(DebuggerConnection c, byte[] data) { 51 | super(c, ID, data); 52 | reason = readWord(); 53 | swfIndex = readWord(); 54 | offset = readDWord(); 55 | prevOffset = readDWord(); 56 | nextOffset = readDWord(); 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InCallFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.Variable; 20 | import com.jpexs.debugger.flash.DebuggerConnection; 21 | 22 | import com.jpexs.debugger.flash.InDebuggerMessage; 23 | import java.util.ArrayList; 24 | import java.util.List; 25 | 26 | /** 27 | * 28 | * @author JPEXS 29 | */ 30 | public class InCallFunction extends InDebuggerMessage { 31 | 32 | public static final int ID = 54; 33 | 34 | public List parentsIds; 35 | public List variables; 36 | 37 | @Override 38 | public String toString() { 39 | return super.toString() + "(items.count=" + parentsIds.size() + ")"; 40 | } 41 | 42 | public InCallFunction(DebuggerConnection c, byte[] data) { 43 | super(c, ID, data); 44 | 45 | parentsIds = new ArrayList<>(); 46 | variables = new ArrayList<>(); 47 | 48 | if (available() > 0) { 49 | parentsIds.add(readPtr(c)); 50 | variables.add(readVariable(c)); 51 | } 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InConstantPool.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.Variable; 20 | import com.jpexs.debugger.flash.DebuggerConnection; 21 | 22 | import com.jpexs.debugger.flash.InDebuggerMessage; 23 | import java.util.ArrayList; 24 | import java.util.List; 25 | 26 | /** 27 | * 28 | * @author JPEXS 29 | */ 30 | public class InConstantPool extends InDebuggerMessage { 31 | 32 | public static final int ID = 43; 33 | 34 | public int swfIndex; 35 | public List ids; 36 | public List vars; 37 | 38 | @Override 39 | public String toString() { 40 | return super.toString() + "(swfIndex=" + swfIndex + ",vars.count=" + vars.size() + ")"; 41 | } 42 | 43 | public InConstantPool(DebuggerConnection c, byte[] data) { 44 | super(c, ID, data); 45 | swfIndex = readWord(); 46 | int count = (int) readDWord(); 47 | ids = new ArrayList<>(); 48 | vars = new ArrayList<>(); 49 | for (int i = 0; i < count; i++) { 50 | ids.add(readPtr(c)); 51 | vars.add(readVariable(c)); 52 | } 53 | } 54 | 55 | } 56 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InContinue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InContinue extends InDebuggerMessage { 28 | 29 | public static final int ID = 17; 30 | 31 | public InContinue(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | } 34 | 35 | @Override 36 | public void exec() { 37 | connection.isPaused = false; 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InDeleteVariable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InDeleteVariable extends InDebuggerMessage { 27 | 28 | public static final int ID = 11; 29 | 30 | public long objId; 31 | public String name; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(objId=" + objId + ", name=" + name + ")"; 36 | } 37 | 38 | public InDeleteVariable(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | objId = readPtr(c); 41 | name = readString(); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorConsole.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorConsole extends InDebuggerMessage { 27 | 28 | public static final int ID = 44; 29 | 30 | public String msg; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(msg=" + msg + ")"; 35 | } 36 | 37 | public InErrorConsole(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | msg = readString(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.Variable; 20 | import com.jpexs.debugger.flash.DebuggerConnection; 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InErrorException extends InDebuggerMessage { 28 | 29 | public static final int ID = 36; 30 | 31 | public String exceptionMessage; 32 | public boolean willExceptionBeCaught; 33 | public long offset; 34 | public Variable thrownVar; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(msg=" + exceptionMessage + ", willBeCaught=" + willExceptionBeCaught + ", offset=" + offset + ", thrownVar=" + thrownVar + ")"; 39 | } 40 | 41 | public InErrorException(DebuggerConnection c, byte[] data) { 42 | super(c, ID, data); 43 | offset = readDWord(); 44 | willExceptionBeCaught = false; 45 | 46 | if (available() > 0) { //FP9+ 47 | exceptionMessage = readString(); 48 | if (available() > 0) { 49 | if (readByte() != 0) { 50 | willExceptionBeCaught = (readByte() != 0 ? true 51 | : false); 52 | readPtr(c); 53 | thrownVar = readVariable(c); 54 | } 55 | } 56 | } else { 57 | exceptionMessage = ""; 58 | } 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorExecLimit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorExecLimit extends InDebuggerMessage { 27 | 28 | public static final int ID = 7; 29 | 30 | 31 | public InErrorExecLimit(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorProtoLimit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorProtoLimit extends InDebuggerMessage { 27 | 28 | public static final int ID = 9; 29 | 30 | 31 | public InErrorProtoLimit(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorScriptStuck.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorScriptStuck extends InDebuggerMessage { 27 | 28 | public static final int ID = 39; 29 | 30 | public long offset; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(offset=" + offset + ")"; 35 | } 36 | 37 | public InErrorScriptStuck(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | offset = readDWord(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorStackUnderflow.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorStackUnderflow extends InDebuggerMessage { 27 | 28 | public static final int ID = 37; 29 | 30 | public long offset; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(offset=" + offset + ")"; 35 | } 36 | 37 | public InErrorStackUnderflow(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | offset = readDWord(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorTarget.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorTarget extends InDebuggerMessage { 27 | 28 | public static final int ID = 6; 29 | 30 | public String name; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(name=" + name + ")"; 35 | } 36 | 37 | public InErrorTarget(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | name = readString(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorURLOpen.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorURLOpen extends InDebuggerMessage { 27 | 28 | public static final int ID = 24; 29 | 30 | public String url; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(url=" + url + ")"; 35 | } 36 | 37 | public InErrorURLOpen(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | //Commented out 40 | url = readString(); 41 | } 42 | 43 | } 44 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorWith.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorWith extends InDebuggerMessage { 27 | 28 | public static final int ID = 8; 29 | 30 | public InErrorWith(DebuggerConnection c, byte[] data) { 31 | super(c, ID, data); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InErrorZeroDivide.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InErrorZeroDivide extends InDebuggerMessage { 27 | 28 | public static final int ID = 38; 29 | 30 | public long offset; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(offset=" + offset + ")"; 35 | } 36 | 37 | public InErrorZeroDivide(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | offset = readDWord(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InExit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InExit extends InDebuggerMessage { 27 | 28 | public static final int ID = 2; 29 | 30 | 31 | public InExit(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InFrame.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.Variable; 20 | import com.jpexs.debugger.flash.DebuggerConnection; 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | 25 | /** 26 | * 27 | * @author JPEXS 28 | */ 29 | public class InFrame extends InDebuggerMessage { 30 | 31 | public static final int ID = 31; 32 | 33 | public int depth; 34 | public List registers; 35 | 36 | public List variables; 37 | public List frameIds; 38 | 39 | public List arguments; 40 | public List argumentFrameIds; 41 | 42 | public List scopeChain; 43 | public List scopeChainFrameIds; 44 | 45 | public long frameId = -1; 46 | public Variable frame; 47 | 48 | @Override 49 | public String toString() { 50 | return super.toString() + "(depth=" + depth + ", registers.count=" + registers.size() + ", variables.count=" + variables.size() + ")"; 51 | } 52 | 53 | public InFrame(DebuggerConnection c, byte[] data) { 54 | super(c, ID, data); 55 | depth = (int) readDWord(); 56 | registers = new ArrayList<>(); 57 | 58 | if (depth > -1) { 59 | int num = (int) readDWord(); 60 | for (int i = 0; i < num; i++) { 61 | registers.add(readRegister(c, i + 1)); 62 | } 63 | } 64 | 65 | int currentArg = -1; 66 | boolean gettingScopeChain = false; 67 | if (available() > 0) { 68 | frameId = readPtr(c); 69 | frame = readVariable(c); 70 | } 71 | variables = new ArrayList<>(); 72 | frameIds = new ArrayList<>(); 73 | arguments = new ArrayList<>(); 74 | argumentFrameIds = new ArrayList<>(); 75 | scopeChain = new ArrayList<>(); 76 | scopeChainFrameIds = new ArrayList<>(); 77 | while (available() > 0) { 78 | long frameId = readPtr(c); 79 | Variable child = readVariable(c); 80 | if (currentArg == -1 && child.name.equals(ARGUMENTS_MARKER)) { 81 | currentArg = 0; 82 | gettingScopeChain = false; 83 | continue; 84 | } else if (child.name.equals(SCOPE_CHAIN_MARKER)) { 85 | currentArg = -1; 86 | gettingScopeChain = true; 87 | continue; 88 | } else if (currentArg >= 0) { 89 | currentArg++; 90 | if (child.name.equals("undefined")) { 91 | child.name = "_arg" + currentArg; 92 | } 93 | } 94 | 95 | if (gettingScopeChain) { 96 | scopeChain.add(child); 97 | scopeChainFrameIds.add(frameId); 98 | } else if (currentArg >= 0) { 99 | arguments.add(child); 100 | argumentFrameIds.add(frameId); 101 | } else { 102 | variables.add(child); 103 | frameIds.add(frameId); 104 | } 105 | } 106 | } 107 | 108 | } 109 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InGetActions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InGetActions extends InDebuggerMessage { 28 | 29 | public static final int ID = 41; 30 | 31 | public int swfIndex; 32 | public long offset; 33 | public byte[] actionData; 34 | 35 | @Override 36 | public String toString() { 37 | return super.toString() + "(swfIndex=" + swfIndex + ", offset=" + offset + ", actionData.length=" + actionData.length + ")"; 38 | } 39 | 40 | public InGetActions(DebuggerConnection c, byte[] data) { 41 | super(c, ID, data); 42 | swfIndex = readWord(); 43 | readWord(); //0 - reserved 44 | offset = readDWord(); 45 | long len = readDWord(); 46 | actionData = readBytes((int) len); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InGetFncNames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class InGetFncNames extends InDebuggerMessage { 29 | 30 | public static final int ID = 45; 31 | 32 | public long module; 33 | 34 | public static class FunctionName { 35 | 36 | public int offset; 37 | public int firstLine; 38 | public int lastLine; 39 | public String name; 40 | } 41 | 42 | public List names; 43 | 44 | @Override 45 | public String toString() { 46 | return super.toString() + "(names.count=" + names.size() + ")"; 47 | } 48 | 49 | public InGetFncNames(DebuggerConnection c, byte[] data) { 50 | super(c, ID, data); 51 | module = readDWord(); 52 | int count = (int) readDWord(); 53 | names = new ArrayList<>(); 54 | 55 | for (int i = 0; i < count; i++) { 56 | FunctionName fn = new FunctionName(); 57 | fn.offset = (int) readDWord(); 58 | fn.firstLine = (int) readDWord(); 59 | fn.lastLine = (int) readDWord(); 60 | fn.name = readString(); 61 | } 62 | } 63 | 64 | } 65 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InGetSwd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InGetSwd extends InDebuggerMessage { 27 | 28 | public static final int ID = 35; 29 | 30 | public byte[] swdData; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(data.length=" + swdData.length + ")"; 35 | } 36 | 37 | public InGetSwd(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | swdData = data; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InGetSwf.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InGetSwf extends InDebuggerMessage { 27 | 28 | public static final int ID = 34; 29 | 30 | public byte swfData[]; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(data.length=" + swfData.length + ")"; 35 | } 36 | 37 | public InGetSwf(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | swfData = data; 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InGetVariable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.Variable; 20 | import com.jpexs.debugger.flash.DebuggerConnection; 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | 25 | /** 26 | * 27 | * @author JPEXS 28 | */ 29 | public class InGetVariable extends InDebuggerMessage { 30 | 31 | public static final int ID = 30; 32 | 33 | public List childs; 34 | public List childsIds; 35 | 36 | public Variable parent; 37 | public long parentId; 38 | 39 | @Override 40 | public String toString() { 41 | return super.toString() + "(parentId=" + parentId + ", parent=" + parent + ", childs.length=" + childs.size() + ")"; 42 | } 43 | 44 | public InGetVariable(DebuggerConnection c, byte[] data) { 45 | super(c, ID, data); 46 | childs = new ArrayList<>(); 47 | childsIds = new ArrayList<>(); 48 | boolean hasParent = false; 49 | 50 | while (available() > 0) { 51 | long id = readPtr(c); 52 | if (!hasParent) { 53 | parentId = id; 54 | parent = readVariable(c); 55 | hasParent = true; 56 | } else { 57 | Variable child = readVariable(c); 58 | /*if (showMember(child)) { 59 | 60 | } else { 61 | if (isTraits(child)) { 62 | //if name is MyClass$something, then it belongs to MyClass - static 63 | } 64 | }*/ 65 | childs.add(child); 66 | childsIds.add(id); 67 | } 68 | } 69 | } 70 | 71 | } 72 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InIsolate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InIsolate extends InDebuggerMessage { 27 | 28 | public static final int ID = 62; 29 | 30 | public int id; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(id=" + id + ")"; 35 | } 36 | 37 | public InIsolate(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | id = (int) readDWord(); 40 | } 41 | 42 | @Override 43 | public void exec() { 44 | connection.activeIsolateId = id; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InIsolateCreate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InIsolateCreate extends InDebuggerMessage { 27 | 28 | public static final int ID = 58; 29 | 30 | public long id; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(id=" + id + ")"; 35 | } 36 | 37 | public InIsolateCreate(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | id = readDWord(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InIsolateEnumerate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class InIsolateEnumerate extends InDebuggerMessage { 29 | 30 | public static final int ID = 60; 31 | 32 | public List isolates; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(isolates.count=" + isolates.size() + ")"; 37 | } 38 | 39 | public InIsolateEnumerate(DebuggerConnection c, byte[] data) { 40 | super(c, ID, data); 41 | isolates = new ArrayList<>(); 42 | long num = readDWord(); 43 | for (int i = 0; i < num; i++) { 44 | isolates.add(readDWord()); 45 | } 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InIsolateExit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InIsolateExit extends InDebuggerMessage { 27 | 28 | public static final int ID = 59; 29 | 30 | public long id; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(id=" + id + ")"; 35 | } 36 | 37 | public InIsolateExit(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | id = readDWord(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InNewObject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InNewObject extends InDebuggerMessage { 27 | 28 | public static final int ID = 3; 29 | 30 | public long objId; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(objId=" + objId + ")"; 35 | } 36 | 37 | public InNewObject(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | objId = readPtr(c); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InNotSynced.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InNotSynced extends InDebuggerMessage { 27 | 28 | public static final int ID = 23; 29 | 30 | 31 | public InNotSynced(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InNumScript.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InNumScript extends InDebuggerMessage { 27 | 28 | public static final int ID = 20; 29 | 30 | public int num; 31 | public int swfIndex = -1; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(num=" + num + ", swfIndex=" + swfIndex + ")"; 36 | } 37 | 38 | public InNumScript(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | num = (int) readDWord(); 41 | if (available() >= 4) { 42 | swfIndex = (int) readDWord(); 43 | } 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InOption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InOption extends InDebuggerMessage { 28 | 29 | public static final int ID = 32; 30 | 31 | public String s; 32 | public String v; 33 | 34 | public static String OPTION_MOVIE = "movie"; 35 | public static String OPTION_PASSWORD = "password"; 36 | public static String OPTION_CONCURRENT_PLAYER = "concurrent_player"; 37 | public static String OPTION_WIDE_LINE_PLAYER = "wide_line_player"; 38 | public static String OPTION_CAN_TERMINATE = "can_terminate"; 39 | public static String OPTION_CAN_BREAK_ON_ALL_EXCEPTIONS = "can_break_on_all_exceptions"; 40 | public static String OPTION_CAN_SET_WATCHPOINTS = "can_set_watchpoints"; 41 | public static String OPTION_CAN_CALL_FUNCTIONS = "can_call_functions"; 42 | public static String OPTION_TRACE = "trace"; 43 | 44 | @Override 45 | public String toString() { 46 | return super.toString() + "(name=" + s + ", value=" + v + ")"; 47 | } 48 | 49 | public InOption(DebuggerConnection c, byte[] data) { 50 | super(c, ID, data); 51 | s = readString(); 52 | v = readString(); 53 | } 54 | 55 | @Override 56 | public void exec() { 57 | connection.options.put(s, v); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InParam.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InParam extends InDebuggerMessage { 27 | 28 | public static final int ID = 12; 29 | 30 | public String name; 31 | public String value; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(name=" + name + ", value=" + value + ")"; 36 | } 37 | 38 | public InParam(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | name = readString(); 41 | value = readString(); 42 | } 43 | 44 | @Override 45 | public void exec() { 46 | connection.parameters.put(name, value); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InPassAllExceptionsToDebugger.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InPassAllExceptionsToDebugger extends InDebuggerMessage { 27 | 28 | public static final int ID = 56; 29 | 30 | public int b; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(value=" + b + ")"; 35 | } 36 | 37 | public InPassAllExceptionsToDebugger(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | b = readByte(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InPlaceObject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InPlaceObject extends InDebuggerMessage { 27 | 28 | public static final int ID = 13; 29 | 30 | public long objId; 31 | public String path; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(objId=" + objId + ", path=" + path + ")"; 36 | } 37 | 38 | public InPlaceObject(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | objId = readPtr(c); 41 | path = readString(); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InProcessTag.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InProcessTag extends InDebuggerMessage { 27 | 28 | public static final int ID = 25; 29 | 30 | 31 | public InProcessTag(DebuggerConnection c, byte[] data) { 32 | super(c, ID, data); 33 | //send OutProcessedTag back 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InRemoveBreakpoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | 25 | /** 26 | * 27 | * @author JPEXS 28 | */ 29 | public class InRemoveBreakpoint extends InDebuggerMessage { 30 | 31 | public static final int ID = 22; 32 | 33 | public List breakPointFiles; 34 | public List breakPointLines; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(breakPoints.count=" + breakPointFiles.size() + ")"; 39 | } 40 | 41 | public InRemoveBreakpoint(DebuggerConnection c, byte[] data) { 42 | super(c, ID, data); 43 | breakPointFiles = new ArrayList<>(); 44 | breakPointLines = new ArrayList<>(); 45 | long count = readDWord(); 46 | for (int i = 0; i < count; i++) { 47 | if (c.wideLines) { 48 | breakPointFiles.add((int) readDWord()); 49 | breakPointLines.add((int) readDWord()); 50 | } else { 51 | breakPointFiles.add((int) readWord()); 52 | breakPointLines.add((int) readWord()); 53 | } 54 | } 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InRemoveExceptionBreakpoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InRemoveExceptionBreakpoint extends InDebuggerMessage { 27 | 28 | public static final int ID = 64; 29 | 30 | public int result; 31 | public String exceptionBP; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(result=" + result + ", exceptionBP=" + exceptionBP + ")"; 36 | } 37 | 38 | public InRemoveExceptionBreakpoint(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | result = readWord(); 41 | exceptionBP = readString(); 42 | //remaining = available() 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InRemoveObject.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InRemoveObject extends InDebuggerMessage { 27 | 28 | public static final int ID = 4; 29 | 30 | public long objId; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(objId=" + objId + ")"; 35 | } 36 | 37 | public InRemoveObject(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | objId = readPtr(c); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InRemoveScript.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InRemoveScript extends InDebuggerMessage { 27 | 28 | public static final int ID = 21; 29 | 30 | public long module; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(module=" + module + ")"; 35 | } 36 | 37 | public InRemoveScript(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | module = readDWord(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InScript.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InScript extends InDebuggerMessage { 27 | 28 | public static final int ID = 14; 29 | 30 | public int module; 31 | public int bitmap; 32 | public String name; 33 | public String text; 34 | public int swfIndex = -1; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(module=" + module + ", bitmap=" + bitmap + ", name=" + name + ", text=" + text + ", swfIndex=" + swfIndex + ")"; 39 | } 40 | 41 | public InScript(DebuggerConnection c, byte[] data) { 42 | super(c, ID, data); 43 | module = (int) readDWord(); 44 | bitmap = (int) readDWord(); 45 | name = readString(); //format: "basepath;package;filename" 46 | text = readString(); 47 | if (available() >= 4) { 48 | swfIndex = (int) readDWord(); 49 | } 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetActiveIsolate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSetActiveIsolate extends InDebuggerMessage { 27 | 28 | public static final int ID = 61; 29 | 30 | public long id; 31 | public boolean success; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(id=" + id + ",success=" + success + ")"; 36 | } 37 | 38 | public InSetActiveIsolate(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | id = readDWord(); 41 | success = readByte() != 0; 42 | 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetBreakpoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | import java.util.ArrayList; 23 | import java.util.List; 24 | 25 | /** 26 | * 27 | * @author JPEXS 28 | */ 29 | public class InSetBreakpoint extends InDebuggerMessage { 30 | 31 | public static final int ID = 19; 32 | 33 | public List files; 34 | public List lines; 35 | 36 | @Override 37 | public String toString() { 38 | List parts = new ArrayList<>(); 39 | for (int i = 0; i < files.size(); i++) { 40 | parts.add("file" + files.get(i)+ ":line" + lines.get(i)); 41 | } 42 | return super.toString() + " [" + String.join(",\r\n", parts) + "]" ;// + "(bp.count=" + files.size() + ")"; 43 | } 44 | 45 | public InSetBreakpoint(DebuggerConnection c, byte[] data) { 46 | super(c, ID, data); 47 | int count = (int) readDWord(); 48 | files = new ArrayList<>(); 49 | lines = new ArrayList<>(); 50 | for (int i = 0; i < count; i++) { 51 | if (!wideLines) { 52 | files.add(readWord()); 53 | lines.add(readWord()); 54 | } else { 55 | files.add((int) readDWord()); 56 | lines.add((int) readDWord()); 57 | } 58 | } 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetExceptionBreakpoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSetExceptionBreakpoint extends InDebuggerMessage { 27 | 28 | public static final int ID = 63; 29 | 30 | public int result; 31 | public String exceptionBP; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(result=" + result + ",exceptionBP=" + exceptionBP + ")"; 36 | } 37 | 38 | public InSetExceptionBreakpoint(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | result = readWord(); 41 | exceptionBP = readString(); 42 | //int remaining =available(); 43 | } 44 | 45 | } 46 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetLocalVariables.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSetLocalVariables extends InDebuggerMessage { 27 | 28 | public static final int ID = 18; 29 | 30 | public long id; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(id=" + id + ")"; 35 | } 36 | 37 | public InSetLocalVariables(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | id = readPtr(c); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetMenuState.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSetMenuState extends InDebuggerMessage { 27 | 28 | public static final int ID = 0; 29 | 30 | public long enabledMenuItems; 31 | public long checkedMenuItems; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(enabledMenuItems=" + enabledMenuItems + ",checkedMenuItems=" + checkedMenuItems + ")"; 36 | } 37 | 38 | public InSetMenuState(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | enabledMenuItems = readDWord(); 41 | checkedMenuItems = readDWord(); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetProperty.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InSetProperty extends InDebuggerMessage { 28 | 29 | public static final int ID = 1; 30 | 31 | public long objId; 32 | public int item; 33 | public String value; 34 | 35 | public static final String[] PROPERTY_NAMES = new String[]{ 36 | "_x", "_y", "_xscale", "_yscale", "_currentframe", "_totalframes", "_alpha", "_visible", 37 | "_width", "_height", "_rotation", "_target", "_framesloaded", "_name", "_droptarget", 38 | "_url", "_highquality", "_focusrect", "_soundbuftime", "_quality", "_xmouse", "_ymouse" 39 | }; 40 | 41 | @Override 42 | public String toString() { 43 | return super.toString() + "(objId=" + objId + ", item=" + item + ", value=" + value + ")"; 44 | } 45 | 46 | public InSetProperty(DebuggerConnection c, byte[] data) { 47 | super(c, ID, data); 48 | objId = readPtr(c); 49 | item = readWord(); 50 | value = readString(); 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetVariable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSetVariable extends InDebuggerMessage { 27 | 28 | public static final int ID = 10; 29 | 30 | public long objId; 31 | public String name; 32 | public int dType; 33 | public int flags; 34 | public String value; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(objId=" + objId + ",name=" + name + ", dType=" + dType + ", flags=" + flags + ", value=" + value + ")"; 39 | } 40 | 41 | public InSetVariable(DebuggerConnection c, byte[] data) { 42 | super(c, ID, data); 43 | objId = readPtr(c); 44 | name = readString(); 45 | dType = readWord(); 46 | flags = (int) readDWord(); 47 | value = readString(); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSetVariable2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSetVariable2 extends InDebuggerMessage { 27 | 28 | public static final int ID = 28; 29 | 30 | public long objId; 31 | public String name; 32 | public int type; 33 | public long flags; 34 | 35 | @Override 36 | public String toString() { 37 | return super.toString() + "(objId=" + objId + ",name=" + name + ", type=" + type + ", flags=" + flags + ")"; 38 | } 39 | 40 | public InSetVariable2(DebuggerConnection c, byte[] data) { 41 | super(c, ID, data); 42 | objId = readPtr(c); 43 | name = readString(); 44 | type = readWord(); 45 | flags = readDWord(); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSquelch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InSquelch extends InDebuggerMessage { 27 | 28 | public static final int ID = 29; 29 | 30 | public boolean state; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(state=" + state + ")"; 35 | } 36 | 37 | public InSquelch(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | state = readDWord() != 0; 40 | } 41 | 42 | @Override 43 | public void exec() { 44 | connection.squelchEnabled = state; 45 | } 46 | 47 | } 48 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InSwfInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | import java.util.ArrayList; 23 | import java.util.HashMap; 24 | import java.util.List; 25 | import java.util.Map; 26 | 27 | /** 28 | * 29 | * @author JPEXS 30 | */ 31 | public class InSwfInfo extends InDebuggerMessage { 32 | 33 | public static final int ID = 42; 34 | 35 | public List swfInfos; 36 | 37 | public static class SwfInfo { 38 | 39 | public long index; 40 | public long id; 41 | public boolean debugComing; 42 | public int vmVersion; 43 | public int rsvd1; 44 | public long swfSize; 45 | public long swdSize; 46 | public long scriptCount; 47 | public long offsetCount; 48 | public long breakpointCount; 49 | public long port; 50 | public String path; 51 | public String url; 52 | public String host; 53 | 54 | public Map local2global = new HashMap<>(); 55 | 56 | @Override 57 | public String toString() { 58 | return "SwfInfo(index=" + index + ", id=" + id + ", vmVersion=" + vmVersion + ", swfSize=" + swfSize + ", swdSize=" + swdSize + ", scriptCount=" + scriptCount + ", path=" + path + ", url=" + url + ", host=" + host + ")"; 59 | } 60 | 61 | } 62 | 63 | @Override 64 | public String toString() { 65 | return super.toString() + "(swfInfo.count=" + swfInfos.size() + ")"; 66 | } 67 | 68 | public InSwfInfo(DebuggerConnection c, byte[] data) { 69 | super(c, ID, data); 70 | int count = readWord(); 71 | swfInfos = new ArrayList<>(); 72 | for (int i = 0; i < count; i++) { 73 | SwfInfo s = new SwfInfo(); 74 | s.index = readDWord(); 75 | 76 | s.id = readPtr(c); 77 | if (s.id != 0) { 78 | s.debugComing = readByte() == 0 ? false : true; 79 | s.vmVersion = readByte(); 80 | s.rsvd1 = readWord(); 81 | s.swfSize = readDWord(); 82 | s.swdSize = readDWord(); 83 | s.scriptCount = readDWord(); 84 | s.offsetCount = readDWord(); 85 | s.breakpointCount = readDWord(); 86 | 87 | s.port = readDWord(); 88 | s.path = readString(); 89 | s.url = readString(); 90 | s.host = readString(); 91 | 92 | s.local2global = new HashMap<>(); 93 | if (s.swdSize > 0) { 94 | long num = readDWord(); 95 | for (int j = 0; j < num; j++) { 96 | if (available() < c.sizeOfPtr) { 97 | break; 98 | } 99 | long local = readPtr(c); 100 | int global = (int) readDWord(); 101 | s.local2global.put(local, global); 102 | } 103 | } 104 | } 105 | swfInfos.add(s); 106 | } 107 | } 108 | 109 | } 110 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InTrace.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InTrace extends InDebuggerMessage { 27 | 28 | public static final int ID = 5; 29 | 30 | public String text; 31 | 32 | @Override 33 | public String toString() { 34 | return super.toString() + "(text=" + text + ")"; 35 | } 36 | 37 | public InTrace(DebuggerConnection c, byte[] data) { 38 | super(c, ID, data); 39 | this.text = readString(); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InUnknown.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InUnknown extends InDebuggerMessage { 27 | 28 | public static final int ID = -1; 29 | 30 | @Override 31 | public String toString() { 32 | return super.toString() + "(data.length=" + data.length + ")"; 33 | } 34 | 35 | public InUnknown(DebuggerConnection c, byte[] data) { 36 | super(c, ID, data); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InVersion.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InVersion extends InDebuggerMessage { 27 | 28 | public static final int ID = 26; 29 | 30 | public int playerVersion; 31 | public int pointerSize; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(playerVersion=" + playerVersion + ", pointerSize=" + pointerSize + ")"; 36 | } 37 | 38 | public InVersion(DebuggerConnection c, byte[] data) { 39 | super(c, ID, data); 40 | playerVersion = (int) readDWord(); 41 | if (available() >= 1) { 42 | pointerSize = readByte(); 43 | } else { 44 | pointerSize = 4; 45 | } 46 | //setSizeofPtr(pointerSize); 47 | 48 | } 49 | 50 | @Override 51 | public void exec() { 52 | connection.sizeOfPtr = pointerSize; 53 | connection.playerVersion = playerVersion; 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InWatch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.in; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | 20 | import com.jpexs.debugger.flash.InDebuggerMessage; 21 | 22 | /** 23 | * 24 | * @author JPEXS 25 | */ 26 | public class InWatch extends InDebuggerMessage { 27 | 28 | public static final int ID = 33; 29 | 30 | public int success; 31 | public int oldFlags; 32 | public int oldTag; 33 | public int flags; 34 | public int objId; 35 | public String name; 36 | 37 | @Override 38 | public String toString() { 39 | return super.toString() + "(success=" + success + ", oldFlags=" + oldFlags + ", oldTag=" + oldTag + ", flags=" + flags + ", objId=" + objId + ", name=" + name + ")"; 40 | } 41 | 42 | public InWatch(DebuggerConnection c, byte[] data) { 43 | super(c, ID, data); 44 | success = readWord(); 45 | oldFlags = readWord(); 46 | oldTag = readWord(); 47 | flags = readWord(); 48 | objId = readWord(); 49 | name = readString(); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/in/InWatch2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.in; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | 21 | import com.jpexs.debugger.flash.InDebuggerMessage; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class InWatch2 extends InDebuggerMessage { 28 | 29 | public static final int ID = 55; 30 | 31 | public int success; 32 | public int oldFlags; 33 | public int oldTag; 34 | public int flags; 35 | public long objId; 36 | public String name; 37 | 38 | @Override 39 | public String toString() { 40 | return super.toString() + "(success=" + success + ", oldFlags=" + oldFlags + ", oldTag=" + oldTag + ", flags=" + flags + ", objId=" + objId + ", name=" + name + ")"; 41 | } 42 | 43 | public InWatch2(DebuggerConnection c, byte[] data) { 44 | super(c, ID, data); 45 | success = readWord(); 46 | oldFlags = readWord(); 47 | oldTag = readWord(); 48 | flags = readWord(); 49 | objId = readWord(); 50 | if (c.isAS3) { 51 | objId = readDWord(); 52 | } 53 | name = readString(); 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutAddWatch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutAddWatch extends OutDebuggerMessage { 28 | 29 | public static int ID = 29; 30 | 31 | @Override 32 | public String toString() { 33 | return super.toString() + "(varId=" + varId + ", name=" + name + ", flags=" + flags + ", tags=" + tags + ")"; 34 | } 35 | 36 | public int varId; 37 | public String name; 38 | public int flags; 39 | public int tags; 40 | 41 | public OutAddWatch(DebuggerConnection c, int varId, String name, int flags, int tags) { 42 | super(c, ID); 43 | this.varId = varId; 44 | this.name = name; 45 | this.flags = flags; 46 | this.tags = tags; 47 | //receive InWatch 48 | } 49 | 50 | @Override 51 | public void writeTo(OutputStream os) throws IOException { 52 | writeWord(os, varId); 53 | writeString(os, name); 54 | writeWord(os, flags); 55 | writeWord(os, tags); 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutAddWatch2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutAddWatch2 extends OutDebuggerMessage { 29 | 30 | public static int ID = 49; 31 | 32 | public static int FLAG_READ = 1; 33 | public static int FLAG_WRITE = 2; 34 | 35 | @Override 36 | public String toString() { 37 | return super.toString() + "(varId=" + varId + ", varName=" + varName + ", flags=" + flags + ", tag=" + tag + ")"; 38 | } 39 | 40 | public long varId; 41 | public String varName; 42 | public int flags; 43 | public int tag; 44 | 45 | public OutAddWatch2(DebuggerConnection c, long varId, String varName, int flags, int tag) { 46 | super(c, ID); 47 | this.varId = varId; 48 | this.varName = varName; 49 | this.flags = flags; 50 | this.tag = tag; 51 | //receive InWatch2 52 | } 53 | 54 | @Override 55 | public void writeTo(OutputStream os) throws IOException { 56 | writePtr(os, varId); 57 | writeString(os, varName); 58 | writeWord(os, flags); 59 | writeWord(os, tag); 60 | } 61 | 62 | } 63 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutBack.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutBack extends OutDebuggerMessage { 28 | 29 | public static int ID = 9; 30 | 31 | public OutBack(DebuggerConnection c) { 32 | super(c, ID); 33 | } 34 | 35 | @Override 36 | public void writeTo(OutputStream os) throws IOException { 37 | 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutBinaryOp.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutBinaryOp extends OutDebuggerMessage { 28 | 29 | public static int ID = 52; 30 | 31 | public static final int OP_IS = 0; 32 | public static final int OP_INSTANCEOF = 1; 33 | public static final int OP_IN = 2; 34 | public static final int OP_AS = 3; 35 | 36 | public int id; 37 | public int binaryOp; 38 | public String leftType; 39 | public String leftValue; 40 | public String rightType; 41 | public String rightValue; 42 | 43 | @Override 44 | public String toString() { 45 | return super.toString() + "(id=" + id + ", binaryOp=" + binaryOp + ", leftType=" + leftType + ", leftValue=" + leftValue + ", rightType=" + rightType + ", rightValue=" + rightValue + ")"; 46 | } 47 | 48 | public OutBinaryOp(DebuggerConnection c, int id, int binaryOp, String leftType, String leftValue, String rightType, String rightValue) { 49 | super(c, ID); 50 | this.id = id; 51 | this.binaryOp = binaryOp; 52 | this.leftType = leftType; 53 | this.leftValue = leftValue; 54 | this.rightType = rightType; 55 | this.rightValue = rightValue; 56 | } 57 | 58 | @Override 59 | public void writeTo(OutputStream os) throws IOException { 60 | writeDWord(os, id); 61 | writeByte(os, binaryOp); 62 | writeString(os, leftType); 63 | writeString(os, leftValue); 64 | writeString(os, rightType); 65 | writeString(os, rightValue); 66 | } 67 | 68 | } 69 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutCallFunction.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | import java.util.List; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutCallFunction extends OutDebuggerMessage { 29 | 30 | public static int ID = 48; 31 | 32 | public boolean isConstructor; 33 | public String funcName; 34 | public String thisType; 35 | public String thisValue; 36 | public List argTypes; 37 | public List argValues; 38 | 39 | @Override 40 | public String toString() { 41 | return super.toString() + "(isConstructor=" + isConstructor + ", funcName=" + funcName + ", thisType=" + thisType + ", thisValue=" + thisValue + ", arg.count=" + argTypes.size() + ")"; 42 | } 43 | 44 | public OutCallFunction(DebuggerConnection c, boolean isConstructor, String funcName, String thisType, String thisValue, List argTypes, List argValues) { 45 | super(c, ID); 46 | this.isConstructor = isConstructor; 47 | this.funcName = funcName; 48 | this.thisType = thisType; 49 | this.thisValue = thisValue; 50 | this.argTypes = argTypes; 51 | this.argValues = argValues; 52 | } 53 | 54 | @Override 55 | public void writeTo(OutputStream os) throws IOException { 56 | writeDWord(os, isConstructor ? 1 : 0); 57 | writeDWord(os, 0); //TODO: active frame number 58 | writeString(os, thisType); 59 | writeString(os, thisValue); 60 | writeString(os, funcName); 61 | writeDWord(os, argTypes.size()); 62 | for (int i = 0; i < argTypes.size(); i++) { 63 | writeString(os, argTypes.get(i)); 64 | writeString(os, argValues.get(i)); 65 | } 66 | 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutConstantPool.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutConstantPool extends OutDebuggerMessage { 29 | 30 | public static int ID = 39; 31 | 32 | public int swfIndex; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(swfIndex=" + swfIndex + ")"; 37 | } 38 | 39 | public OutConstantPool(DebuggerConnection c, int swfIndex) { 40 | super(c, ID); 41 | this.swfIndex = swfIndex; 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeWord(os, swfIndex); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutContinue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutContinue extends OutDebuggerMessage { 26 | 27 | public static int ID = 15; 28 | 29 | public OutContinue(DebuggerConnection c) { 30 | super(c, ID); 31 | //receive InContinue 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutExit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutExit extends OutDebuggerMessage { 28 | 29 | public static int ID = 13; 30 | 31 | public boolean requestTerminate; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(requestTerminate=" + requestTerminate + ")"; 36 | } 37 | 38 | public OutExit(DebuggerConnection c, boolean requestTerminate) { 39 | super(c, ID); 40 | this.requestTerminate = requestTerminate; 41 | } 42 | 43 | @Override 44 | public void writeTo(OutputStream os) throws IOException { 45 | writeByte(os, requestTerminate ? 1 : 0); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutForward.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutForward extends OutDebuggerMessage { 26 | 27 | public static int ID = 8; 28 | 29 | 30 | public OutForward(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetActions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutGetActions extends OutDebuggerMessage { 29 | 30 | public static int ID = 36; 31 | 32 | public int swfIndex; 33 | public int offset; 34 | public int length; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(swfIndex=" + swfIndex + ", offset=" + offset + ", length=" + length + ")"; 39 | } 40 | 41 | public OutGetActions(DebuggerConnection c, int swfIndex, int offset, int length) { 42 | super(c, ID); 43 | this.swfIndex = swfIndex; 44 | this.offset = offset; 45 | this.length = length; 46 | //receive InGetActions 47 | } 48 | 49 | @Override 50 | public void writeTo(OutputStream os) throws IOException { 51 | writeWord(os, swfIndex); 52 | writeWord(os, 0); //reserved 53 | writeDWord(os, offset); 54 | writeDWord(os, length); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetBreakReason.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutGetBreakReason extends OutDebuggerMessage { 26 | 27 | public static int ID = 35; 28 | 29 | 30 | public OutGetBreakReason(DebuggerConnection c) { 31 | super(c, ID); 32 | //receive InBreakReason 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetFncNames.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutGetFncNames extends OutDebuggerMessage { 28 | 29 | public static int ID = 40; 30 | 31 | public int file; 32 | public int line; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(file=" + file + ", line=" + line + ")"; 37 | } 38 | 39 | public OutGetFncNames(DebuggerConnection c, int file, int line) { 40 | super(c, ID); 41 | this.file = file; 42 | this.line = line; 43 | //receive InGetFncNames 44 | } 45 | 46 | @Override 47 | public void writeTo(OutputStream os) throws IOException { 48 | writeDWord(os, file); 49 | writeDWord(os, line); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetFrame.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutGetFrame extends OutDebuggerMessage { 28 | 29 | public static int ID = 26; 30 | 31 | public int depth; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(depth=" + depth + ")"; 36 | } 37 | 38 | public OutGetFrame(DebuggerConnection c, int depth) { 39 | super(c, ID); 40 | this.depth = depth; 41 | //receive InFrame 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeDWord(os, depth); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetOption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutGetOption extends OutDebuggerMessage { 28 | 29 | public static int ID = 27; 30 | 31 | public String optionName; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(optionName=" + optionName + ")"; 36 | } 37 | 38 | public OutGetOption(DebuggerConnection c, String optionName) { 39 | super(c, ID); 40 | this.optionName = optionName; 41 | //receive InOption 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeString(os, optionName); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetSwd.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutGetSwd extends OutDebuggerMessage { 29 | 30 | public static int ID = 33; 31 | 32 | public int swfIndex; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(swfIndex=" + swfIndex + ")"; 37 | } 38 | 39 | public OutGetSwd(DebuggerConnection c, int swfIndex) { 40 | super(c, ID); 41 | this.swfIndex = swfIndex; 42 | //receive InGetSwd 43 | } 44 | 45 | @Override 46 | public void writeTo(OutputStream os) throws IOException { 47 | writeWord(os, swfIndex); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetSwf.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutGetSwf extends OutDebuggerMessage { 29 | 30 | public static int ID = 32; 31 | 32 | public int swfIndex; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(swfIndex=" + swfIndex + ")"; 37 | } 38 | 39 | public OutGetSwf(DebuggerConnection c, int swfIndex) { 40 | super(c, ID); 41 | this.swfIndex = swfIndex; 42 | //receive InGetSwf 43 | } 44 | 45 | @Override 46 | public void writeTo(OutputStream os) throws IOException { 47 | writeWord(os, swfIndex); 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetVariable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutGetVariable extends OutDebuggerMessage { 28 | 29 | public static int ID = 25; 30 | 31 | public long id; 32 | public String name; 33 | public int flags; 34 | 35 | @Override 36 | public String toString() { 37 | return super.toString() + "(id=" + id + ", name=" + name + ", flags=" + flags + ")"; 38 | } 39 | 40 | public OutGetVariable(DebuggerConnection c, long id, String name, int flags) { 41 | super(c, ID); 42 | this.id = id; 43 | this.name = name; 44 | this.flags = flags; 45 | } 46 | 47 | @Override 48 | public void writeTo(OutputStream os) throws IOException { 49 | writePtr(os, id); 50 | writeString(os, name); 51 | writeDWord(os, flags); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutGetVariableWhichInvokesGetter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutGetVariableWhichInvokesGetter extends OutDebuggerMessage { 28 | 29 | public static int ID = 34; 30 | 31 | public long id; 32 | public String name; 33 | public int flags; 34 | 35 | @Override 36 | public String toString() { 37 | return super.toString() + "(id=" + id + ", name=" + name + ", flags=" + flags + ")"; 38 | } 39 | 40 | public OutGetVariableWhichInvokesGetter(DebuggerConnection c, long id, String name, int flags) { 41 | super(c, ID); 42 | this.id = id; 43 | this.name = name; 44 | this.flags = flags; 45 | } 46 | 47 | @Override 48 | public void writeTo(OutputStream os) throws IOException { 49 | writePtr(os, id); 50 | writeString(os, name); 51 | writeDWord(os, flags); 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutHome.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutHome extends OutDebuggerMessage { 26 | 27 | public static int ID = 3; 28 | 29 | 30 | public OutHome(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutIsolateEnumerate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutIsolateEnumerate extends OutDebuggerMessage { 26 | 27 | public static int ID = 53; 28 | 29 | 30 | public OutIsolateEnumerate(DebuggerConnection c) { 31 | super(c, ID); 32 | //receive InIsolateEnumerate 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutLoop.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutLoop extends OutDebuggerMessage { 26 | 27 | public static int ID = 6; 28 | 29 | 30 | public OutLoop(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutPassAllExceptionsToDebugger.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutPassAllExceptionsToDebugger extends OutDebuggerMessage { 28 | 29 | public static int ID = 51; 30 | 31 | public boolean value; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(value=" + value + ")"; 36 | } 37 | 38 | public OutPassAllExceptionsToDebugger(DebuggerConnection c, boolean value) { 39 | super(c, ID); 40 | this.value = value; 41 | //receive InPassAllExceptionsToDebugger 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeByte(os, value ? 1 : 0); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutPlay.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutPlay extends OutDebuggerMessage { 26 | 27 | public static int ID = 5; 28 | 29 | 30 | public OutPlay(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutPrint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutPrint extends OutDebuggerMessage { 26 | 27 | public static int ID = 10; 28 | 29 | 30 | public OutPrint(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutProcessedTag.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutProcessedTag extends OutDebuggerMessage { 26 | 27 | public static int ID = 23; 28 | 29 | 30 | public OutProcessedTag(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutRemoveAllBreakpoints.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutRemoveAllBreakpoints extends OutDebuggerMessage { 26 | 27 | public static int ID = 19; 28 | 29 | 30 | public OutRemoveAllBreakpoints(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutRemoveBreakpoints.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | import java.util.ArrayList; 24 | import java.util.List; 25 | 26 | /** 27 | * 28 | * @author JPEXS 29 | */ 30 | public class OutRemoveBreakpoints extends OutDebuggerMessage { 31 | 32 | public static int ID = 18; 33 | 34 | public List files; 35 | public List lines; 36 | 37 | @Override 38 | public String toString() { 39 | return super.toString() + "(bp.count=" + files.size() + ")"; 40 | } 41 | 42 | public OutRemoveBreakpoints(DebuggerConnection c, int file, int line) { 43 | super(c, ID); 44 | this.files = new ArrayList<>(); 45 | this.lines = new ArrayList<>(); 46 | 47 | lines.add(line); 48 | files.add(file); 49 | } 50 | 51 | public OutRemoveBreakpoints(DebuggerConnection c, List files, List lines) { 52 | super(c, ID); 53 | this.files = files; 54 | this.lines = lines; 55 | //receive InSetBreakpoint 56 | } 57 | 58 | @Override 59 | public void writeTo(OutputStream os) throws IOException { 60 | writeDWord(os, files.size()); 61 | for (int i = 0; i < files.size(); i++) { 62 | if (!connection.wideLines) { 63 | writeWord(os, files.get(i)); 64 | writeWord(os, lines.get(i)); 65 | } else { 66 | writeDWord(os, files.get(i)); 67 | writeDWord(os, lines.get(i)); 68 | } 69 | } 70 | } 71 | 72 | } 73 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutRemoveExceptionBreakpoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutRemoveExceptionBreakpoint extends OutDebuggerMessage { 28 | 29 | public static int ID = 56; 30 | 31 | public String exceptionClass; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(exceptionClass=" + exceptionClass + ")"; 36 | } 37 | 38 | public OutRemoveExceptionBreakpoint(DebuggerConnection c, String exceptionClass) { 39 | super(c, ID); 40 | this.exceptionClass = exceptionClass; 41 | //receive InRemoveExceptionBreakpoint 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeString(os, exceptionClass); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutRemoveWatch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutRemoveWatch extends OutDebuggerMessage { 28 | 29 | public static int ID = 30; 30 | 31 | public int id; 32 | public String name; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(id=" + id + ", name=" + name + ")"; 37 | } 38 | 39 | public OutRemoveWatch(DebuggerConnection c, int id, String name) { 40 | super(c, ID); 41 | this.id = id; 42 | this.name = name; 43 | } 44 | 45 | @Override 46 | public void writeTo(OutputStream os) throws IOException { 47 | writeWord(os, id); 48 | writeString(os, name); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutRemoveWatch2.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutRemoveWatch2 extends OutDebuggerMessage { 28 | 29 | public static int ID = 50; 30 | 31 | public long id; 32 | public String name; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(id=" + id + ", name=" + name + ")"; 37 | } 38 | 39 | public OutRemoveWatch2(DebuggerConnection c, long id, String name) { 40 | super(c, ID); 41 | this.id = id; 42 | this.name = name; 43 | //receive InWatch2 44 | } 45 | 46 | @Override 47 | public void writeTo(OutputStream os) throws IOException { 48 | writePtr(os, id); 49 | writeString(os, name); 50 | } 51 | 52 | } 53 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutRewind.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutRewind extends OutDebuggerMessage { 26 | 27 | public static int ID = 7; 28 | 29 | 30 | public OutRewind(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetActions.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutSetActions extends OutDebuggerMessage { 29 | 30 | public static int ID = 37; 31 | 32 | public int swfIndex; 33 | public long offset; 34 | public byte actionData[]; 35 | 36 | @Override 37 | public String toString() { 38 | return super.toString() + "(swfIndex=" + swfIndex + ", offset=" + offset + ", actionData.count=" + actionData.length + ")"; 39 | } 40 | 41 | public OutSetActions(DebuggerConnection c, int swfIndex, long offset, byte actionData[]) { 42 | super(c, ID); 43 | this.swfIndex = swfIndex; 44 | this.offset = offset; 45 | this.actionData = actionData; 46 | } 47 | 48 | @Override 49 | public void writeTo(OutputStream os) throws IOException { 50 | writeWord(os, swfIndex); 51 | writeWord(os, 0);//reserved 52 | writeDWord(os, offset); 53 | writeDWord(os, actionData.length); 54 | writeBytes(os, actionData); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetActiveIsolate.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutSetActiveIsolate extends OutDebuggerMessage { 28 | 29 | public static int ID = 54; 30 | 31 | public long isolate; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(isolate=" + isolate + ")"; 36 | } 37 | 38 | public OutSetActiveIsolate(DebuggerConnection c, long isolate) { 39 | super(c, ID); 40 | this.isolate = isolate; 41 | } 42 | 43 | @Override 44 | public void writeTo(OutputStream os) throws IOException { 45 | writeDWord(os, isolate); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetBreakpoints.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | import java.util.ArrayList; 24 | import java.util.List; 25 | 26 | /** 27 | * 28 | * @author JPEXS 29 | */ 30 | public class OutSetBreakpoints extends OutDebuggerMessage { 31 | 32 | public static int ID = 17; 33 | 34 | public List files; 35 | public List lines; 36 | 37 | @Override 38 | public String toString() { 39 | List parts = new ArrayList<>(); 40 | for (int i = 0; i < files.size(); i++) { 41 | parts.add("file" + files.get(i)+ ":line" + lines.get(i)); 42 | } 43 | return super.toString() + " [" + String.join(",\r\n", parts) + "]" ; //+ "(bp.count=" + files.size() + ")"; 44 | } 45 | 46 | public OutSetBreakpoints(DebuggerConnection c, int file, int line) { 47 | super(c, ID); 48 | this.files = new ArrayList<>(); 49 | this.lines = new ArrayList<>(); 50 | 51 | lines.add(line); 52 | files.add(file); 53 | } 54 | 55 | public OutSetBreakpoints(DebuggerConnection c, List files, List lines) { 56 | super(c, ID); 57 | this.files = files; 58 | this.lines = lines; 59 | //receive InSetBreakpoint 60 | } 61 | 62 | @Override 63 | public void writeTo(OutputStream os) throws IOException { 64 | writeDWord(os, files.size()); 65 | for (int i = 0; i < files.size(); i++) { 66 | int file = files.get(i); 67 | int line = lines.get(i); 68 | if (!connection.wideLines) { 69 | writeWord(os, file); 70 | writeWord(os, line); 71 | } else { 72 | writeDWord(os, file); 73 | writeDWord(os, line); 74 | } 75 | } 76 | } 77 | 78 | } 79 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetExceptionBreakpoint.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutSetExceptionBreakpoint extends OutDebuggerMessage { 28 | 29 | public static int ID = 55; 30 | 31 | public String exceptionClass; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(exceptionClass=" + exceptionClass + ")"; 36 | } 37 | 38 | public OutSetExceptionBreakpoint(DebuggerConnection c, String exceptionClass) { 39 | super(c, ID); 40 | this.exceptionClass = exceptionClass; 41 | //receive InSetExceptionBreakpoint 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeString(os, exceptionClass); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetFocus.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutSetFocus extends OutDebuggerMessage { 28 | 29 | public static int ID = 14; 30 | 31 | public long objId; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(objId=" + objId + ")"; 36 | } 37 | 38 | public OutSetFocus(DebuggerConnection c, long objId) { 39 | super(c, ID); 40 | this.objId = objId; 41 | } 42 | 43 | @Override 44 | public void writeTo(OutputStream os) throws IOException { 45 | writePtr(os, objId); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetOption.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutSetOption extends OutDebuggerMessage { 29 | 30 | public static int ID = 28; 31 | 32 | public String option; 33 | public String value; 34 | 35 | public static final String OPTION_CONCURRENT_DEBUGGER = "concurrent_debugger"; 36 | public static final String OPTION_WIDE_LINE_DEBUGGER = "wide_line_debugger"; 37 | public static final String OPTION_ASTRACE = "astrace"; 38 | public static final String OPTION_BREAK_ON_FAULT = "break_on_fault"; 39 | public static final String OPTION_CONSOLE_ERRORS = "console_errors"; 40 | public static final String OPTION_DISABLE_SCRIPT_STUCK = "disable_script_stuck"; 41 | public static final String OPTION_DISABLE_SCRIPT_STUCK_DIALOG = "disable_script_stuck_dialog"; 42 | public static final String OPTION_ENUMERATE_OVERRIDE = "enumerate_override"; 43 | public static final String OPTION_GETTER_TIMEOUT = "getter_timeout"; 44 | public static final String OPTION_INVOKE_SETTERS = "invoke_setters"; 45 | public static final String OPTION_NOTIFY_ON_FAILURE = "notify_on_failure"; 46 | public static final String OPTION_SETTER_TIMEOUT = "setter_timeout"; 47 | public static final String OPTION_SCRIPT_TIMEOUT = "script_timeout"; 48 | public static final String OPTION_LOAD_MESSAGES = "swf_load_messages"; 49 | public static final String OPTION_VERBOSE = "verbose"; 50 | 51 | @Override 52 | public String toString() { 53 | return super.toString() + "(option=" + option + ", value=" + value + ")"; 54 | } 55 | 56 | public OutSetOption(DebuggerConnection c, String option, String value) { 57 | super(c, ID); 58 | this.option = option; 59 | this.value = value; 60 | //receive InOption 61 | } 62 | 63 | @Override 64 | public void writeTo(OutputStream os) throws IOException { 65 | writeString(os, option); 66 | writeString(os, value); 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetProperty.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutSetProperty extends OutDebuggerMessage { 29 | 30 | public static int ID = 12; 31 | 32 | public long addr; 33 | public int propertyId; 34 | public String type; 35 | public String value; 36 | 37 | public static final String[] PROPERTY_NAMES = new String[]{ 38 | "_x", "_y", "_xscale", "_yscale", "_currentframe", "_totalframes", "_alpha", "_visible", 39 | "_width", "_height", "_rotation", "_target", "_framesloaded", "_name", "_droptarget", 40 | "_url", "_highquality", "_focusrect", "_soundbuftime", "_quality", "_xmouse", "_ymouse" 41 | }; 42 | 43 | @Override 44 | public String toString() { 45 | return super.toString() + "(addr=" + addr + ", propertyId=" + propertyId + ", type=" + type + ", value=" + value + ")"; 46 | } 47 | 48 | public OutSetProperty(DebuggerConnection c, long addr, int propertyId, String type, String value) { 49 | super(c, ID); 50 | this.addr = addr; 51 | this.propertyId = propertyId; 52 | this.type = type; 53 | this.value = value; 54 | } 55 | 56 | @Override 57 | public void writeTo(OutputStream os) throws IOException { 58 | //writePtr(os, objId); 59 | writeDWord(os, addr); 60 | writeWord(os, propertyId); 61 | writeString(os, type); 62 | writeString(os, value); 63 | } 64 | 65 | } 66 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetQuality.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutSetQuality extends OutDebuggerMessage { 29 | 30 | public static int ID = 4; 31 | 32 | public String quality; 33 | 34 | public static final String QUALITY_LOW = "LOW"; 35 | public static final String QUALITY_MEDIUM = "MEDIUM"; 36 | public static final String QUALITY_HIGH = "HIGH"; 37 | public static final String QUALITY_AUTOLOW = "AUTOLOW"; 38 | public static final String QUALITY_AUTOMEDIUM = "AUTOMEDIUM"; 39 | public static final String QUALITY_AUTOHIGH = "AUTOHIGH"; 40 | public static final String QUALITY_BEST = "BEST"; 41 | 42 | @Override 43 | public String toString() { 44 | return super.toString() + "(quality=" + quality + ")"; 45 | } 46 | 47 | public OutSetQuality(DebuggerConnection c, String quality) { 48 | super(c, ID); 49 | this.quality = quality; 50 | } 51 | 52 | @Override 53 | public void writeTo(OutputStream os) throws IOException { 54 | writeString(os, quality); 55 | } 56 | 57 | } 58 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetSquelch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | import java.io.IOException; 21 | import java.io.OutputStream; 22 | 23 | /** 24 | * 25 | * @author JPEXS 26 | */ 27 | public class OutSetSquelch extends OutDebuggerMessage { 28 | 29 | public static int ID = 24; 30 | 31 | public boolean on; 32 | 33 | @Override 34 | public String toString() { 35 | return super.toString() + "(on=" + on + ")"; 36 | } 37 | 38 | public OutSetSquelch(DebuggerConnection c, boolean on) { 39 | super(c, ID); 40 | this.on = on; 41 | //receive InSquelch 42 | } 43 | 44 | @Override 45 | public void writeTo(OutputStream os) throws IOException { 46 | writeDWord(os, on ? 1 : 0); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSetVariable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutSetVariable extends OutDebuggerMessage { 29 | 30 | public static int ID = 11; 31 | 32 | public long parentId; 33 | public String name; 34 | public String type; 35 | public String value; 36 | 37 | @Override 38 | public String toString() { 39 | return super.toString() + "(parentId=" + parentId + ", name=" + name + ", type=" + type + ", value=" + value + ")"; 40 | } 41 | 42 | public OutSetVariable(DebuggerConnection c, long parentId, String name, String type, String value) { 43 | super(c, ID); 44 | this.parentId = parentId; 45 | this.name = name; 46 | this.type = type; 47 | this.value = value; 48 | } 49 | 50 | @Override 51 | public void writeTo(OutputStream os) throws IOException { 52 | writePtr(os, parentId); 53 | writeString(os, name); 54 | writeString(os, type); 55 | writeString(os, value); 56 | } 57 | 58 | } 59 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutStepContinue.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutStepContinue extends OutDebuggerMessage { 26 | 27 | public static int ID = 31; 28 | 29 | 30 | public OutStepContinue(DebuggerConnection c) { 31 | super(c, ID); 32 | 33 | //receive InContinue 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutStepInto.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutStepInto extends OutDebuggerMessage { 26 | 27 | public static int ID = 21; 28 | 29 | 30 | public OutStepInto(DebuggerConnection c) { 31 | super(c, ID); 32 | //receive InContinue 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutStepOut.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutStepOut extends OutDebuggerMessage { 26 | 27 | public static int ID = 22; 28 | 29 | 30 | public OutStepOut(DebuggerConnection c) { 31 | super(c, ID); 32 | //receive InContinue 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutStepOver.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutStepOver extends OutDebuggerMessage { 26 | 27 | public static int ID = 20; 28 | 29 | 30 | public OutStepOver(DebuggerConnection c) { 31 | super(c, ID); 32 | ///receive InContinue 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutStopDebug.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutStopDebug extends OutDebuggerMessage { 26 | 27 | public static int ID = 16; 28 | 29 | 30 | public OutStopDebug(DebuggerConnection c) { 31 | super(c, ID); 32 | //receive InBreakAtExt 33 | } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutSwfInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. 16 | */ 17 | package com.jpexs.debugger.flash.messages.out; 18 | 19 | import com.jpexs.debugger.flash.DebuggerConnection; 20 | import com.jpexs.debugger.flash.OutDebuggerMessage; 21 | import java.io.IOException; 22 | import java.io.OutputStream; 23 | 24 | /** 25 | * 26 | * @author JPEXS 27 | */ 28 | public class OutSwfInfo extends OutDebuggerMessage { 29 | 30 | public static int ID = 38; 31 | 32 | public int swfIndex; 33 | 34 | @Override 35 | public String toString() { 36 | return super.toString() + "(swfIndex=" + swfIndex + ")"; 37 | } 38 | 39 | public OutSwfInfo(DebuggerConnection c, int swfIndex) { 40 | super(c, ID); 41 | this.swfIndex = swfIndex; 42 | //receive InSwfInfo 43 | } 44 | 45 | @Override 46 | public void writeTo(OutputStream os) throws IOException { 47 | writeWord(os, swfIndex); 48 | writeWord(os, 0); //reserved 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutUnknown.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutUnknown extends OutDebuggerMessage { 26 | 27 | public static int ID = -2; 28 | 29 | 30 | public OutUnknown(DebuggerConnection c, byte[] data) { 31 | super(c, -2, data); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutZoom100.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutZoom100 extends OutDebuggerMessage { 26 | 27 | public static int ID = 2; 28 | 29 | 30 | public OutZoom100(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutZoomIn.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutZoomIn extends OutDebuggerMessage { 26 | 27 | public static int ID = 0; 28 | 29 | 30 | public OutZoomIn(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /src/com/jpexs/debugger/flash/messages/out/OutZoomOut.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (C) 2015 JPEXS, All rights reserved. 3 | * 4 | * This library is free software; you can redistribute it and/or 5 | * modify it under the terms of the GNU Lesser General Public 6 | * License as published by the Free Software Foundation; either 7 | * version 3.0 of the License, or (at your option) any later version. 8 | * 9 | * This library is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 | * Lesser General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU Lesser General Public 15 | * License along with this library. */ 16 | package com.jpexs.debugger.flash.messages.out; 17 | 18 | import com.jpexs.debugger.flash.DebuggerConnection; 19 | import com.jpexs.debugger.flash.OutDebuggerMessage; 20 | 21 | /** 22 | * 23 | * @author JPEXS 24 | */ 25 | public class OutZoomOut extends OutDebuggerMessage { 26 | 27 | public static int ID = 1; 28 | 29 | 30 | public OutZoomOut(DebuggerConnection c) { 31 | super(c, ID); 32 | } 33 | 34 | } 35 | --------------------------------------------------------------------------------