diff --git a/.gitignore b/.gitignore
index 50d797850..c5a5256b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -28,6 +28,7 @@ hs_err_pid*.log
/libsrc/ffdec_lib/nbproject/private/
/libsrc/ffdec_lib/javadoc/
/libsrc/ffdec_lib/coverage/
+/libsrc/ffdec_lib/reports/
/libsrc/ffdec_lib/dist/
/libsrc/ffdec_lib/testdata/decompile/
/libsrc/ffdec_lib/testdata/recompile/
diff --git a/build.xml b/build.xml
index 6e26a5682..10116c23a 100644
--- a/build.xml
+++ b/build.xml
@@ -2,8 +2,8 @@
Builds project FFDec
-
-
+
+
@@ -11,6 +11,10 @@
+
+
+
+
@@ -55,5 +59,5 @@
-
+
diff --git a/build_common.xml b/build_common.xml
index ff70fd1ff..065749bee 100644
--- a/build_common.xml
+++ b/build_common.xml
@@ -71,7 +71,7 @@
-
+
@@ -320,7 +320,16 @@
-
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/ffdec_lib.jar b/lib/ffdec_lib.jar
new file mode 100644
index 000000000..a64b0677d
Binary files /dev/null and b/lib/ffdec_lib.jar differ
diff --git a/lib/ffdec_lib.license.txt b/lib/ffdec_lib.license.txt
new file mode 100644
index 000000000..65c5ca88a
--- /dev/null
+++ b/lib/ffdec_lib.license.txt
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/libsrc/ffdec_lib/build.xml b/libsrc/ffdec_lib/build.xml
new file mode 100644
index 000000000..9ddce4e40
--- /dev/null
+++ b/libsrc/ffdec_lib/build.xml
@@ -0,0 +1,41 @@
+
+
+
+ Builds project FFDec Library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libsrc/ffdec_lib/build_common.xml b/libsrc/ffdec_lib/build_common.xml
new file mode 100644
index 000000000..b43486160
--- /dev/null
+++ b/libsrc/ffdec_lib/build_common.xml
@@ -0,0 +1,224 @@
+
+
+ Builds project
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Must select one file in the IDE or set test.class
+ Must select some method in the IDE or set test.method
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libsrc/ffdec_lib/license.txt b/libsrc/ffdec_lib/license.txt
new file mode 100644
index 000000000..65c5ca88a
--- /dev/null
+++ b/libsrc/ffdec_lib/license.txt
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff --git a/libsrc/ffdec_lib/nbproject/project.xml b/libsrc/ffdec_lib/nbproject/project.xml
new file mode 100644
index 000000000..2f8b6af38
--- /dev/null
+++ b/libsrc/ffdec_lib/nbproject/project.xml
@@ -0,0 +1,102 @@
+
+
+ org.netbeans.modules.ant.freeform
+
+
+ ffdec_lib
+
+
+
+ ffdec_lib
+
+
+
+ ffdec_lib
+ .
+ UTF-8
+
+
+ src
+ java
+ src
+ UTF-8
+
+
+ test
+ java
+ test
+ UTF-8
+
+
+
+
+ build
+
+
+ clean
+
+
+ javadoc
+
+
+ run
+
+
+ test
+
+
+ clean
+ build
+
+
+
+ folder
+ build
+ build
+
+
+
+
+ src
+ src
+
+
+ test
+ test
+
+
+ build.xml
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ src
+ ../../lib/LZMA.jar;../../lib/avi.jar;../../lib/flamingo-6.2.jar;../../lib/gif.jar;../../lib/gnujpdf.jar;../../lib/jargs.jar;../../lib/jl1.0.1.jar;../../lib/jna-3.5.1.jar;../../lib/jpacker.jar;../../lib/jpproxy.jar;../../lib/jsyntaxpane-0.9.5.jar;../../lib/nellymoser.jar;../../lib/sfntly.jar;../../lib/substance-6.2.jar;../../lib/substance-flamingo-6.2.jar;../../lib/trident-6.2.jar;../../lib/ttf.jar
+ build
+ 1.7
+
+
+ test
+
+ ../../lib/LZMA.jar;../../lib/avi.jar;../../lib/flamingo-6.2.jar;../../lib/gif.jar;../../lib/gnujpdf.jar;../../lib/jargs.jar;../../lib/jl1.0.1.jar;../../lib/jna-3.5.1.jar;../../lib/jpacker.jar;../../lib/jpproxy.jar;../../lib/jsyntaxpane-0.9.5.jar;../../lib/nellymoser.jar;../../lib/sfntly.jar;../../lib/substance-6.2.jar;../../lib/substance-flamingo-6.2.jar;../../lib/trident-6.2.jar;../../lib/ttf.jar;build/classes;testlib/emma.jar;testlib/emma_ant.jar;testlib/testng-6.8.jar
+ 1.7
+
+
+
+
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java
new file mode 100644
index 000000000..6fe661b92
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AbortRetryIgnoreHandler.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface AbortRetryIgnoreHandler {
+
+ public static int UNDEFINED = -1;
+ public static int ABORT = 0;
+ public static int RETRY = 1;
+ public static int IGNORE = 2;
+
+ public int handle(Throwable thrown);
+
+ public AbortRetryIgnoreHandler getNewInstance();
+}
diff --git a/src/com/jpexs/decompiler/flash/AppStrings.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppStrings.java
similarity index 59%
rename from src/com/jpexs/decompiler/flash/AppStrings.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppStrings.java
index 30f372bf9..944afce77 100644
--- a/src/com/jpexs/decompiler/flash/AppStrings.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/AppStrings.java
@@ -1,56 +1,55 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash;
-
-import java.util.ResourceBundle;
-
-/**
- *
- * @author JPEXS
- */
-public class AppStrings {
-
- private static Class resourceClass;
- private static ResourceBundle resourceBundle;
-
- public static void setResourceClass(Class cls) {
- resourceClass = cls;
- updateLanguage();
- }
-
- public static String getResourcePath(Class cls) {
- String name = cls.getName();
- if (name.startsWith("com.jpexs.decompiler.flash.gui.")) {
- name = name.substring("com.jpexs.decompiler.flash.gui.".length());
- name = "com.jpexs.decompiler.flash.gui.locales." + name;
- }
- return name;
- }
-
- public static String translate(String key) {
- return resourceBundle.getString(key);
- }
-
- public static String translate(String bundle, String key) {
- ResourceBundle b = ResourceBundle.getBundle(bundle);
- return b.getString(key);
- }
-
- public static void updateLanguage() {
- resourceBundle = ResourceBundle.getBundle(getResourcePath(resourceClass));
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import java.util.ResourceBundle;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class AppStrings {
+
+ private static Class resourceClass;
+ private static ResourceBundle resourceBundle;
+
+ public static void setResourceClass(Class cls) {
+ resourceClass = cls;
+ updateLanguage();
+ }
+
+ public static String getResourcePath(Class cls) {
+ String name = cls.getName();
+ if (name.startsWith("com.jpexs.decompiler.flash.gui.")) {
+ name = name.substring("com.jpexs.decompiler.flash.gui.".length());
+ name = "com.jpexs.decompiler.flash.gui.locales." + name;
+ }
+ return name;
+ }
+
+ public static String translate(String key) {
+ return resourceBundle.getString(key);
+ }
+
+ public static String translate(String bundle, String key) {
+ ResourceBundle b = ResourceBundle.getBundle(bundle);
+ return b.getString(key);
+ }
+
+ public static void updateLanguage() {
+ resourceBundle = ResourceBundle.getBundle(getResourcePath(resourceClass));
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/ApplicationInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/ApplicationInfo.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java
index d5f83598e..af221a2b1 100644
--- a/src/com/jpexs/decompiler/flash/ApplicationInfo.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ApplicationInfo.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import java.io.IOException;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java
new file mode 100644
index 000000000..3cc4e1a9f
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BaseLocalData.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public abstract class BaseLocalData {
+
+}
diff --git a/src/com/jpexs/decompiler/flash/BinarySWFBundle.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BinarySWFBundle.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/BinarySWFBundle.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BinarySWFBundle.java
index 61b070df6..9358e101d 100644
--- a/src/com/jpexs/decompiler/flash/BinarySWFBundle.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/BinarySWFBundle.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import com.jpexs.helpers.SwfHeaderStreamSearch;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/DisassemblyListener.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/DisassemblyListener.java
new file mode 100644
index 000000000..c3f8a2d4d
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/DisassemblyListener.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface DisassemblyListener {
+
+ public void progress(String phase, long pos, long total);
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/EndOfStreamException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/EndOfStreamException.java
new file mode 100644
index 000000000..1dd428d75
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/EndOfStreamException.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class EndOfStreamException extends RuntimeException {
+
+ public EndOfStreamException() {
+ super("Premature end of the stream reached");
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/EventListener.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/EventListener.java
new file mode 100644
index 000000000..ac343b28b
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/EventListener.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface EventListener {
+
+ public void handleEvent(String event, Object data);
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/FinalProcessLocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/FinalProcessLocalData.java
new file mode 100644
index 000000000..007809374
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/FinalProcessLocalData.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import java.util.HashSet;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class FinalProcessLocalData {
+
+ public final HashSet temporaryRegisters;
+
+ public FinalProcessLocalData() {
+ temporaryRegisters = new HashSet<>();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/RetryTask.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java
similarity index 56%
rename from src/com/jpexs/decompiler/flash/RetryTask.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java
index 2350ad225..81496bd1e 100644
--- a/src/com/jpexs/decompiler/flash/RetryTask.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RetryTask.java
@@ -1,55 +1,54 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash;
-
-import java.io.IOException;
-
-/**
- *
- * @author JPEXS
- */
-public class RetryTask {
-
- private final RunnableIOEx r;
- private final AbortRetryIgnoreHandler handler;
- public Object result;
-
- public RetryTask(RunnableIOEx r, AbortRetryIgnoreHandler handler) {
- this.r = r;
- this.handler = handler;
- }
-
- public void run() throws IOException {
- boolean retry;
- do {
- retry = false;
- try {
- r.run();
- } catch (Exception ex) {
- switch (handler.handle(ex)) {
- case AbortRetryIgnoreHandler.ABORT:
- throw ex;
- case AbortRetryIgnoreHandler.RETRY:
- retry = true;
- break;
- case AbortRetryIgnoreHandler.IGNORE:
- break;
- }
- }
- } while (retry);
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import java.io.IOException;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class RetryTask {
+
+ private final RunnableIOEx r;
+ private final AbortRetryIgnoreHandler handler;
+ public Object result;
+
+ public RetryTask(RunnableIOEx r, AbortRetryIgnoreHandler handler) {
+ this.r = r;
+ this.handler = handler;
+ }
+
+ public void run() throws IOException {
+ boolean retry;
+ do {
+ retry = false;
+ try {
+ r.run();
+ } catch (Exception ex) {
+ switch (handler.handle(ex)) {
+ case AbortRetryIgnoreHandler.ABORT:
+ throw ex;
+ case AbortRetryIgnoreHandler.RETRY:
+ retry = true;
+ break;
+ case AbortRetryIgnoreHandler.IGNORE:
+ break;
+ }
+ }
+ } while (retry);
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RunnableIOEx.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RunnableIOEx.java
new file mode 100644
index 000000000..6597703d9
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RunnableIOEx.java
@@ -0,0 +1,27 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import java.io.IOException;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface RunnableIOEx {
+
+ public void run() throws IOException;
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RunnableIOExResult.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RunnableIOExResult.java
new file mode 100644
index 000000000..c24899a3b
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/RunnableIOExResult.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @param
+ * @author JPEXS
+ */
+public abstract class RunnableIOExResult implements RunnableIOEx {
+
+ public T result;
+}
diff --git a/src/com/jpexs/decompiler/flash/SWC.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/SWC.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java
index 04a327b7a..ad88984d1 100644
--- a/src/com/jpexs/decompiler/flash/SWC.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWC.java
@@ -1,79 +1,78 @@
-/*
- * Copyright (C) 2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipInputStream;
-import javax.xml.parsers.SAXParser;
-import javax.xml.parsers.SAXParserFactory;
-import org.xml.sax.Attributes;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- *
- * @author JPEXS
- */
-public class SWC extends ZippedSWFBundle {
-
- public SWC(InputStream is) throws IOException {
- super(is);
- keySet.clear();
- this.is.reset();
- ZipInputStream zip = new ZipInputStream(this.is);
- ZipEntry entry;
- try {
- while ((entry = zip.getNextEntry()) != null) {
- if (entry.getName().equals("catalog.xml")) {
- try {
- SAXParserFactory factory = SAXParserFactory.newInstance();
- SAXParser saxParser = factory.newSAXParser();
- DefaultHandler handler = new DefaultHandler() {
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
- if (qName.equalsIgnoreCase("library")) {
- String path = attributes.getValue("path");
- if (path != null) {
- keySet.add(path);
- }
- }
- }
-
- };
- saxParser.parse(zip, handler);
- } catch (Exception ex) {
-
- }
- return;
- }
- }
- } catch (IOException ex) {
- Logger.getLogger(ZippedSWFBundle.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
-
- @Override
- public String getExtension() {
- return "swc";
- }
-
-}
+/*
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipInputStream;
+import javax.xml.parsers.SAXParser;
+import javax.xml.parsers.SAXParserFactory;
+import org.xml.sax.Attributes;
+import org.xml.sax.SAXException;
+import org.xml.sax.helpers.DefaultHandler;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class SWC extends ZippedSWFBundle {
+
+ public SWC(InputStream is) throws IOException {
+ super(is);
+ keySet.clear();
+ this.is.reset();
+ ZipInputStream zip = new ZipInputStream(this.is);
+ ZipEntry entry;
+ try {
+ while ((entry = zip.getNextEntry()) != null) {
+ if (entry.getName().equals("catalog.xml")) {
+ try {
+ SAXParserFactory factory = SAXParserFactory.newInstance();
+ SAXParser saxParser = factory.newSAXParser();
+ DefaultHandler handler = new DefaultHandler() {
+
+ @Override
+ public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
+ if (qName.equalsIgnoreCase("library")) {
+ String path = attributes.getValue("path");
+ if (path != null) {
+ keySet.add(path);
+ }
+ }
+ }
+
+ };
+ saxParser.parse(zip, handler);
+ } catch (Exception ex) {
+
+ }
+ return;
+ }
+ }
+ } catch (IOException ex) {
+ Logger.getLogger(ZippedSWFBundle.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+
+ @Override
+ public String getExtension() {
+ return "swc";
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/SWF.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java
similarity index 99%
rename from src/com/jpexs/decompiler/flash/SWF.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java
index 4d8a9a1af..522ddc408 100644
--- a/src/com/jpexs/decompiler/flash/SWF.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWF.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import SevenZip.Compression.LZMA.Decoder;
diff --git a/src/com/jpexs/decompiler/flash/SWFBundle.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFBundle.java
similarity index 50%
rename from src/com/jpexs/decompiler/flash/SWFBundle.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFBundle.java
index 769dfae07..961d9b096 100644
--- a/src/com/jpexs/decompiler/flash/SWFBundle.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFBundle.java
@@ -1,39 +1,38 @@
-/*
- * Copyright (C) 2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash;
-
-import com.jpexs.helpers.streams.SeekableInputStream;
-import java.io.IOException;
-import java.util.Map;
-import java.util.Set;
-
-/**
- *
- * @author JPEXS
- */
-public interface SWFBundle {
-
- public int length();
-
- public Set getKeys();
-
- public SeekableInputStream getSWF(String key) throws IOException;
-
- public Map getAll() throws IOException;
-
- public String getExtension();
-}
+/*
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import com.jpexs.helpers.streams.SeekableInputStream;
+import java.io.IOException;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface SWFBundle {
+
+ public int length();
+
+ public Set getKeys();
+
+ public SeekableInputStream getSWF(String key) throws IOException;
+
+ public Map getAll() throws IOException;
+
+ public String getExtension();
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFCompression.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFCompression.java
new file mode 100644
index 000000000..5217fdeb5
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFCompression.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public enum SWFCompression {
+
+ NONE, ZLIB, LZMA
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java
new file mode 100644
index 000000000..c62c3cb00
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFHeader.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class SWFHeader {
+
+ /**
+ * Version of SWF
+ */
+ public int version;
+
+ /**
+ * Uncompressed size of the file
+ */
+ public long fileSize;
+
+ /**
+ * Used compression mode
+ */
+ public SWFCompression compression = SWFCompression.NONE;
+
+ /**
+ * LZMA properties
+ */
+ public byte[] lzmaProperties;
+
+ /**
+ * ScaleForm GFx
+ */
+ public boolean gfx = false;
+
+}
diff --git a/src/com/jpexs/decompiler/flash/SWFInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java
similarity index 99%
rename from src/com/jpexs/decompiler/flash/SWFInputStream.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java
index a5045f1f9..f32206885 100644
--- a/src/com/jpexs/decompiler/flash/SWFInputStream.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFInputStream.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import com.jpexs.decompiler.flash.action.Action;
diff --git a/src/com/jpexs/decompiler/flash/SWFOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java
similarity index 98%
rename from src/com/jpexs/decompiler/flash/SWFOutputStream.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java
index a8d3ffd52..00ee20d22 100644
--- a/src/com/jpexs/decompiler/flash/SWFOutputStream.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFOutputStream.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import com.jpexs.decompiler.flash.tags.DefineBitsLosslessTag;
diff --git a/src/com/jpexs/decompiler/flash/SWFSearch.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java
similarity index 89%
rename from src/com/jpexs/decompiler/flash/SWFSearch.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java
index 37db1180b..93d6a6fc0 100644
--- a/src/com/jpexs/decompiler/flash/SWFSearch.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSearch.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import com.jpexs.helpers.Helper;
diff --git a/src/com/jpexs/decompiler/flash/SWFSourceInfo.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/SWFSourceInfo.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java
index 948f29282..77eefc1f5 100644
--- a/src/com/jpexs/decompiler/flash/SWFSourceInfo.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SWFSourceInfo.java
@@ -1,95 +1,94 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash;
-
-import com.jpexs.helpers.Path;
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- *
- * @author JPEXS
- */
-public class SWFSourceInfo {
-
- private final InputStream inputStream;
- private final String file;
- private final String fileTitle;
-
- public SWFSourceInfo(InputStream inputStream, String file, String fileTitle) {
- this.inputStream = inputStream;
- this.file = file;
- this.fileTitle = fileTitle;
- }
-
- public InputStream getInputStream() {
- return inputStream;
- }
-
- public String getFile() {
- return file;
- }
-
- public String getFileTitle() {
- return fileTitle;
- }
-
- /**
- * Get title of the file
- *
- * @return file title
- */
- public String getFileTitleOrName() {
- if (fileTitle != null) {
- return fileTitle;
- }
- return file;
- }
-
- public boolean isBundle() {
- if (inputStream == null) {
- File fileObj = new File(file);
- String fileName = fileObj.getName();
- if (fileName.startsWith("asdec_") && fileName.endsWith(".tmp")) {
- return false;
- }
- String extension = Path.getExtension(fileObj);
- return !(extension.equals(".swf") || extension.equals(".gfx"));
- }
- return false;
- }
-
- public SWFBundle getBundle(boolean noCheck, SearchMode searchMode) throws IOException {
- if (!isBundle()) {
- return null;
- }
-
- String extension = Path.getExtension(new File(file));
- InputStream is = new BufferedInputStream(new FileInputStream(file));
- switch (extension) {
- case ".swc":
- return new SWC(is);
- case ".zip":
- return new ZippedSWFBundle(is);
- default:
- return new BinarySWFBundle(is, noCheck, searchMode);
- }
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import com.jpexs.helpers.Path;
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class SWFSourceInfo {
+
+ private final InputStream inputStream;
+ private final String file;
+ private final String fileTitle;
+
+ public SWFSourceInfo(InputStream inputStream, String file, String fileTitle) {
+ this.inputStream = inputStream;
+ this.file = file;
+ this.fileTitle = fileTitle;
+ }
+
+ public InputStream getInputStream() {
+ return inputStream;
+ }
+
+ public String getFile() {
+ return file;
+ }
+
+ public String getFileTitle() {
+ return fileTitle;
+ }
+
+ /**
+ * Get title of the file
+ *
+ * @return file title
+ */
+ public String getFileTitleOrName() {
+ if (fileTitle != null) {
+ return fileTitle;
+ }
+ return file;
+ }
+
+ public boolean isBundle() {
+ if (inputStream == null) {
+ File fileObj = new File(file);
+ String fileName = fileObj.getName();
+ if (fileName.startsWith("asdec_") && fileName.endsWith(".tmp")) {
+ return false;
+ }
+ String extension = Path.getExtension(fileObj);
+ return !(extension.equals(".swf") || extension.equals(".gfx"));
+ }
+ return false;
+ }
+
+ public SWFBundle getBundle(boolean noCheck, SearchMode searchMode) throws IOException {
+ if (!isBundle()) {
+ return null;
+ }
+
+ String extension = Path.getExtension(new File(file));
+ InputStream is = new BufferedInputStream(new FileInputStream(file));
+ switch (extension) {
+ case ".swc":
+ return new SWC(is);
+ case ".zip":
+ return new ZippedSWFBundle(is);
+ default:
+ return new BinarySWFBundle(is, noCheck, searchMode);
+ }
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SearchMode.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SearchMode.java
new file mode 100644
index 000000000..303e9d17b
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SearchMode.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+/**
+ *
+ * @author JPEXS
+ */
+public enum SearchMode {
+
+ ALL, BIGGEST, SMALLEST, FIRST, LAST
+}
diff --git a/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java
index d33aa8070..414458a42 100644
--- a/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/SourceGeneratorLocalData.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import com.jpexs.decompiler.flash.abc.types.ABCException;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java
new file mode 100644
index 000000000..c3b64ed8b
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/Version.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class Version {
+
+ public int versionId;
+ public String revision;
+ public String versionName;
+ public String longVersionName;
+ public String releaseDate;
+ public String appName;
+ public String appFullName;
+ public String updateLink;
+ public boolean nightly;
+ public Map> changes = new HashMap<>();
+}
diff --git a/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java
similarity index 83%
rename from src/com/jpexs/decompiler/flash/ZippedSWFBundle.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java
index a810e20eb..b76ac20a7 100644
--- a/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/ZippedSWFBundle.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash;
import com.jpexs.helpers.Helper;
diff --git a/src/com/jpexs/decompiler/flash/abc/ABC.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java
similarity index 98%
rename from src/com/jpexs/decompiler/flash/abc/ABC.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java
index 0cca2173e..f7b1a87b2 100644
--- a/src/com/jpexs/decompiler/flash/abc/ABC.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABC.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc;
import com.jpexs.decompiler.flash.EventListener;
diff --git a/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
similarity index 95%
rename from src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
index 89742c8c6..52a37cc9f 100644
--- a/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCInputStream.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc;
import com.jpexs.decompiler.flash.abc.types.Decimal;
diff --git a/src/com/jpexs/decompiler/flash/abc/ABCOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCOutputStream.java
similarity index 89%
rename from src/com/jpexs/decompiler/flash/abc/ABCOutputStream.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCOutputStream.java
index 10af35cc9..576d162ea 100644
--- a/src/com/jpexs/decompiler/flash/abc/ABCOutputStream.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ABCOutputStream.java
@@ -1,286 +1,285 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc;
-
-import com.jpexs.decompiler.flash.abc.types.Decimal;
-import com.jpexs.decompiler.flash.abc.types.InstanceInfo;
-import com.jpexs.decompiler.flash.abc.types.MethodInfo;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.abc.types.Namespace;
-import com.jpexs.decompiler.flash.abc.types.traits.Trait;
-import com.jpexs.decompiler.flash.abc.types.traits.TraitClass;
-import com.jpexs.decompiler.flash.abc.types.traits.TraitFunction;
-import com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter;
-import com.jpexs.decompiler.flash.abc.types.traits.TraitSlotConst;
-import com.jpexs.decompiler.flash.abc.types.traits.Traits;
-import com.jpexs.helpers.utf8.Utf8Helper;
-import java.io.IOException;
-import java.io.OutputStream;
-
-public class ABCOutputStream extends OutputStream {
-
- private final OutputStream os;
-
- public ABCOutputStream(OutputStream os) {
- this.os = os;
- }
-
- @Override
- public void write(int b) throws IOException {
- os.write(b);
- }
-
- public void writeU30(long value) throws IOException {
- writeS32(value);
- /*boolean loop = true;
- boolean underZero=value<0;
-
- if(underZero){
- value = value & 0xFFFFFFFF;
- }else{
- value = value & 0x7FFFFFFF;
- }
- do {
- int ret = (int) (value & 0x7F);
- if (value < 0x80) {
- loop = false;
- }
- if (value > 0x7F) {
- ret += 0x80;
- }
- write(ret);
- value = value >> 7;
- } while (loop);
- */
- }
-
- public void writeU32(long value) throws IOException {
- boolean loop = true;
- value &= 0xFFFFFFFF;
- do {
- int ret = (int) (value & 0x7F);
- if (value < 0x80) {
- loop = false;
- }
- if (value > 0x7F) {
- ret += 0x80;
- }
- write(ret);
- value >>= 7;
- } while (loop);
- }
-
- public void writeS24(long value) throws IOException {
- int ret = (int) (value & 0xff);
- write(ret);
- value >>= 8;
- ret = (int) (value & 0xff);
- write(ret);
- value >>= 8;
- ret = (int) (value & 0xff);
- write(ret);
- }
-
- public void writeS32(long value) throws IOException {
- boolean belowZero = value < 0;
- /*if (belowZero) {
- value = -value;
- }*/
- int bitcount = 0;
- boolean loop = true;
- //value = value & 0xFFFFFFFF;
- do {
- bitcount += 7;
- int ret = (int) (value & 0x7F);
- if (value < 0x80) {
- if (belowZero) { //&& bitcount < 35
- ret += 0x80;
- } else {
- loop = false;
- }
- } else {
- ret += 0x80;
- }
-
- if (bitcount == 35) {
- ret &= 0xf;
- }
- write(ret);
- if (bitcount == 35) {
- break;
- }
- value >>= 7;
- } while (loop);
- }
-
- public void writeLong(long value) throws IOException {
- byte[] writeBuffer = new byte[8];
- writeBuffer[7] = (byte) (value >>> 56);
- writeBuffer[6] = (byte) (value >>> 48);
- writeBuffer[5] = (byte) (value >>> 40);
- writeBuffer[4] = (byte) (value >>> 32);
- writeBuffer[3] = (byte) (value >>> 24);
- writeBuffer[2] = (byte) (value >>> 16);
- writeBuffer[1] = (byte) (value >>> 8);
- writeBuffer[0] = (byte) (value);
- write(writeBuffer);
- }
-
- public void writeDouble(double value) throws IOException {
- writeLong(Double.doubleToLongBits(value));
- }
-
- public void writeU8(int value) throws IOException {
- write(value);
- }
-
- public void writeU16(int value) throws IOException {
- write(value & 0xff);
- write((value >> 8) & 0xff);
- }
-
- public void writeString(String s) throws IOException {
- byte[] sbytes = Utf8Helper.getBytes(s);
- writeU30(sbytes.length);
- write(sbytes);
- }
-
- public void writeNamespace(Namespace ns) throws IOException {
- write(ns.kind);
- boolean found = false;
- for (int k = 0; k < Namespace.nameSpaceKinds.length; k++) {
- if (Namespace.nameSpaceKinds[k] == ns.kind) {
- writeU30(ns.name_index);
- found = true;
- break;
- }
- }
- if (!found) {
- throw new RuntimeException("Invalid ns kind:" + ns.kind);
- }
- }
-
- public void writeMultiname(Multiname m) throws IOException {
- writeU8(m.kind);
- if ((m.kind == 7) || (m.kind == 0xd)) { // CONSTANT_QName and CONSTANT_QNameA.
- writeU30(m.namespace_index);
- writeU30(m.name_index);
- }
- if ((m.kind == 9) || (m.kind == 0xe)) { // CONSTANT_Multiname and CONSTANT_MultinameA.
- writeU30(m.name_index);
- writeU30(m.namespace_set_index);
- }
- if ((m.kind == 0xf) || (m.kind == 0x10)) { //CONSTANT_RTQName and CONSTANT_RTQNameA
- writeU30(m.name_index);
- }
- if ((m.kind == 0x1B) || (m.kind == 0x1C)) { //CONSTANT_MultinameL and CONSTANT_MultinameLA
- writeU30(m.namespace_set_index);
- }
- if (m.kind == 0x1D) {
- writeU30(m.qname_index);
- writeU30(m.params.size());
- for (int i = 0; i < m.params.size(); i++) {
- writeU30(m.params.get(i));
- }
- }
- //kind==0x11,0x12 nothing CONSTANT_RTQNameL and CONSTANT_RTQNameLA.
- }
-
- public void writeMethodInfo(MethodInfo mi) throws IOException {
- writeU30(mi.param_types.length);
- writeU30(mi.ret_type);
- for (int i = 0; i < mi.param_types.length; i++) {
- writeU30(mi.param_types[i]);
- }
- writeU30(mi.name_index);
- write(mi.flags);
- if ((mi.flags & 8) == 8) {
- writeU30(mi.optional.length);
- for (int i = 0; i < mi.optional.length; i++) {
- writeU30(mi.optional[i].value_index);
- write(mi.optional[i].value_kind);
- }
- }
-
- if ((mi.flags & 128) == 128) { //if has_paramnames
- for (int i = 0; i < mi.paramNames.length; i++) {
- writeU30(mi.paramNames[i]);
- }
- }
- }
-
- public void writeTrait(Trait t) throws IOException {
- writeU30(t.name_index);
- write((t.kindFlags << 4) + t.kindType);
- if (t instanceof TraitSlotConst) {
- TraitSlotConst t1 = (TraitSlotConst) t;
- writeU30(t1.slot_id);
- writeU30(t1.type_index);
- writeU30(t1.value_index);
- if (t1.value_index != 0) {
- write(t1.value_kind);
- }
- }
- if (t instanceof TraitMethodGetterSetter) {
- TraitMethodGetterSetter t2 = (TraitMethodGetterSetter) t;
- writeU30(t2.disp_id);
- writeU30(t2.method_info);
- }
- if (t instanceof TraitClass) {
- TraitClass t3 = (TraitClass) t;
- writeU30(t3.slot_id);
- writeU30(t3.class_info);
- }
- if (t instanceof TraitFunction) {
- TraitFunction t4 = (TraitFunction) t;
- writeU30(t4.slot_id);
- writeU30(t4.method_info);
- }
- if ((t.kindFlags & 4) == 4) {
- writeU30(t.metadata.length);
- for (int i = 0; i < t.metadata.length; i++) {
- writeU30(t.metadata[i]);
- }
- }
- }
-
- public void writeTraits(Traits t) throws IOException {
- writeU30(t.traits.size());
- for (int i = 0; i < t.traits.size(); i++) {
- writeTrait(t.traits.get(i));
- }
- }
-
- public void writeInstanceInfo(InstanceInfo ii) throws IOException {
- writeU30(ii.name_index);
- writeU30(ii.super_index);
- write(ii.flags);
- if ((ii.flags & 8) == 8) {
- writeU30(ii.protectedNS);
- }
- writeU30(ii.interfaces.length);
- for (int i = 0; i < ii.interfaces.length; i++) {
- writeU30(ii.interfaces[i]);
- }
- writeU30(ii.iinit_index);
- writeTraits(ii.instance_traits);
- }
-
- public void writeDecimal(Decimal value) throws IOException {
- write(value.data);
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc;
+
+import com.jpexs.decompiler.flash.abc.types.Decimal;
+import com.jpexs.decompiler.flash.abc.types.InstanceInfo;
+import com.jpexs.decompiler.flash.abc.types.MethodInfo;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.abc.types.Namespace;
+import com.jpexs.decompiler.flash.abc.types.traits.Trait;
+import com.jpexs.decompiler.flash.abc.types.traits.TraitClass;
+import com.jpexs.decompiler.flash.abc.types.traits.TraitFunction;
+import com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter;
+import com.jpexs.decompiler.flash.abc.types.traits.TraitSlotConst;
+import com.jpexs.decompiler.flash.abc.types.traits.Traits;
+import com.jpexs.helpers.utf8.Utf8Helper;
+import java.io.IOException;
+import java.io.OutputStream;
+
+public class ABCOutputStream extends OutputStream {
+
+ private final OutputStream os;
+
+ public ABCOutputStream(OutputStream os) {
+ this.os = os;
+ }
+
+ @Override
+ public void write(int b) throws IOException {
+ os.write(b);
+ }
+
+ public void writeU30(long value) throws IOException {
+ writeS32(value);
+ /*boolean loop = true;
+ boolean underZero=value<0;
+
+ if(underZero){
+ value = value & 0xFFFFFFFF;
+ }else{
+ value = value & 0x7FFFFFFF;
+ }
+ do {
+ int ret = (int) (value & 0x7F);
+ if (value < 0x80) {
+ loop = false;
+ }
+ if (value > 0x7F) {
+ ret += 0x80;
+ }
+ write(ret);
+ value = value >> 7;
+ } while (loop);
+ */
+ }
+
+ public void writeU32(long value) throws IOException {
+ boolean loop = true;
+ value &= 0xFFFFFFFF;
+ do {
+ int ret = (int) (value & 0x7F);
+ if (value < 0x80) {
+ loop = false;
+ }
+ if (value > 0x7F) {
+ ret += 0x80;
+ }
+ write(ret);
+ value >>= 7;
+ } while (loop);
+ }
+
+ public void writeS24(long value) throws IOException {
+ int ret = (int) (value & 0xff);
+ write(ret);
+ value >>= 8;
+ ret = (int) (value & 0xff);
+ write(ret);
+ value >>= 8;
+ ret = (int) (value & 0xff);
+ write(ret);
+ }
+
+ public void writeS32(long value) throws IOException {
+ boolean belowZero = value < 0;
+ /*if (belowZero) {
+ value = -value;
+ }*/
+ int bitcount = 0;
+ boolean loop = true;
+ //value = value & 0xFFFFFFFF;
+ do {
+ bitcount += 7;
+ int ret = (int) (value & 0x7F);
+ if (value < 0x80) {
+ if (belowZero) { //&& bitcount < 35
+ ret += 0x80;
+ } else {
+ loop = false;
+ }
+ } else {
+ ret += 0x80;
+ }
+
+ if (bitcount == 35) {
+ ret &= 0xf;
+ }
+ write(ret);
+ if (bitcount == 35) {
+ break;
+ }
+ value >>= 7;
+ } while (loop);
+ }
+
+ public void writeLong(long value) throws IOException {
+ byte[] writeBuffer = new byte[8];
+ writeBuffer[7] = (byte) (value >>> 56);
+ writeBuffer[6] = (byte) (value >>> 48);
+ writeBuffer[5] = (byte) (value >>> 40);
+ writeBuffer[4] = (byte) (value >>> 32);
+ writeBuffer[3] = (byte) (value >>> 24);
+ writeBuffer[2] = (byte) (value >>> 16);
+ writeBuffer[1] = (byte) (value >>> 8);
+ writeBuffer[0] = (byte) (value);
+ write(writeBuffer);
+ }
+
+ public void writeDouble(double value) throws IOException {
+ writeLong(Double.doubleToLongBits(value));
+ }
+
+ public void writeU8(int value) throws IOException {
+ write(value);
+ }
+
+ public void writeU16(int value) throws IOException {
+ write(value & 0xff);
+ write((value >> 8) & 0xff);
+ }
+
+ public void writeString(String s) throws IOException {
+ byte[] sbytes = Utf8Helper.getBytes(s);
+ writeU30(sbytes.length);
+ write(sbytes);
+ }
+
+ public void writeNamespace(Namespace ns) throws IOException {
+ write(ns.kind);
+ boolean found = false;
+ for (int k = 0; k < Namespace.nameSpaceKinds.length; k++) {
+ if (Namespace.nameSpaceKinds[k] == ns.kind) {
+ writeU30(ns.name_index);
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ throw new RuntimeException("Invalid ns kind:" + ns.kind);
+ }
+ }
+
+ public void writeMultiname(Multiname m) throws IOException {
+ writeU8(m.kind);
+ if ((m.kind == 7) || (m.kind == 0xd)) { // CONSTANT_QName and CONSTANT_QNameA.
+ writeU30(m.namespace_index);
+ writeU30(m.name_index);
+ }
+ if ((m.kind == 9) || (m.kind == 0xe)) { // CONSTANT_Multiname and CONSTANT_MultinameA.
+ writeU30(m.name_index);
+ writeU30(m.namespace_set_index);
+ }
+ if ((m.kind == 0xf) || (m.kind == 0x10)) { //CONSTANT_RTQName and CONSTANT_RTQNameA
+ writeU30(m.name_index);
+ }
+ if ((m.kind == 0x1B) || (m.kind == 0x1C)) { //CONSTANT_MultinameL and CONSTANT_MultinameLA
+ writeU30(m.namespace_set_index);
+ }
+ if (m.kind == 0x1D) {
+ writeU30(m.qname_index);
+ writeU30(m.params.size());
+ for (int i = 0; i < m.params.size(); i++) {
+ writeU30(m.params.get(i));
+ }
+ }
+ //kind==0x11,0x12 nothing CONSTANT_RTQNameL and CONSTANT_RTQNameLA.
+ }
+
+ public void writeMethodInfo(MethodInfo mi) throws IOException {
+ writeU30(mi.param_types.length);
+ writeU30(mi.ret_type);
+ for (int i = 0; i < mi.param_types.length; i++) {
+ writeU30(mi.param_types[i]);
+ }
+ writeU30(mi.name_index);
+ write(mi.flags);
+ if ((mi.flags & 8) == 8) {
+ writeU30(mi.optional.length);
+ for (int i = 0; i < mi.optional.length; i++) {
+ writeU30(mi.optional[i].value_index);
+ write(mi.optional[i].value_kind);
+ }
+ }
+
+ if ((mi.flags & 128) == 128) { //if has_paramnames
+ for (int i = 0; i < mi.paramNames.length; i++) {
+ writeU30(mi.paramNames[i]);
+ }
+ }
+ }
+
+ public void writeTrait(Trait t) throws IOException {
+ writeU30(t.name_index);
+ write((t.kindFlags << 4) + t.kindType);
+ if (t instanceof TraitSlotConst) {
+ TraitSlotConst t1 = (TraitSlotConst) t;
+ writeU30(t1.slot_id);
+ writeU30(t1.type_index);
+ writeU30(t1.value_index);
+ if (t1.value_index != 0) {
+ write(t1.value_kind);
+ }
+ }
+ if (t instanceof TraitMethodGetterSetter) {
+ TraitMethodGetterSetter t2 = (TraitMethodGetterSetter) t;
+ writeU30(t2.disp_id);
+ writeU30(t2.method_info);
+ }
+ if (t instanceof TraitClass) {
+ TraitClass t3 = (TraitClass) t;
+ writeU30(t3.slot_id);
+ writeU30(t3.class_info);
+ }
+ if (t instanceof TraitFunction) {
+ TraitFunction t4 = (TraitFunction) t;
+ writeU30(t4.slot_id);
+ writeU30(t4.method_info);
+ }
+ if ((t.kindFlags & 4) == 4) {
+ writeU30(t.metadata.length);
+ for (int i = 0; i < t.metadata.length; i++) {
+ writeU30(t.metadata[i]);
+ }
+ }
+ }
+
+ public void writeTraits(Traits t) throws IOException {
+ writeU30(t.traits.size());
+ for (int i = 0; i < t.traits.size(); i++) {
+ writeTrait(t.traits.get(i));
+ }
+ }
+
+ public void writeInstanceInfo(InstanceInfo ii) throws IOException {
+ writeU30(ii.name_index);
+ writeU30(ii.super_index);
+ write(ii.flags);
+ if ((ii.flags & 8) == 8) {
+ writeU30(ii.protectedNS);
+ }
+ writeU30(ii.interfaces.length);
+ for (int i = 0; i < ii.interfaces.length; i++) {
+ writeU30(ii.interfaces[i]);
+ }
+ writeU30(ii.iinit_index);
+ writeTraits(ii.instance_traits);
+ }
+
+ public void writeDecimal(Decimal value) throws IOException {
+ write(value.data);
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java
index 4528827f6..96aba3e8a 100644
--- a/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/AVM2LocalData.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc;
import com.jpexs.decompiler.flash.BaseLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/ClassPath.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java
similarity index 61%
rename from src/com/jpexs/decompiler/flash/abc/ClassPath.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java
index b4f88020f..3a4f9f61e 100644
--- a/src/com/jpexs/decompiler/flash/abc/ClassPath.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ClassPath.java
@@ -1,65 +1,64 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc;
-
-import java.util.Objects;
-
-/**
- *
- * @author JPEXS
- */
-public class ClassPath {
-
- public String packageStr;
- public String className;
-
- public ClassPath(String packageStr, String className) {
- this.packageStr = packageStr;
- this.className = className;
- }
-
- @Override
- public String toString() {
- return (packageStr == null || packageStr.isEmpty()) ? className : packageStr + "." + className;
- }
-
- @Override
- public int hashCode() {
- int hash = 7;
- hash = 37 * hash + Objects.hashCode(this.packageStr);
- hash = 37 * hash + Objects.hashCode(this.className);
- return hash;
- }
-
- @Override
- public boolean equals(Object obj) {
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final ClassPath other = (ClassPath) obj;
- if (!Objects.equals(this.packageStr, other.packageStr)) {
- return false;
- }
- if (!Objects.equals(this.className, other.className)) {
- return false;
- }
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc;
+
+import java.util.Objects;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class ClassPath {
+
+ public String packageStr;
+ public String className;
+
+ public ClassPath(String packageStr, String className) {
+ this.packageStr = packageStr;
+ this.className = className;
+ }
+
+ @Override
+ public String toString() {
+ return (packageStr == null || packageStr.isEmpty()) ? className : packageStr + "." + className;
+ }
+
+ @Override
+ public int hashCode() {
+ int hash = 7;
+ hash = 37 * hash + Objects.hashCode(this.packageStr);
+ hash = 37 * hash + Objects.hashCode(this.className);
+ return hash;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == null) {
+ return false;
+ }
+ if (getClass() != obj.getClass()) {
+ return false;
+ }
+ final ClassPath other = (ClassPath) obj;
+ if (!Objects.equals(this.packageStr, other.packageStr)) {
+ return false;
+ }
+ if (!Objects.equals(this.className, other.className)) {
+ return false;
+ }
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java
index e7c95c6af..8c689d3da 100644
--- a/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/CopyOutputStream.java
@@ -1,73 +1,72 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-public class CopyOutputStream extends OutputStream {
-
- private final OutputStream os;
- private final InputStream is;
- private long pos = 0;
- private final int TEMPSIZE = 5;
- private final int[] temp = new int[TEMPSIZE];
- private int tempPos = 0;
- public int ignoreFirst = 0;
-
- public CopyOutputStream(OutputStream os, InputStream is) {
- this.os = os;
- this.is = is;
- }
-
- @Override
- public void write(int b) throws IOException {
- temp[tempPos] = b;
- tempPos = (tempPos + 1) % TEMPSIZE;
-
- pos++;
- int r = is.read();
- if ((b & 0xff) != r) {
- if (ignoreFirst <= 0) {
- os.flush();
-
- boolean output = true;
-
- if (output) {
- System.out.println("Position: " + pos);
- System.out.print("Last written:");
- for (int i = 0; i < TEMPSIZE; i++) {
- System.out.print("" + Integer.toHexString(temp[(tempPos + i) % TEMPSIZE]) + " ");
- }
- System.out.println("");
- System.out.println("More expected:");
- for (int i = 0; i < TEMPSIZE; i++) {
- System.out.println("" + Integer.toHexString(is.read()));
- }
-
- System.out.println("");
- System.out.println(Integer.toHexString(r) + " expected but " + Integer.toHexString(b) + " found");
- }
- throw new NotSameException(pos);
- } else {
- ignoreFirst--;
- }
- }
- os.write(b);
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+public class CopyOutputStream extends OutputStream {
+
+ private final OutputStream os;
+ private final InputStream is;
+ private long pos = 0;
+ private final int TEMPSIZE = 5;
+ private final int[] temp = new int[TEMPSIZE];
+ private int tempPos = 0;
+ public int ignoreFirst = 0;
+
+ public CopyOutputStream(OutputStream os, InputStream is) {
+ this.os = os;
+ this.is = is;
+ }
+
+ @Override
+ public void write(int b) throws IOException {
+ temp[tempPos] = b;
+ tempPos = (tempPos + 1) % TEMPSIZE;
+
+ pos++;
+ int r = is.read();
+ if ((b & 0xff) != r) {
+ if (ignoreFirst <= 0) {
+ os.flush();
+
+ boolean output = true;
+
+ if (output) {
+ System.out.println("Position: " + pos);
+ System.out.print("Last written:");
+ for (int i = 0; i < TEMPSIZE; i++) {
+ System.out.print("" + Integer.toHexString(temp[(tempPos + i) % TEMPSIZE]) + " ");
+ }
+ System.out.println("");
+ System.out.println("More expected:");
+ for (int i = 0; i < TEMPSIZE; i++) {
+ System.out.println("" + Integer.toHexString(is.read()));
+ }
+
+ System.out.println("");
+ System.out.println(Integer.toHexString(r) + " expected but " + Integer.toHexString(b) + " found");
+ }
+ throw new NotSameException(pos);
+ } else {
+ ignoreFirst--;
+ }
+ }
+ os.write(b);
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/NotSameException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/NotSameException.java
new file mode 100644
index 000000000..2727e166f
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/NotSameException.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc;
+
+import com.jpexs.helpers.Helper;
+
+public class NotSameException extends RuntimeException {
+
+ public NotSameException(long pos) {
+ super("Streams are not the same at pos " + Helper.formatHex((int) pos, 8));
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/RenameType.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/RenameType.java
new file mode 100644
index 000000000..3bdaa2919
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/RenameType.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc;
+
+/**
+ *
+ * @author JPEXS
+ */
+public enum RenameType {
+
+ TYPENUMBER,
+ RANDOMWORD
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/ScriptPack.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java
similarity index 89%
rename from src/com/jpexs/decompiler/flash/abc/ScriptPack.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java
index 6241fd96e..14baa2857 100644
--- a/src/com/jpexs/decompiler/flash/abc/ScriptPack.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/ScriptPack.java
@@ -1,201 +1,200 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc;
-
-import com.jpexs.decompiler.flash.SWF;
-import com.jpexs.decompiler.flash.abc.types.MethodBody;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.abc.types.Namespace;
-import com.jpexs.decompiler.flash.abc.types.traits.Trait;
-import com.jpexs.decompiler.flash.configuration.Configuration;
-import com.jpexs.decompiler.flash.exporters.modes.ScriptExportMode;
-import com.jpexs.decompiler.flash.helpers.FileTextWriter;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.flash.helpers.NulWriter;
-import com.jpexs.decompiler.flash.tags.ABCContainerTag;
-import com.jpexs.decompiler.flash.treeitems.TreeElementItem;
-import com.jpexs.helpers.CancellableWorker;
-import com.jpexs.helpers.Helper;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.TimeoutException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- *
- * @author JPEXS
- */
-public class ScriptPack implements TreeElementItem {
-
- public ABC abc;
- public int scriptIndex;
- public List traitIndices;
- private final ClassPath path;
-
- @Override
- public SWF getSwf() {
- return abc.swf;
- }
-
- public ClassPath getPath() {
- return path;
- }
-
- public ScriptPack(ClassPath path, ABC abc, int scriptIndex, List traitIndices) {
- this.abc = abc;
- this.scriptIndex = scriptIndex;
- this.traitIndices = traitIndices;
- this.path = path;
- }
-
- public String getPathPackage() {
- String packageName = "";
- for (int t : traitIndices) {
- Multiname name = abc.script_info.get(scriptIndex).traits.traits.get(t).getName(abc);
- Namespace ns = name.getNamespace(abc.constants);
- if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
- packageName = ns.getName(abc.constants); //assume not null
- }
- }
- return packageName;
- }
-
- public String getPathScriptName() {
- String scriptName = "";
- for (int t : traitIndices) {
- Multiname name = abc.script_info.get(scriptIndex).traits.traits.get(t).getName(abc);
- Namespace ns = name.getNamespace(abc.constants);
- if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
- scriptName = name.getName(abc.constants, new ArrayList());
- }
- }
- return scriptName;
- }
-
- /*public String getPath() {
- String packageName = "";
- String scriptName = "";
- for (int t : traitIndices) {
- Multiname name = abc.script_info[scriptIndex].traits.traits.get(t).getName(abc);
- Namespace ns = name.getNamespace(abc.constants);
- if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
- packageName = ns.getName(abc.constants);
- scriptName = name.getName(abc.constants, new ArrayList());
- }
- }
- return packageName.equals("") ? scriptName : packageName + "." + scriptName;
- }*/
- private static String makeDirPath(String packageName) {
- if (packageName.isEmpty()) {
- return "";
- }
- String[] pathParts;
- if (packageName.contains(".")) {
- pathParts = packageName.split("\\.");
- } else {
- pathParts = new String[]{packageName};
- }
- for (int i = 0; i < pathParts.length; i++) {
- pathParts[i] = Helper.makeFileName(pathParts[i]);
- }
- return Helper.joinStrings(pathParts, File.separator);
- }
-
- public void convert(final NulWriter writer, final List abcList, final List traits, final ScriptExportMode exportMode, final boolean parallel) throws InterruptedException {
- for (int t : traitIndices) {
- Trait trait = traits.get(t);
- Multiname name = trait.getName(abc);
- Namespace ns = name.getNamespace(abc.constants);
- if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
- trait.convertPackaged(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
- } else {
- trait.convert(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
- }
- }
- }
-
- public void appendTo(GraphTextWriter writer, List abcList, List traits, ScriptExportMode exportMode, boolean parallel) throws InterruptedException {
- for (int t : traitIndices) {
- Trait trait = traits.get(t);
- Multiname name = trait.getName(abc);
- Namespace ns = name.getNamespace(abc.constants);
- if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
- trait.toStringPackaged(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
- } else {
- trait.toString(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
- }
- }
- }
-
- public void toSource(GraphTextWriter writer, final List abcList, final List traits, final ScriptExportMode exportMode, final boolean parallel) throws InterruptedException {
- writer.suspendMeasure();
- int timeout = Configuration.decompilationTimeoutFile.get();
- try {
- CancellableWorker.call(new Callable() {
- @Override
- public Void call() throws Exception {
- convert(new NulWriter(), abcList, traits, exportMode, parallel);
- return null;
- }
- }, timeout, TimeUnit.SECONDS);
- } catch (TimeoutException ex) {
- writer.continueMeasure();
- Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE, "Decompilation error", ex);
- Helper.appendTimeoutComment(writer, timeout);
- return;
- } catch (ExecutionException ex) {
- writer.continueMeasure();
- Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE, "Decompilation error", ex);
- Helper.appendErrorComment(writer, ex);
- return;
- }
- writer.continueMeasure();
-
- appendTo(writer, abcList, traits, exportMode, parallel);
- }
-
- public File export(String directory, List abcList, ScriptExportMode exportMode, boolean parallel) throws IOException {
- String scriptName = getPathScriptName();
- String packageName = getPathPackage();
- File outDir = new File(directory + File.separatorChar + makeDirPath(packageName));
- if (!outDir.exists()) {
- if (!outDir.mkdirs()) {
- if (!outDir.exists()) {
- throw new IOException("cannot create directory " + outDir);
- }
- }
- }
- String fileName = outDir.toString() + File.separator + Helper.makeFileName(scriptName) + ".as";
-
- File file = new File(fileName);
- try (FileTextWriter writer = new FileTextWriter(Configuration.getCodeFormatting(), new FileOutputStream(file))) {
- try {
- toSource(writer, abcList, abc.script_info.get(scriptIndex).traits.traits, exportMode, parallel);
- } catch (InterruptedException ex) {
- Logger.getLogger(ScriptPack.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- return file;
- }
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc;
+
+import com.jpexs.decompiler.flash.SWF;
+import com.jpexs.decompiler.flash.abc.types.MethodBody;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.abc.types.Namespace;
+import com.jpexs.decompiler.flash.abc.types.traits.Trait;
+import com.jpexs.decompiler.flash.configuration.Configuration;
+import com.jpexs.decompiler.flash.exporters.modes.ScriptExportMode;
+import com.jpexs.decompiler.flash.helpers.FileTextWriter;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.flash.helpers.NulWriter;
+import com.jpexs.decompiler.flash.tags.ABCContainerTag;
+import com.jpexs.decompiler.flash.treeitems.TreeElementItem;
+import com.jpexs.helpers.CancellableWorker;
+import com.jpexs.helpers.Helper;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.TimeoutException;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class ScriptPack implements TreeElementItem {
+
+ public ABC abc;
+ public int scriptIndex;
+ public List traitIndices;
+ private final ClassPath path;
+
+ @Override
+ public SWF getSwf() {
+ return abc.swf;
+ }
+
+ public ClassPath getPath() {
+ return path;
+ }
+
+ public ScriptPack(ClassPath path, ABC abc, int scriptIndex, List traitIndices) {
+ this.abc = abc;
+ this.scriptIndex = scriptIndex;
+ this.traitIndices = traitIndices;
+ this.path = path;
+ }
+
+ public String getPathPackage() {
+ String packageName = "";
+ for (int t : traitIndices) {
+ Multiname name = abc.script_info.get(scriptIndex).traits.traits.get(t).getName(abc);
+ Namespace ns = name.getNamespace(abc.constants);
+ if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
+ packageName = ns.getName(abc.constants); //assume not null
+ }
+ }
+ return packageName;
+ }
+
+ public String getPathScriptName() {
+ String scriptName = "";
+ for (int t : traitIndices) {
+ Multiname name = abc.script_info.get(scriptIndex).traits.traits.get(t).getName(abc);
+ Namespace ns = name.getNamespace(abc.constants);
+ if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
+ scriptName = name.getName(abc.constants, new ArrayList());
+ }
+ }
+ return scriptName;
+ }
+
+ /*public String getPath() {
+ String packageName = "";
+ String scriptName = "";
+ for (int t : traitIndices) {
+ Multiname name = abc.script_info[scriptIndex].traits.traits.get(t).getName(abc);
+ Namespace ns = name.getNamespace(abc.constants);
+ if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
+ packageName = ns.getName(abc.constants);
+ scriptName = name.getName(abc.constants, new ArrayList());
+ }
+ }
+ return packageName.equals("") ? scriptName : packageName + "." + scriptName;
+ }*/
+ private static String makeDirPath(String packageName) {
+ if (packageName.isEmpty()) {
+ return "";
+ }
+ String[] pathParts;
+ if (packageName.contains(".")) {
+ pathParts = packageName.split("\\.");
+ } else {
+ pathParts = new String[]{packageName};
+ }
+ for (int i = 0; i < pathParts.length; i++) {
+ pathParts[i] = Helper.makeFileName(pathParts[i]);
+ }
+ return Helper.joinStrings(pathParts, File.separator);
+ }
+
+ public void convert(final NulWriter writer, final List abcList, final List traits, final ScriptExportMode exportMode, final boolean parallel) throws InterruptedException {
+ for (int t : traitIndices) {
+ Trait trait = traits.get(t);
+ Multiname name = trait.getName(abc);
+ Namespace ns = name.getNamespace(abc.constants);
+ if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
+ trait.convertPackaged(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
+ } else {
+ trait.convert(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
+ }
+ }
+ }
+
+ public void appendTo(GraphTextWriter writer, List abcList, List traits, ScriptExportMode exportMode, boolean parallel) throws InterruptedException {
+ for (int t : traitIndices) {
+ Trait trait = traits.get(t);
+ Multiname name = trait.getName(abc);
+ Namespace ns = name.getNamespace(abc.constants);
+ if ((ns.kind == Namespace.KIND_PACKAGE) || (ns.kind == Namespace.KIND_PACKAGE_INTERNAL)) {
+ trait.toStringPackaged(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
+ } else {
+ trait.toString(null, "", abcList, abc, false, exportMode, scriptIndex, -1, writer, new ArrayList(), parallel);
+ }
+ }
+ }
+
+ public void toSource(GraphTextWriter writer, final List abcList, final List traits, final ScriptExportMode exportMode, final boolean parallel) throws InterruptedException {
+ writer.suspendMeasure();
+ int timeout = Configuration.decompilationTimeoutFile.get();
+ try {
+ CancellableWorker.call(new Callable() {
+ @Override
+ public Void call() throws Exception {
+ convert(new NulWriter(), abcList, traits, exportMode, parallel);
+ return null;
+ }
+ }, timeout, TimeUnit.SECONDS);
+ } catch (TimeoutException ex) {
+ writer.continueMeasure();
+ Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE, "Decompilation error", ex);
+ Helper.appendTimeoutComment(writer, timeout);
+ return;
+ } catch (ExecutionException ex) {
+ writer.continueMeasure();
+ Logger.getLogger(MethodBody.class.getName()).log(Level.SEVERE, "Decompilation error", ex);
+ Helper.appendErrorComment(writer, ex);
+ return;
+ }
+ writer.continueMeasure();
+
+ appendTo(writer, abcList, traits, exportMode, parallel);
+ }
+
+ public File export(String directory, List abcList, ScriptExportMode exportMode, boolean parallel) throws IOException {
+ String scriptName = getPathScriptName();
+ String packageName = getPathPackage();
+ File outDir = new File(directory + File.separatorChar + makeDirPath(packageName));
+ if (!outDir.exists()) {
+ if (!outDir.mkdirs()) {
+ if (!outDir.exists()) {
+ throw new IOException("cannot create directory " + outDir);
+ }
+ }
+ }
+ String fileName = outDir.toString() + File.separator + Helper.makeFileName(scriptName) + ".as";
+
+ File file = new File(fileName);
+ try (FileTextWriter writer = new FileTextWriter(Configuration.getCodeFormatting(), new FileOutputStream(file))) {
+ try {
+ toSource(writer, abcList, abc.script_info.get(scriptIndex).traits.traits, exportMode, parallel);
+ } catch (InterruptedException ex) {
+ Logger.getLogger(ScriptPack.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ return file;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java
similarity index 99%
rename from src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java
index df1c65927..1a16a6ea6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java
similarity index 89%
rename from src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java
index d358bbafc..06daf20d8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Deobfuscation.java
@@ -1,246 +1,245 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2;
-
-import com.jpexs.decompiler.flash.abc.RenameType;
-import java.util.HashMap;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Random;
-import java.util.Set;
-import java.util.regex.Pattern;
-
-/**
- *
- * @author JPEXS
- */
-public class AVM2Deobfuscation {
-
- private static final Random rnd = new Random();
- private static final int DEFAULT_FOO_SIZE = 10;
-
- public static final String[] reservedWords = {
- "as", "break", "case", "catch", "class", "const", "continue", "default", "delete", "do", "each", "else",
- "extends", "false", "finally", "for", "function", "get", "if", "implements", "import", "in", "instanceof",
- "interface", "internal", "is", "native", "new", "null", "override", "package", "private", "protected", "public",
- "return", "set", "super", "switch", "this", "throw", "true", "try", "typeof", "use", "var", /*"void",*/ "while",
- "with", "dynamic", "default", "final", "in", "static"};
- public static final String VALID_FIRST_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
- public static final String VALID_NEXT_CHARACTERS = VALID_FIRST_CHARACTERS + "0123456789";
- public static final String VALID_NS_CHARACTERS = ".:$";
- public static final String FOO_CHARACTERS = "bcdfghjklmnpqrstvwz";
- public static final String FOO_JOIN_CHARACTERS = "aeiouy";
-
- private final ConstantPool constants;
- private final Map usageTypesCount = new HashMap<>();
-
- public AVM2Deobfuscation(ConstantPool constants) {
- this.constants = constants;
- }
-
- private static boolean isReserved(String s) {
- for (String rw : reservedWords) {
- if (rw.equals(s.trim())) {
- return true;
- }
- }
- return false;
- }
-
- private boolean isValidNSPart(String s) {
- boolean isValid = true;
- if (isReserved(s)) {
- isValid = false;
- }
-
- if (isValid) {
- for (int i = 0; i < s.length(); i++) {
- if (s.charAt(i) > 127) {
- isValid = false;
- break;
- }
- }
- }
- if (isValid) {
- Pattern pat = Pattern.compile("^([" + Pattern.quote(VALID_FIRST_CHARACTERS) + "]" + "[" + Pattern.quote(VALID_FIRST_CHARACTERS + VALID_NEXT_CHARACTERS + VALID_NS_CHARACTERS) + "]*)*$");
- if (!pat.matcher(s).matches()) {
- isValid = false;
- }
- }
- return isValid;
- }
-
- public String builtInNs(String ns) {
- if (ns == null) {
- return null;
- }
- if (ns.equals("http://www.adobe.com/2006/actionscript/flash/proxy")) {
- return "flash.utils.flash_proxy";
- }
- if (ns.equals("http://adobe.com/AS3/2006/builtin")) {
- return "-";
- }
- return null;
- }
-
- private String fooString(HashMap deobfuscated, String orig, boolean firstUppercase, int rndSize, String usageType, RenameType renameType) {
- boolean exists;
- String ret;
- int pos = 0;
-
- if (usageType == null) {
- usageType = "name";
- }
- if (usageTypesCount.containsKey(usageType)) {
- pos = usageTypesCount.get(usageType);
- }
-
- loopfoo:
- do {
- exists = false;
- ret = "";
- if (renameType == RenameType.TYPENUMBER) {
- pos++;
- ret = usageType + "_" + pos;
- } else if (renameType == RenameType.RANDOMWORD) {
- int len = 3 + rnd.nextInt(rndSize - 3);
-
- for (int i = 0; i < len; i++) {
- String c = "";
- if ((i % 2) == 0) {
- c = "" + FOO_CHARACTERS.charAt(rnd.nextInt(FOO_CHARACTERS.length()));
- } else {
- c = "" + FOO_JOIN_CHARACTERS.charAt(rnd.nextInt(FOO_JOIN_CHARACTERS.length()));
- }
- if (i == 0 && firstUppercase) {
- c = c.toUpperCase(Locale.ENGLISH);
- }
- ret += c;
- }
- }
- for (int i = 1; i < constants.getStringCount(); i++) {
- if (constants.getString(i).equals(ret)) {
- exists = true;
- rndSize += 1;
- continue loopfoo;
- }
- }
- if (isReserved(ret)) {
- exists = true;
- rndSize += 1;
- continue;
- }
- if (deobfuscated.containsValue(ret)) {
- exists = true;
- rndSize += 1;
- continue;
- }
- } while (exists);
- usageTypesCount.put(usageType, pos);
- deobfuscated.put(orig, ret);
- return ret;
- }
-
- public int deobfuscatePackageName(Map stringUsageTypes, Set stringUsages, HashMap namesMap, int strIndex, RenameType renameType) {
- if (strIndex <= 0) {
- return strIndex;
- }
- String s = constants.getString(strIndex);
- if (builtInNs(s) != null) {
- return strIndex;
- }
- boolean isValid = isValidNSPart(s);
- if (!isValid) {
- String newName;
- if (namesMap.containsKey(s)) {
- newName = constants.setString(strIndex, namesMap.get(s));
- } else {
- String[] parts = null;
- if (s.contains(".")) {
- parts = s.split("\\.");
- } else {
- parts = new String[]{s};
- }
- String ret = "";
- for (int p = 0; p < parts.length; p++) {
- if (p > 0) {
- ret += ".";
- }
- if (!isValidNSPart(parts[p])) {
- ret += fooString(namesMap, parts[p], false, DEFAULT_FOO_SIZE, "package", renameType);
- } else {
- ret += parts[p];
- }
- }
- newName = ret;
- namesMap.put(s, newName);
- }
- if (stringUsages.contains(strIndex)) {
- strIndex = constants.addString(newName);
- } else {
- constants.setString(strIndex, newName);
- }
-
- }
- return strIndex;
- }
-
- public int deobfuscateName(Map stringUsageTypes, Set stringUsages, Set namespaceUsages, HashMap namesMap, int strIndex, boolean firstUppercase, RenameType renameType) {
- if (strIndex <= 0) {
- return strIndex;
- }
- String s = constants.getString(strIndex);
- boolean isValid = true;
- if (isReserved(s)) {
- isValid = false;
- }
-
- if (isValid) {
- for (int i = 0; i < s.length(); i++) {
- if (s.charAt(i) > 127) {
- isValid = false;
- break;
- }
- }
- }
-
- if (isValid) {
- Pattern pat = Pattern.compile("^[" + Pattern.quote(VALID_FIRST_CHARACTERS) + "]" + "[" + Pattern.quote(VALID_FIRST_CHARACTERS + VALID_NEXT_CHARACTERS) + "]*$");
- if (!pat.matcher(s).matches()) {
- isValid = false;
- }
- }
-
- if (!isValid) {
- String newname;
- if (namesMap.containsKey(s)) {
- newname = namesMap.get(s);
- } else {
- newname = fooString(namesMap, constants.getString(strIndex), firstUppercase, DEFAULT_FOO_SIZE, stringUsageTypes.get(strIndex), renameType);
- }
- if (stringUsages.contains(strIndex) || namespaceUsages.contains(strIndex)) { //this name is already referenced as String
- strIndex = constants.addString(s); //add new index
- }
- constants.setString(strIndex, newname);
- if (!namesMap.containsKey(s)) {
- namesMap.put(s, constants.getString(strIndex));
- }
- }
- return strIndex;
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+import com.jpexs.decompiler.flash.abc.RenameType;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+import java.util.regex.Pattern;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class AVM2Deobfuscation {
+
+ private static final Random rnd = new Random();
+ private static final int DEFAULT_FOO_SIZE = 10;
+
+ public static final String[] reservedWords = {
+ "as", "break", "case", "catch", "class", "const", "continue", "default", "delete", "do", "each", "else",
+ "extends", "false", "finally", "for", "function", "get", "if", "implements", "import", "in", "instanceof",
+ "interface", "internal", "is", "native", "new", "null", "override", "package", "private", "protected", "public",
+ "return", "set", "super", "switch", "this", "throw", "true", "try", "typeof", "use", "var", /*"void",*/ "while",
+ "with", "dynamic", "default", "final", "in", "static"};
+ public static final String VALID_FIRST_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";
+ public static final String VALID_NEXT_CHARACTERS = VALID_FIRST_CHARACTERS + "0123456789";
+ public static final String VALID_NS_CHARACTERS = ".:$";
+ public static final String FOO_CHARACTERS = "bcdfghjklmnpqrstvwz";
+ public static final String FOO_JOIN_CHARACTERS = "aeiouy";
+
+ private final ConstantPool constants;
+ private final Map usageTypesCount = new HashMap<>();
+
+ public AVM2Deobfuscation(ConstantPool constants) {
+ this.constants = constants;
+ }
+
+ private static boolean isReserved(String s) {
+ for (String rw : reservedWords) {
+ if (rw.equals(s.trim())) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private boolean isValidNSPart(String s) {
+ boolean isValid = true;
+ if (isReserved(s)) {
+ isValid = false;
+ }
+
+ if (isValid) {
+ for (int i = 0; i < s.length(); i++) {
+ if (s.charAt(i) > 127) {
+ isValid = false;
+ break;
+ }
+ }
+ }
+ if (isValid) {
+ Pattern pat = Pattern.compile("^([" + Pattern.quote(VALID_FIRST_CHARACTERS) + "]" + "[" + Pattern.quote(VALID_FIRST_CHARACTERS + VALID_NEXT_CHARACTERS + VALID_NS_CHARACTERS) + "]*)*$");
+ if (!pat.matcher(s).matches()) {
+ isValid = false;
+ }
+ }
+ return isValid;
+ }
+
+ public String builtInNs(String ns) {
+ if (ns == null) {
+ return null;
+ }
+ if (ns.equals("http://www.adobe.com/2006/actionscript/flash/proxy")) {
+ return "flash.utils.flash_proxy";
+ }
+ if (ns.equals("http://adobe.com/AS3/2006/builtin")) {
+ return "-";
+ }
+ return null;
+ }
+
+ private String fooString(HashMap deobfuscated, String orig, boolean firstUppercase, int rndSize, String usageType, RenameType renameType) {
+ boolean exists;
+ String ret;
+ int pos = 0;
+
+ if (usageType == null) {
+ usageType = "name";
+ }
+ if (usageTypesCount.containsKey(usageType)) {
+ pos = usageTypesCount.get(usageType);
+ }
+
+ loopfoo:
+ do {
+ exists = false;
+ ret = "";
+ if (renameType == RenameType.TYPENUMBER) {
+ pos++;
+ ret = usageType + "_" + pos;
+ } else if (renameType == RenameType.RANDOMWORD) {
+ int len = 3 + rnd.nextInt(rndSize - 3);
+
+ for (int i = 0; i < len; i++) {
+ String c = "";
+ if ((i % 2) == 0) {
+ c = "" + FOO_CHARACTERS.charAt(rnd.nextInt(FOO_CHARACTERS.length()));
+ } else {
+ c = "" + FOO_JOIN_CHARACTERS.charAt(rnd.nextInt(FOO_JOIN_CHARACTERS.length()));
+ }
+ if (i == 0 && firstUppercase) {
+ c = c.toUpperCase(Locale.ENGLISH);
+ }
+ ret += c;
+ }
+ }
+ for (int i = 1; i < constants.getStringCount(); i++) {
+ if (constants.getString(i).equals(ret)) {
+ exists = true;
+ rndSize += 1;
+ continue loopfoo;
+ }
+ }
+ if (isReserved(ret)) {
+ exists = true;
+ rndSize += 1;
+ continue;
+ }
+ if (deobfuscated.containsValue(ret)) {
+ exists = true;
+ rndSize += 1;
+ continue;
+ }
+ } while (exists);
+ usageTypesCount.put(usageType, pos);
+ deobfuscated.put(orig, ret);
+ return ret;
+ }
+
+ public int deobfuscatePackageName(Map stringUsageTypes, Set stringUsages, HashMap namesMap, int strIndex, RenameType renameType) {
+ if (strIndex <= 0) {
+ return strIndex;
+ }
+ String s = constants.getString(strIndex);
+ if (builtInNs(s) != null) {
+ return strIndex;
+ }
+ boolean isValid = isValidNSPart(s);
+ if (!isValid) {
+ String newName;
+ if (namesMap.containsKey(s)) {
+ newName = constants.setString(strIndex, namesMap.get(s));
+ } else {
+ String[] parts = null;
+ if (s.contains(".")) {
+ parts = s.split("\\.");
+ } else {
+ parts = new String[]{s};
+ }
+ String ret = "";
+ for (int p = 0; p < parts.length; p++) {
+ if (p > 0) {
+ ret += ".";
+ }
+ if (!isValidNSPart(parts[p])) {
+ ret += fooString(namesMap, parts[p], false, DEFAULT_FOO_SIZE, "package", renameType);
+ } else {
+ ret += parts[p];
+ }
+ }
+ newName = ret;
+ namesMap.put(s, newName);
+ }
+ if (stringUsages.contains(strIndex)) {
+ strIndex = constants.addString(newName);
+ } else {
+ constants.setString(strIndex, newName);
+ }
+
+ }
+ return strIndex;
+ }
+
+ public int deobfuscateName(Map stringUsageTypes, Set stringUsages, Set namespaceUsages, HashMap namesMap, int strIndex, boolean firstUppercase, RenameType renameType) {
+ if (strIndex <= 0) {
+ return strIndex;
+ }
+ String s = constants.getString(strIndex);
+ boolean isValid = true;
+ if (isReserved(s)) {
+ isValid = false;
+ }
+
+ if (isValid) {
+ for (int i = 0; i < s.length(); i++) {
+ if (s.charAt(i) > 127) {
+ isValid = false;
+ break;
+ }
+ }
+ }
+
+ if (isValid) {
+ Pattern pat = Pattern.compile("^[" + Pattern.quote(VALID_FIRST_CHARACTERS) + "]" + "[" + Pattern.quote(VALID_FIRST_CHARACTERS + VALID_NEXT_CHARACTERS) + "]*$");
+ if (!pat.matcher(s).matches()) {
+ isValid = false;
+ }
+ }
+
+ if (!isValid) {
+ String newname;
+ if (namesMap.containsKey(s)) {
+ newname = namesMap.get(s);
+ } else {
+ newname = fooString(namesMap, constants.getString(strIndex), firstUppercase, DEFAULT_FOO_SIZE, stringUsageTypes.get(strIndex), renameType);
+ }
+ if (stringUsages.contains(strIndex) || namespaceUsages.contains(strIndex)) { //this name is already referenced as String
+ strIndex = constants.addString(s); //add new index
+ }
+ constants.setString(strIndex, newname);
+ if (!namesMap.containsKey(s)) {
+ namesMap.put(s, constants.getString(strIndex));
+ }
+ }
+ return strIndex;
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java
similarity index 68%
rename from src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java
index 5ff1f5af8..6422968be 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/CodeStats.java
@@ -1,59 +1,58 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2;
-
-import com.jpexs.decompiler.flash.abc.ABC;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-/**
- *
- * @author JPEXS
- */
-public class CodeStats {
-
- public int maxstack = 0;
- public int maxscope = 0;
- public int maxlocal = 1;
- public int initscope = 0;
- public boolean has_set_dxns = false;
- public boolean has_activation = false;
- public InstructionStats[] instructionStats;
-
- public GraphTextWriter toString(GraphTextWriter writer, ABC abc, List fullyQualifiedNames) {
- writer.appendNoHilight("Stats: maxstack=" + maxstack + ", maxscope=" + maxscope + ", maxlocal=" + maxlocal).newLine();
- int i = 0;
- int ms = 0;
- for (InstructionStats stats : instructionStats) {
- int deltastack = stats.ins.definition.getStackDelta(stats.ins, abc);
- if (stats.stackpos > ms) {
- ms = stats.stackpos;
- }
- writer.appendNoHilight(i + ":" + stats.stackpos + (deltastack >= 0 ? "+" + deltastack : deltastack) + "," + stats.scopepos + " " + stats.ins.toString(writer, LocalData.create(abc.constants, null, fullyQualifiedNames))).newLine();
- i++;
- }
- return writer;
- }
-
- public CodeStats(AVM2Code code) {
- instructionStats = new InstructionStats[code.code.size()];
- for (int i = 0; i < code.code.size(); i++) {
- instructionStats[i] = new InstructionStats(code.code.get(i));
- }
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+import com.jpexs.decompiler.flash.abc.ABC;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class CodeStats {
+
+ public int maxstack = 0;
+ public int maxscope = 0;
+ public int maxlocal = 1;
+ public int initscope = 0;
+ public boolean has_set_dxns = false;
+ public boolean has_activation = false;
+ public InstructionStats[] instructionStats;
+
+ public GraphTextWriter toString(GraphTextWriter writer, ABC abc, List fullyQualifiedNames) {
+ writer.appendNoHilight("Stats: maxstack=" + maxstack + ", maxscope=" + maxscope + ", maxlocal=" + maxlocal).newLine();
+ int i = 0;
+ int ms = 0;
+ for (InstructionStats stats : instructionStats) {
+ int deltastack = stats.ins.definition.getStackDelta(stats.ins, abc);
+ if (stats.stackpos > ms) {
+ ms = stats.stackpos;
+ }
+ writer.appendNoHilight(i + ":" + stats.stackpos + (deltastack >= 0 ? "+" + deltastack : deltastack) + "," + stats.scopepos + " " + stats.ins.toString(writer, LocalData.create(abc.constants, null, fullyQualifiedNames))).newLine();
+ i++;
+ }
+ return writer;
+ }
+
+ public CodeStats(AVM2Code code) {
+ instructionStats = new InstructionStats[code.code.size()];
+ for (int i = 0; i < code.code.size(); i++) {
+ instructionStats[i] = new InstructionStats(code.code.get(i));
+ }
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java
similarity index 94%
rename from src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java
index 98b23e67c..f58e198ee 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConstantPool.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2;
import com.jpexs.decompiler.flash.abc.types.Decimal;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertException.java
new file mode 100644
index 000000000..bfc0fd979
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertException.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+public class ConvertException extends RuntimeException {
+
+ public int line;
+
+ public ConvertException(String s, int line) {
+ super(s + " on line " + line);
+ this.line = line;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java
new file mode 100644
index 000000000..816fe19fe
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/ConvertOutput.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TranslateStack;
+import java.util.List;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class ConvertOutput {
+
+ public TranslateStack stack;
+ public List output;
+
+ public ConvertOutput(TranslateStack stack, List output) {
+ this.stack = stack;
+ this.output = output;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java
new file mode 100644
index 000000000..3cac6e347
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InstructionStats.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class InstructionStats {
+
+ public boolean seen = false;
+ public int stackpos = 0;
+ public int scopepos = 0;
+ public int stackpos_after = 0;
+ public int scopepos_after = 0;
+ public AVM2Instruction ins;
+
+ public InstructionStats(AVM2Instruction ins) {
+ this.ins = ins;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InvalidInstructionArguments.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InvalidInstructionArguments.java
new file mode 100644
index 000000000..e94848bda
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/InvalidInstructionArguments.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+public class InvalidInstructionArguments extends RuntimeException {
+
+ public InvalidInstructionArguments() {
+ super("Invalid method arguments");
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java
new file mode 100644
index 000000000..8c4c44e4d
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/LocalDataArea.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+import java.util.HashMap;
+import java.util.Stack;
+
+public class LocalDataArea {
+
+ public Stack operandStack = new Stack<>();
+ public Stack scopeStack = new Stack<>();
+ public HashMap localRegisters = new HashMap<>();
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownInstructionCode.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownInstructionCode.java
new file mode 100644
index 000000000..7c26cc2be
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownInstructionCode.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+public class UnknownInstructionCode extends RuntimeException {
+
+ public int code;
+
+ public UnknownInstructionCode(int code) {
+ super("Unknown instruction code: 0x" + Integer.toHexString(code));
+ this.code = code;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java
new file mode 100644
index 000000000..c46e6fc23
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/UnknownJumpException.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2;
+
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TranslateStack;
+import java.util.List;
+
+public class UnknownJumpException extends RuntimeException {
+
+ public TranslateStack stack;
+ public int ip;
+ public List output;
+
+ public UnknownJumpException(TranslateStack stack, int ip, List output) {
+ this.stack = stack;
+ this.ip = ip;
+ this.output = output;
+ }
+
+ @Override
+ public String toString() {
+ return "Unknown jump to " + ip;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java
similarity index 98%
rename from src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java
index 120209c7f..6ce7ce3e7 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2Graph.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.graph;
import com.jpexs.decompiler.flash.BaseLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java
index 77b1cbcb0..f59c7c887 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/graph/AVM2GraphSource.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.graph;
import com.jpexs.decompiler.flash.BaseLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java
similarity index 95%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java
index f2bbfdf70..c485a7413 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/AVM2Instruction.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions;
import com.jpexs.decompiler.flash.BaseLocalData;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/DeobfuscatePopIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/DeobfuscatePopIns.java
new file mode 100644
index 000000000..eaf8cf356
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/DeobfuscatePopIns.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PopIns;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class DeobfuscatePopIns extends PopIns {
+
+ public DeobfuscatePopIns() {
+ instructionName = "ffdec_deobfuscatepop";
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/IfTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/IfTypeIns.java
new file mode 100644
index 000000000..04de05357
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/IfTypeIns.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions;
+
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TranslateStack;
+import java.util.HashMap;
+
+public interface IfTypeIns {
+
+ public abstract void translateInverted(HashMap localRegs, TranslateStack stack, AVM2Instruction ins);
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java
similarity index 90%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java
index 2a5de4b2c..8ad08c3d1 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/InstructionDefinition.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java
new file mode 100644
index 000000000..702ed5972
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/SetTypeIns.java
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions;
+
+import com.jpexs.decompiler.flash.abc.ABC;
+import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
+import com.jpexs.decompiler.flash.abc.types.MethodBody;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Stack;
+
+public interface SetTypeIns {
+
+ public abstract String getObject(Stack stack, ABC abc, AVM2Instruction ins, List output, MethodBody body, HashMap localRegNames, List fullyQualifiedNames) throws InterruptedException;
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/TagInstruction.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/TagInstruction.java
new file mode 100644
index 000000000..9d03b5658
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/TagInstruction.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class TagInstruction extends InstructionDefinition {
+
+ public static final long serialVersionUID = 1L;
+
+ public TagInstruction(String tagName) {
+ super(-1, tagName, new int[0]);
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf32Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf32Ins.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf32Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf32Ins.java
index 07942d5b7..10cc567da 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf32Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf32Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf64Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf64Ins.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf64Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf64Ins.java
index c15978ae8..18791cd25 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf64Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Lf64Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li16Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li16Ins.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li16Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li16Ins.java
index 508db45e9..d700ccd2a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li16Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li16Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li32Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li32Ins.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li32Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li32Ins.java
index 7e6a6db2c..a678e6f0f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li32Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li32Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li8Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li8Ins.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li8Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li8Ins.java
index d90954e35..68c1bd56d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li8Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Li8Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf32Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf32Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf32Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf32Ins.java
index d66bf0f6f..84e6214c8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf32Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf32Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf64Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf64Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf64Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf64Ins.java
index 8d02c7ef0..e69d2b1ca 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf64Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sf64Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si16Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si16Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si16Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si16Ins.java
index 6e6f429d1..15c9df723 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si16Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si16Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si32Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si32Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si32Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si32Ins.java
index 677bbef60..d1634975e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si32Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si32Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si8Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si8Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si8Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si8Ins.java
index 068d51c4d..1f4792ea3 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si8Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Si8Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi16Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi16Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi16Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi16Ins.java
index 9ed08da47..82d2d158a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi16Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi16Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi1Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi1Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi1Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi1Ins.java
index 74194f77c..3394ff8e8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi1Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi1Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi8Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi8Ins.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi8Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi8Ins.java
index 657257dd3..a9585a7c9 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi8Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/alchemy/Sxi8Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.alchemy;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIIns.java
index 263f2d708..c2b12e1e1 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIns.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIns.java
index 04a9c753f..0b9af4668 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/AddIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIIns.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIIns.java
index 4ae7b76c6..5b5c9220f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIns.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIns.java
index 45188268c..14bed8082 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DecrementIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DivideIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DivideIns.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DivideIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DivideIns.java
index a93985653..82625ad2d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DivideIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/DivideIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIIns.java
index 81201a2b9..12ef018b2 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIns.java
index 022d7925a..1fb30c2c7 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/IncrementIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/ModuloIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/ModuloIns.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/ModuloIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/ModuloIns.java
index e5a0f3c63..b3e384b44 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/ModuloIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/ModuloIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIIns.java
index ebbf96a6d..61b48b256 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIns.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIns.java
index 00bd0ef01..4ce9e68b2 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/MultiplyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIIns.java
index af23a6589..d6072fc2e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIns.java
index 14f4ef6d0..af0e1b66a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NegateIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NotIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NotIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NotIns.java
index 753271b92..c7a9f98fe 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NotIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/NotIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIIns.java
index bb2dd1c6a..1430b7c33 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIns.java
index 48add6e15..fb515f2a8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/arithmetic/SubtractIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitAndIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitAndIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitAndIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitAndIns.java
index cbf7fbff4..5f50dce7a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitAndIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitAndIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitNotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitNotIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitNotIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitNotIns.java
index 05757cc7f..31d41e0cf 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitNotIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitNotIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitOrIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitOrIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitOrIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitOrIns.java
index 3a0396e97..31a562bb7 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitOrIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitOrIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitXorIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitXorIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitXorIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitXorIns.java
index ab7ea9890..6ae330f15 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitXorIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/BitXorIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/LShiftIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/LShiftIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/LShiftIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/LShiftIns.java
index b3a6ad0f2..c2ecbba38 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/LShiftIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/LShiftIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/RShiftIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/RShiftIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/RShiftIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/RShiftIns.java
index 8502d9827..02423fffd 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/RShiftIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/RShiftIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/URShiftIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/URShiftIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/URShiftIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/URShiftIns.java
index f916d5583..d93f2e4c2 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/URShiftIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/bitwise/URShiftIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/EqualsIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/EqualsIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/EqualsIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/EqualsIns.java
index 9c2f4eb31..1e6075d9b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/EqualsIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/EqualsIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.comparison;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterEqualsIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterEqualsIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterEqualsIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterEqualsIns.java
index c81564660..4933419bb 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterEqualsIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterEqualsIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.comparison;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterThanIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterThanIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterThanIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterThanIns.java
index 9508ae123..43684628f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterThanIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/GreaterThanIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.comparison;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessEqualsIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessEqualsIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessEqualsIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessEqualsIns.java
index 77d121f9b..f7405dbd8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessEqualsIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessEqualsIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.comparison;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessThanIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessThanIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessThanIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessThanIns.java
index d447861e0..f0ae52133 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessThanIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/LessThanIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.comparison;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/StrictEqualsIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/StrictEqualsIns.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/StrictEqualsIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/StrictEqualsIns.java
index e5ad0ca79..b91474832 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/StrictEqualsIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/comparison/StrictEqualsIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.comparison;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructIns.java
similarity index 87%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructIns.java
index aa61ca175..a9897d72e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java
similarity index 84%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java
index c6831a535..6e1561cbc 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructPropIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructSuperIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructSuperIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructSuperIns.java
index 9904a4729..2fd22e7da 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructSuperIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/ConstructSuperIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewActivationIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewActivationIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewActivationIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewActivationIns.java
index 1288a302b..d3c5c599a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewActivationIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewActivationIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewArrayIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewArrayIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewArrayIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewArrayIns.java
index cb81df29a..aef6e01be 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewArrayIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewArrayIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewCatchIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewCatchIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewCatchIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewCatchIns.java
index 15889b306..5c5c415c6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewCatchIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewCatchIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewClassIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewClassIns.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewClassIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewClassIns.java
index 88b632b26..8f5c6d548 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewClassIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewClassIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewFunctionIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewFunctionIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewFunctionIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewFunctionIns.java
index 789036b85..e808ba667 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewFunctionIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewFunctionIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewObjectIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewObjectIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewObjectIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewObjectIns.java
index 939a0db76..117ce1710 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewObjectIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/construction/NewObjectIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.construction;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugFileIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugFileIns.java
new file mode 100644
index 000000000..a7d801df7
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugFileIns.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.debug;
+
+import com.jpexs.decompiler.flash.abc.avm2.AVM2Code;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+
+public class DebugFileIns extends InstructionDefinition {
+
+ public DebugFileIns() {
+ super(0xf1, "debugfile", new int[]{AVM2Code.DAT_STRING_INDEX});
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugIns.java
new file mode 100644
index 000000000..9c66abebe
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugIns.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.debug;
+
+import com.jpexs.decompiler.flash.abc.avm2.AVM2Code;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+
+public class DebugIns extends InstructionDefinition {
+
+ public DebugIns() {
+ super(0xef, "debug", new int[]{AVM2Code.DAT_DEBUG_TYPE, AVM2Code.DAT_STRING_INDEX, AVM2Code.DAT_REGISTER_INDEX, AVM2Code.OPT_U30});
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugLineIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugLineIns.java
new file mode 100644
index 000000000..a26c8701f
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/debug/DebugLineIns.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.debug;
+
+import com.jpexs.decompiler.flash.abc.avm2.AVM2Code;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+
+public class DebugLineIns extends InstructionDefinition {
+
+ public DebugLineIns() {
+ super(0xf0, "debugline", new int[]{AVM2Code.DAT_LINENUM});
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallIns.java
index 0eec99b14..cab5b50e3 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallMethodIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallMethodIns.java
similarity index 79%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallMethodIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallMethodIns.java
index eeba28db0..e02589f81 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallMethodIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallMethodIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java
index 02cb9e48a..300d8f96b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropLexIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java
index 34fa78e47..f21b302a9 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropVoidIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java
index 99d55d4ec..fae4b9646 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallPropertyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallStaticIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallStaticIns.java
similarity index 79%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallStaticIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallStaticIns.java
index f97d1ffd5..f3a333563 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallStaticIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallStaticIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java
index 21915d67d..a2d5d3f2f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java
index dfa3cbbfc..ffbbe05f2 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/executing/CallSuperVoidIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.executing;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfEqIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfEqIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfEqIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfEqIns.java
index c416f1cda..431b817b6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfEqIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfEqIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfFalseIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfFalseIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfFalseIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfFalseIns.java
index 17ed6f964..31f434f80 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfFalseIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfFalseIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGeIns.java
index b8f18d336..ba0fe7927 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGtIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGtIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGtIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGtIns.java
index 21a7ad9c4..34a46e651 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGtIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfGtIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLeIns.java
index f89878a07..7702346be 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLtIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLtIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLtIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLtIns.java
index 178942c08..b141e0cd2 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLtIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfLtIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGeIns.java
index 89947e730..484aff01b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGtIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGtIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGtIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGtIns.java
index 570ccec23..6e4cfa713 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGtIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNGtIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLeIns.java
index 172c640d0..1a19267de 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLtIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLtIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLtIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLtIns.java
index 6dbad8f53..f535c6277 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLtIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNLtIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNeIns.java
index da73905c4..5db7a8c5c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfNeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictEqIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictEqIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictEqIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictEqIns.java
index 59535414e..9c76dc663 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictEqIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictEqIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictNeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictNeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictNeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictNeIns.java
index 4e3a5251e..3f6442b16 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictNeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfStrictNeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfTrueIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfTrueIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfTrueIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfTrueIns.java
index f66cc4247..0e273f0c1 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfTrueIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/IfTrueIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/JumpIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/JumpIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/JumpIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/JumpIns.java
index 7f413dd0d..1356adfdf 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/JumpIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/JumpIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/LookupSwitchIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/LookupSwitchIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/LookupSwitchIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/LookupSwitchIns.java
index 432f6f731..540df39d9 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/LookupSwitchIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/jumps/LookupSwitchIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.jumps;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIIns.java
similarity index 81%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIIns.java
index db2437b2b..4e29ad505 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIns.java
similarity index 81%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIns.java
index 503568cd9..e5df21c9c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/DecLocalIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal0Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal0Ins.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal0Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal0Ins.java
index 9a8c9014e..7858ad50f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal0Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal0Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal1Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal1Ins.java
new file mode 100644
index 000000000..e822cc9b4
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal1Ins.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.LocalDataArea;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import java.util.List;
+
+public class GetLocal1Ins extends GetLocalTypeIns {
+
+ public GetLocal1Ins() {
+ super(0xd1, "getlocal_1", new int[]{});
+ }
+
+ @Override
+ public void execute(LocalDataArea lda, ConstantPool constants, List arguments) {
+ lda.operandStack.push(lda.localRegisters.get(1));
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction par0) {
+ return 1;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal2Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal2Ins.java
new file mode 100644
index 000000000..eed78d148
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal2Ins.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.LocalDataArea;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import java.util.List;
+
+public class GetLocal2Ins extends GetLocalTypeIns {
+
+ public GetLocal2Ins() {
+ super(0xd2, "getlocal_2", new int[]{});
+ }
+
+ @Override
+ public void execute(LocalDataArea lda, ConstantPool constants, List arguments) {
+ lda.operandStack.push(lda.localRegisters.get(2));
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction par0) {
+ return 2;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal3Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal3Ins.java
new file mode 100644
index 000000000..b747dadec
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocal3Ins.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.LocalDataArea;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import java.util.List;
+
+public class GetLocal3Ins extends GetLocalTypeIns {
+
+ public GetLocal3Ins() {
+ super(0xd3, "getlocal_3", new int[]{});
+ }
+
+ @Override
+ public void execute(LocalDataArea lda, ConstantPool constants, List arguments) {
+ lda.operandStack.push(lda.localRegisters.get(3));
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction par0) {
+ return 3;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalIns.java
similarity index 53%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalIns.java
index b974086d5..443f60d48 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalIns.java
@@ -1,40 +1,39 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
-
-import com.jpexs.decompiler.flash.abc.avm2.AVM2Code;
-import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
-import com.jpexs.decompiler.flash.abc.avm2.LocalDataArea;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import java.util.List;
-
-public class GetLocalIns extends GetLocalTypeIns {
-
- public GetLocalIns() {
- super(0x62, "getlocal", new int[]{AVM2Code.DAT_LOCAL_REG_INDEX});
- }
-
- @Override
- public void execute(LocalDataArea lda, ConstantPool constants, List arguments) {
- lda.operandStack.push(lda.localRegisters.get((int) (long) (Long) arguments.get(0)));
- }
-
- @Override
- public int getRegisterId(AVM2Instruction ins) {
- return ins.operands[0];
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.AVM2Code;
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.LocalDataArea;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import java.util.List;
+
+public class GetLocalIns extends GetLocalTypeIns {
+
+ public GetLocalIns() {
+ super(0x62, "getlocal", new int[]{AVM2Code.DAT_LOCAL_REG_INDEX});
+ }
+
+ @Override
+ public void execute(LocalDataArea lda, ConstantPool constants, List arguments) {
+ lda.operandStack.push(lda.localRegisters.get((int) (long) (Long) arguments.get(0)));
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction ins) {
+ return ins.operands[0];
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalTypeIns.java
similarity index 79%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalTypeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalTypeIns.java
index 39c5622b1..ffcafca7f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalTypeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/GetLocalTypeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIIns.java
index e1a4c81c7..fb84b0c16 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIns.java
index 9d8b46ea6..dfb15f3be 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/IncLocalIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/KillIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/KillIns.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/KillIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/KillIns.java
index 287f60553..015c63b9c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/KillIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/KillIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal0Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal0Ins.java
new file mode 100644
index 000000000..7699e8ece
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal0Ins.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+public class SetLocal0Ins extends SetLocalTypeIns {
+
+ public SetLocal0Ins() {
+ super(0xd4, "setlocal_0", new int[]{});
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction ins) {
+ return 0;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal1Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal1Ins.java
new file mode 100644
index 000000000..d411ededc
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal1Ins.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+public class SetLocal1Ins extends SetLocalTypeIns {
+
+ public SetLocal1Ins() {
+ super(0xd5, "setlocal_1", new int[]{});
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction ins) {
+ return 1;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal2Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal2Ins.java
new file mode 100644
index 000000000..c6e5dc9c2
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal2Ins.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+public class SetLocal2Ins extends SetLocalTypeIns {
+
+ public SetLocal2Ins() {
+ super(0xd6, "setlocal_2", new int[]{});
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction ins) {
+ return 2;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal3Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal3Ins.java
new file mode 100644
index 000000000..ccf356e8d
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocal3Ins.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+public class SetLocal3Ins extends SetLocalTypeIns {
+
+ public SetLocal3Ins() {
+ super(0xd7, "setlocal_3", new int[]{});
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction ins) {
+ return 3;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalIns.java
new file mode 100644
index 000000000..308d1fa70
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalIns.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
+
+import com.jpexs.decompiler.flash.abc.avm2.AVM2Code;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+public class SetLocalIns extends SetLocalTypeIns {
+
+ public SetLocalIns() {
+ super(0x63, "setlocal", new int[]{AVM2Code.DAT_LOCAL_REG_INDEX});
+ }
+
+ @Override
+ public int getRegisterId(AVM2Instruction ins) {
+ return ins.operands[0];
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java
similarity index 89%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java
index 957226f13..abd2790f4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/localregs/SetLocalTypeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.localregs;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java
index 9004d5f8e..cbc61fb0c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/DeletePropertyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindDefIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindDefIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindDefIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindDefIns.java
index e62a5583b..a80368ccd 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindDefIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindDefIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java
index 482a74045..76bb2bf6f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java
index 55a2e8739..749e7133a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/FindPropertyStrictIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java
index 4d8cdf688..c61c4c65e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetDescendantsIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalScopeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalScopeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalScopeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalScopeIns.java
index e313e0f30..b3438bbbc 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalScopeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalScopeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalSlotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalSlotIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalSlotIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalSlotIns.java
index fa2fa06c8..a902bbf89 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalSlotIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetGlobalSlotIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java
index 76b196dce..2b2f7a67c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetLexIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java
index c9230d250..178e34b14 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetPropertyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetScopeObjectIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetScopeObjectIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetScopeObjectIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetScopeObjectIns.java
index c14ee9d23..17cb55a05 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetScopeObjectIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetScopeObjectIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSlotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSlotIns.java
similarity index 83%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSlotIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSlotIns.java
index 672e64a37..e2fd4f17d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSlotIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSlotIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java
index 6935776c8..c1836128e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/GetSuperIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java
index 793d74f0e..1ce1aae58 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNext2Ins.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNextIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNextIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNextIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNextIns.java
index 3a2985488..d131e93b0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNextIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/HasNextIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InIns.java
index eac8032fc..51128fd85 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java
index 85a198522..452ae3247 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/InitPropertyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/LabelIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/LabelIns.java
new file mode 100644
index 000000000..acce2949b
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/LabelIns.java
@@ -0,0 +1,26 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+
+public class LabelIns extends InstructionDefinition {
+//this can be target of branch
+
+ public LabelIns() {
+ super(0x09, "label", new int[]{});
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextNameIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextNameIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextNameIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextNameIns.java
index dbd5ec4a6..37441a98c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextNameIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextNameIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextValueIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextValueIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextValueIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextValueIns.java
index af06872b5..51fb27c30 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextValueIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NextValueIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NopIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NopIns.java
new file mode 100644
index 000000000..00d156db1
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/NopIns.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+
+public class NopIns extends InstructionDefinition {
+
+ public NopIns() {
+ super(0x02, "nop", new int[]{});
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnValueIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnValueIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnValueIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnValueIns.java
index 16185f400..c936b931e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnValueIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnValueIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnVoidIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnVoidIns.java
similarity index 68%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnVoidIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnVoidIns.java
index b34c547c8..66076767a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnVoidIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ReturnVoidIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetGlobalSlotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetGlobalSlotIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetGlobalSlotIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetGlobalSlotIns.java
index 3773b3d54..9728eec9c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetGlobalSlotIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetGlobalSlotIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java
similarity index 92%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java
index df9a83783..94249aa57 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetPropertyIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java
similarity index 92%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java
index 2a8a676d2..a22e48a9d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSlotIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java
index 3838c3593..5d87c7724 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/SetSuperIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ThrowIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ThrowIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ThrowIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ThrowIns.java
index d9be45d19..9d70fde42 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ThrowIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/other/ThrowIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.other;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/DupIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/DupIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/DupIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/DupIns.java
index 22a0f85e7..1c417e8fb 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/DupIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/DupIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopIns.java
index 97a3840c1..2c3bee7a4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopScopeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopScopeIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopScopeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopScopeIns.java
index 56c33c5d0..7ba5f3161 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopScopeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PopScopeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushByteIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushByteIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushByteIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushByteIns.java
index 222258a59..af5163a6c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushByteIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushByteIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushDoubleIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushDoubleIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushDoubleIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushDoubleIns.java
index 36ab7b4c3..0a634902a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushDoubleIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushDoubleIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushFalseIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushFalseIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushFalseIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushFalseIns.java
index 2ce908986..ee92221ee 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushFalseIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushFalseIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntIns.java
index e4ff5b65e..9e6ebe17b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntegerTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntegerTypeIns.java
new file mode 100644
index 000000000..e414d70e6
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushIntegerTypeIns.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface PushIntegerTypeIns {
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNamespaceIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNamespaceIns.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNamespaceIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNamespaceIns.java
index aee4dd7d2..7766494f5 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNamespaceIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNamespaceIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNanIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNanIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNanIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNanIns.java
index acf01f0e3..cc6110c73 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNanIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNanIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNullIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNullIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNullIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNullIns.java
index 4f46562a1..baaecb611 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNullIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushNullIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushScopeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushScopeIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushScopeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushScopeIns.java
index 891d31958..7127436e7 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushScopeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushScopeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushShortIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushShortIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushShortIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushShortIns.java
index 5e9000e9f..b273ca0d6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushShortIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushShortIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushStringIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushStringIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushStringIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushStringIns.java
index 3b7be1bbe..f519e1e8b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushStringIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushStringIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushTrueIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushTrueIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushTrueIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushTrueIns.java
index 53f1db5ec..534e95aef 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushTrueIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushTrueIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUIntIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUIntIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUIntIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUIntIns.java
index cfad84d42..98daf30bb 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUIntIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUIntIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUndefinedIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUndefinedIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUndefinedIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUndefinedIns.java
index 9193a87b8..4ee559576 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUndefinedIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushUndefinedIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushWithIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushWithIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushWithIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushWithIns.java
index 971714bde..ee08d1fea 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushWithIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/PushWithIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/SwapIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/SwapIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/SwapIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/SwapIns.java
index 576d50041..5344514d4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/SwapIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/stack/SwapIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.stack;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ApplyTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ApplyTypeIns.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ApplyTypeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ApplyTypeIns.java
index 0c9cbee29..6169e6792 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ApplyTypeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ApplyTypeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java
index b31479f6c..1b674eb0f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeLateIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeLateIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeLateIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeLateIns.java
index efe87b6c9..8f18f1f7e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeLateIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/AsTypeLateIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceAIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceAIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceAIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceAIns.java
index e7742ba38..936e2f858 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceAIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceAIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceIns.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceIns.java
index 244c61521..0f17033f6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceOrConvertTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceOrConvertTypeIns.java
new file mode 100644
index 000000000..cf6a59696
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceOrConvertTypeIns.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
+
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import java.util.List;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface CoerceOrConvertTypeIns {
+
+ public GraphTargetItem getTargetType(ConstantPool constants, AVM2Instruction ins, List fullyQualifiedNames);
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceSIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceSIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceSIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceSIns.java
index 5d0b4ceab..837929159 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceSIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/CoerceSIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertBIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertBIns.java
similarity index 78%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertBIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertBIns.java
index aa8960db2..65b3079a2 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertBIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertBIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertDIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertDIns.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertDIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertDIns.java
index 15fbd1572..7a921c605 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertDIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertDIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertIIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertIIns.java
similarity index 79%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertIIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertIIns.java
index c2c7b56e9..8225ed9f6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertIIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertIIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertOIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertOIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertOIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertOIns.java
index a842aa4e8..605c8c447 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertOIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertOIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertSIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertSIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertSIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertSIns.java
index 9547dc2ab..d223dc7e0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertSIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertSIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertUIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertUIns.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertUIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertUIns.java
index 447b4e695..261a1f28b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertUIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/ConvertUIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/InstanceOfIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/InstanceOfIns.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/InstanceOfIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/InstanceOfIns.java
index f1f24d8c2..c3c4a6a3c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/InstanceOfIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/InstanceOfIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java
index eb41a70f6..f96ecf481 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeLateIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeLateIns.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeLateIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeLateIns.java
index f75610fed..fe39e234a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeLateIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/IsTypeLateIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/TypeOfIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/TypeOfIns.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/TypeOfIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/TypeOfIns.java
index d04b066ed..3900babce 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/TypeOfIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/types/TypeOfIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.types;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/CheckFilterIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/CheckFilterIns.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/CheckFilterIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/CheckFilterIns.java
index 280b92d6b..474bf280c 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/CheckFilterIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/CheckFilterIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.xml;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSIns.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSIns.java
index 98e5fe7bc..67f41f51a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.xml;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSLateIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSLateIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSLateIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSLateIns.java
index 207f51fb4..e1b488e51 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSLateIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/DXNSLateIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.xml;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXAttrIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXAttrIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXAttrIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXAttrIns.java
index 8beab2475..bc55259d0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXAttrIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXAttrIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.xml;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXElemIns.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXElemIns.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXElemIns.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXElemIns.java
index 3b8912046..40e99ee36 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXElemIns.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/instructions/xml/EscXElemIns.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.instructions.xml;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java
similarity index 87%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java
index fc3280cdc..6694e6e31 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java
similarity index 60%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java
index a9ab1855d..be73248b9 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyLoadAVM2Item.java
@@ -1,56 +1,55 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class AlchemyLoadAVM2Item extends AVM2Item {
-
- private final String name;
- private final GraphTargetItem ofs;
-
- public AlchemyLoadAVM2Item(GraphSourceItem instruction, GraphTargetItem ofs, String name) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.name = name;
- this.ofs = ofs;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("op_" + name + "(");
- ofs.toString(writer, localData);
- return writer.append(") /*Alchemy*/");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class AlchemyLoadAVM2Item extends AVM2Item {
+
+ private final String name;
+ private final GraphTargetItem ofs;
+
+ public AlchemyLoadAVM2Item(GraphSourceItem instruction, GraphTargetItem ofs, String name) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.name = name;
+ this.ofs = ofs;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("op_" + name + "(");
+ ofs.toString(writer, localData);
+ return writer.append(") /*Alchemy*/");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemySignExtendAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemySignExtendAVM2Item.java
similarity index 59%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemySignExtendAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemySignExtendAVM2Item.java
index c2f38edb1..79c4c9d73 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemySignExtendAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemySignExtendAVM2Item.java
@@ -1,55 +1,54 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class AlchemySignExtendAVM2Item extends AVM2Item {
-
- private final String name;
-
- public AlchemySignExtendAVM2Item(GraphSourceItem instruction, GraphTargetItem value, String name) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.name = name;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("op_" + name + "(");
- value.toString(writer, localData);
- return writer.append(") /*Alchemy*/");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class AlchemySignExtendAVM2Item extends AVM2Item {
+
+ private final String name;
+
+ public AlchemySignExtendAVM2Item(GraphSourceItem instruction, GraphTargetItem value, String name) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.name = name;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("op_" + name + "(");
+ value.toString(writer, localData);
+ return writer.append(") /*Alchemy*/");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java
similarity index 62%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java
index e5dc869cb..a7a899bef 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/AlchemyStoreAVM2Item.java
@@ -1,59 +1,58 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class AlchemyStoreAVM2Item extends AVM2Item {
-
- private final String name;
- private final GraphTargetItem ofs;
-
- public AlchemyStoreAVM2Item(GraphSourceItem instruction, GraphTargetItem value, GraphTargetItem ofs, String name) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.name = name;
- this.ofs = ofs;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("op_" + name + "(");
- ofs.toString(writer, localData);
- writer.append(",");
- value.toString(writer, localData);
- return writer.append(") /*Alchemy*/");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class AlchemyStoreAVM2Item extends AVM2Item {
+
+ private final String name;
+ private final GraphTargetItem ofs;
+
+ public AlchemyStoreAVM2Item(GraphSourceItem instruction, GraphTargetItem value, GraphTargetItem ofs, String name) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.name = name;
+ this.ofs = ofs;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("op_" + name + "(");
+ ofs.toString(writer, localData);
+ writer.append(",");
+ value.toString(writer, localData);
+ return writer.append(") /*Alchemy*/");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java
index 49a2f79f1..4ed2b81b4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ApplyTypeAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java
index 2e83d2b70..e184ad105 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/BooleanAVM2Item.java
@@ -1,73 +1,72 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushFalseIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushTrueIns;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-import java.util.Set;
-
-public class BooleanAVM2Item extends AVM2Item {
-
- public Boolean value;
-
- public BooleanAVM2Item(AVM2Instruction instruction, Boolean value) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append(value ? "true" : "false");
- }
-
- @Override
- public Object getResult() {
- return value;
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator,
- new AVM2Instruction(0, value ? new PushTrueIns() : new PushFalseIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.BOOLEAN;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushFalseIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushTrueIns;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+import java.util.Set;
+
+public class BooleanAVM2Item extends AVM2Item {
+
+ public Boolean value;
+
+ public BooleanAVM2Item(AVM2Instruction instruction, Boolean value) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append(value ? "true" : "false");
+ }
+
+ @Override
+ public Object getResult() {
+ return value;
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator,
+ new AVM2Instruction(0, value ? new PushTrueIns() : new PushFalseIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.BOOLEAN;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java
index b249f48b0..6ff2993e0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallAVM2Item.java
@@ -1,75 +1,74 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class CallAVM2Item extends AVM2Item {
-
- public GraphTargetItem receiver;
- public GraphTargetItem function;
- public List arguments;
-
- public CallAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, GraphTargetItem function, List arguments) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.receiver = receiver;
- this.function = function;
- this.arguments = arguments;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- /*String recPart = ""; receiver.toString(constants, localRegNames) + writer.append(".");
- if (receiver instanceof NewActivationAVM2Item) {
- recPart = "";
- }
- if (receiver instanceof ThisAVM2Item) {
- recPart = "";
- }*/
- if (function.getPrecedence() > precedence) {
- writer.append("(");
- function.toString(writer, localData);
- writer.append(")");
- } else {
- function.toString(writer, localData);
- }
- writer.spaceBeforeCallParenthesies(arguments.size());
- writer.append("(");
- for (int a = 0; a < arguments.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- arguments.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class CallAVM2Item extends AVM2Item {
+
+ public GraphTargetItem receiver;
+ public GraphTargetItem function;
+ public List arguments;
+
+ public CallAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, GraphTargetItem function, List arguments) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.receiver = receiver;
+ this.function = function;
+ this.arguments = arguments;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ /*String recPart = ""; receiver.toString(constants, localRegNames) + writer.append(".");
+ if (receiver instanceof NewActivationAVM2Item) {
+ recPart = "";
+ }
+ if (receiver instanceof ThisAVM2Item) {
+ recPart = "";
+ }*/
+ if (function.getPrecedence() > precedence) {
+ writer.append("(");
+ function.toString(writer, localData);
+ writer.append(")");
+ } else {
+ function.toString(writer, localData);
+ }
+ writer.spaceBeforeCallParenthesies(arguments.size());
+ writer.append("(");
+ for (int a = 0; a < arguments.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ arguments.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java
index 5f27ad881..5aaae0f2b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallMethodAVM2Item.java
@@ -1,64 +1,63 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class CallMethodAVM2Item extends AVM2Item {
-
- public GraphTargetItem receiver;
- public String methodName;
- public List arguments;
-
- public CallMethodAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, String methodName, List arguments) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.receiver = receiver;
- this.methodName = methodName;
- this.arguments = arguments;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- receiver.toString(writer, localData);
- writer.append(".");
- writer.append(methodName);
- writer.spaceBeforeCallParenthesies(arguments.size());
- writer.append("(");
- for (int a = 0; a < arguments.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- arguments.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED; //FIXME
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class CallMethodAVM2Item extends AVM2Item {
+
+ public GraphTargetItem receiver;
+ public String methodName;
+ public List arguments;
+
+ public CallMethodAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, String methodName, List arguments) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.receiver = receiver;
+ this.methodName = methodName;
+ this.arguments = arguments;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ receiver.toString(writer, localData);
+ writer.append(".");
+ writer.append(methodName);
+ writer.spaceBeforeCallParenthesies(arguments.size());
+ writer.append("(");
+ for (int a = 0; a < arguments.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ arguments.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED; //FIXME
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java
index e89600856..7c86a6739 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallPropertyAVM2Item.java
@@ -1,77 +1,76 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.executing.CallPropertyIns;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class CallPropertyAVM2Item extends AVM2Item {
-
- public GraphTargetItem receiver;
- public GraphTargetItem propertyName;
- public List arguments;
- public boolean isVoid;
-
- public CallPropertyAVM2Item(AVM2Instruction instruction, boolean isVoid, GraphTargetItem receiver, GraphTargetItem propertyName, List arguments) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.receiver = receiver;
- this.propertyName = propertyName;
- this.arguments = arguments;
- this.isVoid = isVoid;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- formatProperty(writer, receiver, propertyName, localData);
- writer.spaceBeforeCallParenthesies(arguments.size());
- writer.append("(");
- for (int a = 0; a < arguments.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- arguments.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, receiver, arguments,
- new AVM2Instruction(0, new CallPropertyIns(), new int[]{((AVM2SourceGenerator) generator).propertyName(propertyName), arguments.size()}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.executing.CallPropertyIns;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class CallPropertyAVM2Item extends AVM2Item {
+
+ public GraphTargetItem receiver;
+ public GraphTargetItem propertyName;
+ public List arguments;
+ public boolean isVoid;
+
+ public CallPropertyAVM2Item(AVM2Instruction instruction, boolean isVoid, GraphTargetItem receiver, GraphTargetItem propertyName, List arguments) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.receiver = receiver;
+ this.propertyName = propertyName;
+ this.arguments = arguments;
+ this.isVoid = isVoid;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ formatProperty(writer, receiver, propertyName, localData);
+ writer.spaceBeforeCallParenthesies(arguments.size());
+ writer.append("(");
+ for (int a = 0; a < arguments.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ arguments.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, receiver, arguments,
+ new AVM2Instruction(0, new CallPropertyIns(), new int[]{((AVM2SourceGenerator) generator).propertyName(propertyName), arguments.size()}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java
index 062d74188..a00f5eacf 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallStaticAVM2Item.java
@@ -1,64 +1,63 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class CallStaticAVM2Item extends AVM2Item {
-
- public GraphTargetItem receiver;
- public String methodName;
- public List arguments;
-
- public CallStaticAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, String methodName, List arguments) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.receiver = receiver;
- this.methodName = methodName;
- this.arguments = arguments;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- receiver.toString(writer, localData);
- writer.append(".");
- writer.append(methodName);
- writer.spaceBeforeCallParenthesies(arguments.size());
- writer.append("(");
- for (int a = 0; a < arguments.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- arguments.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class CallStaticAVM2Item extends AVM2Item {
+
+ public GraphTargetItem receiver;
+ public String methodName;
+ public List arguments;
+
+ public CallStaticAVM2Item(AVM2Instruction instruction, GraphTargetItem receiver, String methodName, List arguments) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.receiver = receiver;
+ this.methodName = methodName;
+ this.arguments = arguments;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ receiver.toString(writer, localData);
+ writer.append(".");
+ writer.append(methodName);
+ writer.spaceBeforeCallParenthesies(arguments.size());
+ writer.append("(");
+ for (int a = 0; a < arguments.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ arguments.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java
index 517c66dd2..cc6f213b3 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CallSuperAVM2Item.java
@@ -1,69 +1,68 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class CallSuperAVM2Item extends AVM2Item {
-
- public GraphTargetItem receiver;
- public GraphTargetItem multiname;
- public List arguments;
- public boolean isVoid;
-
- public CallSuperAVM2Item(AVM2Instruction instruction, boolean isVoid, GraphTargetItem receiver, GraphTargetItem multiname, List arguments) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.receiver = receiver;
- this.multiname = multiname;
- this.arguments = arguments;
- this.isVoid = isVoid;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (!receiver.toString().equals("this")) {
- receiver.toString(writer, localData);
- writer.append(".");
- }
- writer.append("super.");
- multiname.toString(writer, localData);
- writer.append("(");
- String args = "";
- for (int a = 0; a < arguments.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- arguments.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class CallSuperAVM2Item extends AVM2Item {
+
+ public GraphTargetItem receiver;
+ public GraphTargetItem multiname;
+ public List arguments;
+ public boolean isVoid;
+
+ public CallSuperAVM2Item(AVM2Instruction instruction, boolean isVoid, GraphTargetItem receiver, GraphTargetItem multiname, List arguments) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.receiver = receiver;
+ this.multiname = multiname;
+ this.arguments = arguments;
+ this.isVoid = isVoid;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (!receiver.toString().equals("this")) {
+ receiver.toString(writer, localData);
+ writer.append(".");
+ }
+ writer.append("super.");
+ multiname.toString(writer, localData);
+ writer.append("(");
+ String args = "";
+ for (int a = 0; a < arguments.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ arguments.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ClassAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ClassAVM2Item.java
similarity index 55%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ClassAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ClassAVM2Item.java
index 957490a5f..c878b8267 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ClassAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ClassAVM2Item.java
@@ -1,48 +1,47 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class ClassAVM2Item extends AVM2Item {
-
- public Multiname className;
-
- public ClassAVM2Item(Multiname className) {
- super(null, PRECEDENCE_PRIMARY);
- this.className = className;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append(className.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class ClassAVM2Item extends AVM2Item {
+
+ public Multiname className;
+
+ public ClassAVM2Item(Multiname className) {
+ super(null, PRECEDENCE_PRIMARY);
+ this.className = className;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append(className.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java
similarity index 87%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java
index 53fd5c3cf..37df67aa7 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/CoerceAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java
similarity index 72%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java
index f56c1ce7d..fe474cd73 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java
index 5565f31a1..e7a959573 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructPropAVM2Item.java
@@ -1,68 +1,67 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class ConstructPropAVM2Item extends AVM2Item {
-
- public GraphTargetItem object;
- public GraphTargetItem propertyName;
- public List args;
-
- public ConstructPropAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName, List args) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.object = object;
- this.propertyName = propertyName;
- this.args = args;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("new ");
- int idx = writer.getLength();
- object.toString(writer, localData);
- if (idx < writer.getLength()) {
- writer.append(".");
- }
- propertyName.toString(writer, localData);
- writer.spaceBeforeCallParenthesies(args.size());
- writer.append("(");
- for (int a = 0; a < args.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- args.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class ConstructPropAVM2Item extends AVM2Item {
+
+ public GraphTargetItem object;
+ public GraphTargetItem propertyName;
+ public List args;
+
+ public ConstructPropAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName, List args) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.object = object;
+ this.propertyName = propertyName;
+ this.args = args;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("new ");
+ int idx = writer.getLength();
+ object.toString(writer, localData);
+ if (idx < writer.getLength()) {
+ writer.append(".");
+ }
+ propertyName.toString(writer, localData);
+ writer.spaceBeforeCallParenthesies(args.size());
+ writer.append("(");
+ for (int a = 0; a < args.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ args.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java
index e6b107308..576888280 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConstructSuperAVM2Item.java
@@ -1,76 +1,75 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.construction.ConstructSuperIns;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class ConstructSuperAVM2Item extends AVM2Item {
-
- public GraphTargetItem object;
- public List args;
-
- public ConstructSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem object, List args) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.object = object;
- this.args = args;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (!object.toString().equals("this")) {
- object.toString(writer, localData);
- writer.append(".");
- }
- writer.spaceBeforeCallParenthesies(args.size());
- writer.append("super(");
- for (int a = 0; a < args.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- args.get(a).toString(writer, localData);
- }
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, object, args,
- new AVM2Instruction(0, new ConstructSuperIns(), new int[]{args.size()}, new byte[0])
- );
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.construction.ConstructSuperIns;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class ConstructSuperAVM2Item extends AVM2Item {
+
+ public GraphTargetItem object;
+ public List args;
+
+ public ConstructSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem object, List args) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.object = object;
+ this.args = args;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (!object.toString().equals("this")) {
+ object.toString(writer, localData);
+ writer.append(".");
+ }
+ writer.spaceBeforeCallParenthesies(args.size());
+ writer.append("super(");
+ for (int a = 0; a < args.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ args.get(a).toString(writer, localData);
+ }
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, object, args,
+ new AVM2Instruction(0, new ConstructSuperIns(), new int[]{args.size()}, new byte[0])
+ );
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java
index 7edc921f0..32d0c95bc 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ConvertAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/DecLocalAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DecLocalAVM2Item.java
similarity index 56%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/DecLocalAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DecLocalAVM2Item.java
index fda55f8af..270c6403b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/DecLocalAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DecLocalAVM2Item.java
@@ -1,49 +1,48 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class DecLocalAVM2Item extends AVM2Item {
-
- public int regIndex;
-
- public DecLocalAVM2Item(AVM2Instruction instruction, int regIndex) {
- super(instruction, PRECEDENCE_POSTFIX);
- this.regIndex = regIndex;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- writer.append(localRegName(localData.localRegNames, regIndex));
- return writer.append("--");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class DecLocalAVM2Item extends AVM2Item {
+
+ public int regIndex;
+
+ public DecLocalAVM2Item(AVM2Instruction instruction, int regIndex) {
+ super(instruction, PRECEDENCE_POSTFIX);
+ this.regIndex = regIndex;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ writer.append(localRegName(localData.localRegNames, regIndex));
+ return writer.append("--");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/DecrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DecrementAVM2Item.java
similarity index 65%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/DecrementAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DecrementAVM2Item.java
index c555d6ec3..5017d57aa 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/DecrementAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DecrementAVM2Item.java
@@ -1,63 +1,62 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.Set;
-
-public class DecrementAVM2Item extends AVM2Item {
-
- public DecrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, PRECEDENCE_ADDITIVE);
- this.value = object;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- value.toString(writer, localData);
- return writer.append(" - 1");
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- if (dependencies.contains(value)) {
- return false;
- }
- dependencies.add(value);
- return value.isCompileTime(dependencies);
- }
-
- @Override
- public Object getResult() {
- return EcmaScript.toNumber(value.getResult()) - 1;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.Set;
+
+public class DecrementAVM2Item extends AVM2Item {
+
+ public DecrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_ADDITIVE);
+ this.value = object;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ value.toString(writer, localData);
+ return writer.append(" - 1");
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ if (dependencies.contains(value)) {
+ return false;
+ }
+ dependencies.add(value);
+ return value.isCompileTime(dependencies);
+ }
+
+ @Override
+ public Object getResult() {
+ return EcmaScript.toNumber(value.getResult()) - 1;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java
index 0e9c74906..7c4979241 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/DefaultXMLNamespace.java
@@ -1,65 +1,64 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.xml.DXNSLateIns;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-/**
- *
- * @author Jindra
- */
-public class DefaultXMLNamespace extends AVM2Item {
-
- private final GraphTargetItem ns;
-
- public DefaultXMLNamespace(AVM2Instruction instruction, GraphTargetItem ns) {
- super(instruction, NOPRECEDENCE);
- this.ns = ns;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("default xml namespace = ");
- return ns.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, ns, ins(new DXNSLateIns()));
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.xml.DXNSLateIns;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+/**
+ *
+ * @author Jindra
+ */
+public class DefaultXMLNamespace extends AVM2Item {
+
+ private final GraphTargetItem ns;
+
+ public DefaultXMLNamespace(AVM2Instruction instruction, GraphTargetItem ns) {
+ super(instruction, NOPRECEDENCE);
+ this.ns = ns;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("default xml namespace = ");
+ return ns.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, ns, ins(new DXNSLateIns()));
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXAttrAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXAttrAVM2Item.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXAttrAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXAttrAVM2Item.java
index 235949531..1e190b2fa 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXAttrAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXAttrAVM2Item.java
@@ -1,65 +1,64 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.xml.EscXAttrIns;
-import static com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item.ins;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import static com.jpexs.decompiler.graph.GraphTargetItem.toSourceMerge;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-/**
- *
- * @author Jindra
- */
-public class EscapeXAttrAVM2Item extends AVM2Item {
-
- public EscapeXAttrAVM2Item(AVM2Instruction instruction, GraphTargetItem expression) {
- super(instruction, NOPRECEDENCE);
- this.value = expression;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("{");
- value.toString(writer, localData);
- return writer.append("}");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, value, ins(new EscXAttrIns()));
- }
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.xml.EscXAttrIns;
+import static com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item.ins;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import static com.jpexs.decompiler.graph.GraphTargetItem.toSourceMerge;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+/**
+ *
+ * @author Jindra
+ */
+public class EscapeXAttrAVM2Item extends AVM2Item {
+
+ public EscapeXAttrAVM2Item(AVM2Instruction instruction, GraphTargetItem expression) {
+ super(instruction, NOPRECEDENCE);
+ this.value = expression;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("{");
+ value.toString(writer, localData);
+ return writer.append("}");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, value, ins(new EscXAttrIns()));
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java
index ec34c0d00..d41035f14 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/EscapeXElemAVM2Item.java
@@ -1,64 +1,63 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.xml.EscXElemIns;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-/**
- *
- * @author Jindra
- */
-public class EscapeXElemAVM2Item extends AVM2Item {
-
- public EscapeXElemAVM2Item(AVM2Instruction instruction, GraphTargetItem expression) {
- super(instruction, NOPRECEDENCE);
- this.value = expression;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("{");
- value.toString(writer, localData);
- return writer.append("}");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, value, ins(new EscXElemIns()));
- }
-
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.xml.EscXElemIns;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+/**
+ *
+ * @author Jindra
+ */
+public class EscapeXElemAVM2Item extends AVM2Item {
+
+ public EscapeXElemAVM2Item(AVM2Instruction instruction, GraphTargetItem expression) {
+ super(instruction, NOPRECEDENCE);
+ this.value = expression;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("{");
+ value.toString(writer, localData);
+ return writer.append("}");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, value, ins(new EscXElemIns()));
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/FilteredCheckAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FilteredCheckAVM2Item.java
similarity index 57%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/FilteredCheckAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FilteredCheckAVM2Item.java
index 573e18f15..378c2ab01 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/FilteredCheckAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FilteredCheckAVM2Item.java
@@ -1,52 +1,51 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class FilteredCheckAVM2Item extends AVM2Item {
-
- GraphTargetItem object;
-
- public FilteredCheckAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, NOPRECEDENCE);
- this.object = object;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- return object.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class FilteredCheckAVM2Item extends AVM2Item {
+
+ GraphTargetItem object;
+
+ public FilteredCheckAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, NOPRECEDENCE);
+ this.object = object;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ return object.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/FindDefAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FindDefAVM2Item.java
similarity index 59%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/FindDefAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FindDefAVM2Item.java
index ea3823bef..0a71cc6c1 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/FindDefAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FindDefAVM2Item.java
@@ -1,49 +1,48 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class FindDefAVM2Item extends AVM2Item {
-
- public Multiname propertyName;
-
- public FindDefAVM2Item(AVM2Instruction instruction, Multiname propertyName) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.propertyName = propertyName;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append(propertyName.getNamespace(localData.constantsAvm2).getName(localData.constantsAvm2)); //assume not null name
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class FindDefAVM2Item extends AVM2Item {
+
+ public Multiname propertyName;
+
+ public FindDefAVM2Item(AVM2Instruction instruction, Multiname propertyName) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append(propertyName.getNamespace(localData.constantsAvm2).getName(localData.constantsAvm2)); //assume not null name
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/FindPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FindPropertyAVM2Item.java
similarity index 56%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/FindPropertyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FindPropertyAVM2Item.java
index a8bd170e8..c7e977809 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/FindPropertyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FindPropertyAVM2Item.java
@@ -1,48 +1,47 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class FindPropertyAVM2Item extends AVM2Item {
-
- public GraphTargetItem propertyName;
-
- public FindPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem propertyName) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.propertyName = propertyName;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class FindPropertyAVM2Item extends AVM2Item {
+
+ public GraphTargetItem propertyName;
+
+ public FindPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem propertyName) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/FloatValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FloatValueAVM2Item.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/FloatValueAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FloatValueAVM2Item.java
index 172e492d8..6dc2aa994 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/FloatValueAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FloatValueAVM2Item.java
@@ -1,73 +1,72 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushDoubleIns;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-import java.util.Set;
-
-public class FloatValueAVM2Item extends NumberValueAVM2Item {
-
- public Double value;
-
- public FloatValueAVM2Item(AVM2Instruction instruction, Double value) {
- super(instruction);
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("" + value);
- }
-
- @Override
- public Object getResult() {
- return value;
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator,
- new AVM2Instruction(0, new PushDoubleIns(), new int[]{((AVM2SourceGenerator) generator).abc.constants.getDoubleId(value, true)}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushDoubleIns;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+import java.util.Set;
+
+public class FloatValueAVM2Item extends NumberValueAVM2Item {
+
+ public Double value;
+
+ public FloatValueAVM2Item(AVM2Instruction instruction, Double value) {
+ super(instruction);
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("" + value);
+ }
+
+ @Override
+ public Object getResult() {
+ return value;
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator,
+ new AVM2Instruction(0, new PushDoubleIns(), new int[]{((AVM2SourceGenerator) generator).abc.constants.getDoubleId(value, true)}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java
similarity index 86%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java
index 2c40df52b..e37d5c77f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/FullMultinameAVM2Item.java
@@ -1,167 +1,166 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.types.Namespace;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.HashMap;
-import java.util.List;
-
-public class FullMultinameAVM2Item extends AVM2Item {
-
- public int multinameIndex;
- public GraphTargetItem name;
- public GraphTargetItem namespace;
-
- public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.multinameIndex = multinameIndex;
- this.name = name;
- this.namespace = null;
- }
-
- public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.multinameIndex = multinameIndex;
- this.name = null;
- this.namespace = null;
- }
-
- public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name, GraphTargetItem namespace) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.multinameIndex = multinameIndex;
- this.name = name;
- this.namespace = namespace;
- }
-
- public boolean isRuntime() {
- return (name != null) || (namespace != null);
- }
-
- public boolean isXML(ConstantPool constants, HashMap localRegNames, List fullyQualifiedNames) throws InterruptedException {
- String cname;
- if (name != null) {
- cname = name.toString(LocalData.create(constants, localRegNames, fullyQualifiedNames));
- } else {
- cname = (constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames));
- }
- String cns = "";
- if (namespace != null) {
- cns = namespace.toString(LocalData.create(constants, localRegNames, fullyQualifiedNames));
- } else {
- Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants);
- if ((ns != null) && (ns.name_index != 0)) {
- cns = ns.getName(constants);
- }
- }
- return cname.equals("XML") && cns.isEmpty();
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (namespace != null) {
- namespace.toString(writer, localData);
- writer.append("::");
- } else {
- /*Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants);
- if ((ns != null)&&(ns.name_index!=0)) {
- ret = hilight(ns.getName(constants) + "::")+ret;
- }*/
- }
- if (name != null) {
- writer.append("[");
- name.toString(writer, localData);
- writer.append("]");
- } else {
- ConstantPool constants = localData.constantsAvm2;
- List fullyQualifiedNames = localData.fullyQualifiedNames;
- writer.append(constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames));
- }
- return writer;
- }
-
- public boolean compareSame(FullMultinameAVM2Item other) {
- if (multinameIndex != other.multinameIndex) {
- return false;
- }
- GraphTargetItem tiName = name;
- if (name != null) {
- name = name.getThroughDuplicate();
- }
- while (tiName instanceof LocalRegAVM2Item) {
- if (((LocalRegAVM2Item) tiName).computedValue != null) {
- tiName = ((LocalRegAVM2Item) tiName).computedValue.getThroughNotCompilable().getThroughDuplicate();
- } else {
- break;
- }
- }
-
- GraphTargetItem tiName2 = other.name;
- if (tiName2 != null) {
- tiName2 = tiName2.getThroughDuplicate();
- }
- while (tiName2 instanceof LocalRegAVM2Item) {
- if (((LocalRegAVM2Item) tiName2).computedValue != null) {
- tiName2 = ((LocalRegAVM2Item) tiName2).computedValue.getThroughNotCompilable().getThroughDuplicate();
- } else {
- break;
- }
- }
- if (tiName != tiName2) {
- return false;
- }
-
- GraphTargetItem tiNameSpace = namespace;
- if (tiNameSpace != null) {
- tiNameSpace = tiNameSpace.getThroughDuplicate();
- }
- while (tiNameSpace instanceof LocalRegAVM2Item) {
- if (((LocalRegAVM2Item) tiNameSpace).computedValue != null) {
- tiNameSpace = ((LocalRegAVM2Item) tiNameSpace).computedValue.getThroughNotCompilable().getThroughDuplicate();
- }
- }
-
- GraphTargetItem tiNameSpace2 = other.namespace;
- if (tiNameSpace2 != null) {
- tiNameSpace2 = tiNameSpace2.getThroughDuplicate();
- }
- while (tiNameSpace2 instanceof LocalRegAVM2Item) {
- if (((LocalRegAVM2Item) tiNameSpace2).computedValue != null) {
- tiNameSpace2 = ((LocalRegAVM2Item) tiNameSpace2).computedValue.getThroughNotCompilable().getThroughDuplicate();
- }
- }
- if (tiNameSpace != tiNameSpace2) {
- return false;
- }
- return true;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.types.Namespace;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.HashMap;
+import java.util.List;
+
+public class FullMultinameAVM2Item extends AVM2Item {
+
+ public int multinameIndex;
+ public GraphTargetItem name;
+ public GraphTargetItem namespace;
+
+ public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.multinameIndex = multinameIndex;
+ this.name = name;
+ this.namespace = null;
+ }
+
+ public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.multinameIndex = multinameIndex;
+ this.name = null;
+ this.namespace = null;
+ }
+
+ public FullMultinameAVM2Item(AVM2Instruction instruction, int multinameIndex, GraphTargetItem name, GraphTargetItem namespace) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.multinameIndex = multinameIndex;
+ this.name = name;
+ this.namespace = namespace;
+ }
+
+ public boolean isRuntime() {
+ return (name != null) || (namespace != null);
+ }
+
+ public boolean isXML(ConstantPool constants, HashMap localRegNames, List fullyQualifiedNames) throws InterruptedException {
+ String cname;
+ if (name != null) {
+ cname = name.toString(LocalData.create(constants, localRegNames, fullyQualifiedNames));
+ } else {
+ cname = (constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames));
+ }
+ String cns = "";
+ if (namespace != null) {
+ cns = namespace.toString(LocalData.create(constants, localRegNames, fullyQualifiedNames));
+ } else {
+ Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants);
+ if ((ns != null) && (ns.name_index != 0)) {
+ cns = ns.getName(constants);
+ }
+ }
+ return cname.equals("XML") && cns.isEmpty();
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (namespace != null) {
+ namespace.toString(writer, localData);
+ writer.append("::");
+ } else {
+ /*Namespace ns = constants.getMultiname(multinameIndex).getNamespace(constants);
+ if ((ns != null)&&(ns.name_index!=0)) {
+ ret = hilight(ns.getName(constants) + "::")+ret;
+ }*/
+ }
+ if (name != null) {
+ writer.append("[");
+ name.toString(writer, localData);
+ writer.append("]");
+ } else {
+ ConstantPool constants = localData.constantsAvm2;
+ List fullyQualifiedNames = localData.fullyQualifiedNames;
+ writer.append(constants.getMultiname(multinameIndex).getName(constants, fullyQualifiedNames));
+ }
+ return writer;
+ }
+
+ public boolean compareSame(FullMultinameAVM2Item other) {
+ if (multinameIndex != other.multinameIndex) {
+ return false;
+ }
+ GraphTargetItem tiName = name;
+ if (name != null) {
+ name = name.getThroughDuplicate();
+ }
+ while (tiName instanceof LocalRegAVM2Item) {
+ if (((LocalRegAVM2Item) tiName).computedValue != null) {
+ tiName = ((LocalRegAVM2Item) tiName).computedValue.getThroughNotCompilable().getThroughDuplicate();
+ } else {
+ break;
+ }
+ }
+
+ GraphTargetItem tiName2 = other.name;
+ if (tiName2 != null) {
+ tiName2 = tiName2.getThroughDuplicate();
+ }
+ while (tiName2 instanceof LocalRegAVM2Item) {
+ if (((LocalRegAVM2Item) tiName2).computedValue != null) {
+ tiName2 = ((LocalRegAVM2Item) tiName2).computedValue.getThroughNotCompilable().getThroughDuplicate();
+ } else {
+ break;
+ }
+ }
+ if (tiName != tiName2) {
+ return false;
+ }
+
+ GraphTargetItem tiNameSpace = namespace;
+ if (tiNameSpace != null) {
+ tiNameSpace = tiNameSpace.getThroughDuplicate();
+ }
+ while (tiNameSpace instanceof LocalRegAVM2Item) {
+ if (((LocalRegAVM2Item) tiNameSpace).computedValue != null) {
+ tiNameSpace = ((LocalRegAVM2Item) tiNameSpace).computedValue.getThroughNotCompilable().getThroughDuplicate();
+ }
+ }
+
+ GraphTargetItem tiNameSpace2 = other.namespace;
+ if (tiNameSpace2 != null) {
+ tiNameSpace2 = tiNameSpace2.getThroughDuplicate();
+ }
+ while (tiNameSpace2 instanceof LocalRegAVM2Item) {
+ if (((LocalRegAVM2Item) tiNameSpace2).computedValue != null) {
+ tiNameSpace2 = ((LocalRegAVM2Item) tiNameSpace2).computedValue.getThroughNotCompilable().getThroughDuplicate();
+ }
+ }
+ if (tiNameSpace != tiNameSpace2) {
+ return false;
+ }
+ return true;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java
index 31790cda6..53b8502e8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetDescendantsAVM2Item.java
@@ -1,74 +1,73 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class GetDescendantsAVM2Item extends AVM2Item {
-
- public GraphTargetItem object;
- public GraphTargetItem multiname;
- public List openedNamespaces;
- public String nameStr;
-
- //constructor for compiler
- public GetDescendantsAVM2Item(GraphTargetItem object, String nameStr, List openedNamespaces) {
- super(null, PRECEDENCE_PRIMARY);
- this.object = object;
- this.nameStr = nameStr;
- this.openedNamespaces = openedNamespaces;
- }
-
- public GetDescendantsAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem multiname) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.object = object;
- this.multiname = multiname;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- object.toString(writer, localData);
- writer.append("..");
- return multiname.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return ((AVM2SourceGenerator) generator).generate(localData, this);
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class GetDescendantsAVM2Item extends AVM2Item {
+
+ public GraphTargetItem object;
+ public GraphTargetItem multiname;
+ public List openedNamespaces;
+ public String nameStr;
+
+ //constructor for compiler
+ public GetDescendantsAVM2Item(GraphTargetItem object, String nameStr, List openedNamespaces) {
+ super(null, PRECEDENCE_PRIMARY);
+ this.object = object;
+ this.nameStr = nameStr;
+ this.openedNamespaces = openedNamespaces;
+ }
+
+ public GetDescendantsAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem multiname) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.object = object;
+ this.multiname = multiname;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ object.toString(writer, localData);
+ writer.append("..");
+ return multiname.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return ((AVM2SourceGenerator) generator).generate(localData, this);
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetLexAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetLexAVM2Item.java
similarity index 58%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/GetLexAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetLexAVM2Item.java
index bc6775714..d6f0aff4d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetLexAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetLexAVM2Item.java
@@ -1,49 +1,48 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class GetLexAVM2Item extends AVM2Item {
-
- public Multiname propertyName;
-
- public GetLexAVM2Item(AVM2Instruction instruction, Multiname propertyName) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.propertyName = propertyName;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append(propertyName.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class GetLexAVM2Item extends AVM2Item {
+
+ public Multiname propertyName;
+
+ public GetLexAVM2Item(AVM2Instruction instruction, Multiname propertyName) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append(propertyName.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java
index d4fc2db07..a437b0c72 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetPropertyAVM2Item.java
@@ -1,64 +1,63 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.other.GetPropertyIns;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class GetPropertyAVM2Item extends AVM2Item {
-
- public GraphTargetItem object;
- public GraphTargetItem propertyName;
-
- public GetPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.object = object;
- this.propertyName = propertyName;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- return formatProperty(writer, object, propertyName, localData);
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, object,
- new AVM2Instruction(0, new GetPropertyIns(), new int[]{((AVM2SourceGenerator) generator).propertyName(propertyName)}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.other.GetPropertyIns;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class GetPropertyAVM2Item extends AVM2Item {
+
+ public GraphTargetItem object;
+ public GraphTargetItem propertyName;
+
+ public GetPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.object = object;
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ return formatProperty(writer, object, propertyName, localData);
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, object,
+ new AVM2Instruction(0, new GetPropertyIns(), new int[]{((AVM2SourceGenerator) generator).propertyName(propertyName)}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java
similarity index 62%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java
index a42999f00..dd342cea3 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSlotAVM2Item.java
@@ -1,54 +1,53 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class GetSlotAVM2Item extends AVM2Item {
-
- public Multiname slotName;
- public GraphTargetItem scope;
-
- public GetSlotAVM2Item(AVM2Instruction instruction, GraphTargetItem scope, Multiname slotName) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.slotName = slotName;
- this.scope = scope;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- if (slotName == null) {
- return writer.append("/*UnknownSlot*/");
- }
- return writer.append(slotName.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class GetSlotAVM2Item extends AVM2Item {
+
+ public Multiname slotName;
+ public GraphTargetItem scope;
+
+ public GetSlotAVM2Item(AVM2Instruction instruction, GraphTargetItem scope, Multiname slotName) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.slotName = slotName;
+ this.scope = scope;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ if (slotName == null) {
+ return writer.append("/*UnknownSlot*/");
+ }
+ return writer.append(slotName.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java
similarity index 64%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java
index 5459b0b51..074b74334 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/GetSuperAVM2Item.java
@@ -1,58 +1,57 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class GetSuperAVM2Item extends AVM2Item {
-
- public GraphTargetItem object;
- public FullMultinameAVM2Item propertyName;
-
- public GetSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem object, FullMultinameAVM2Item propertyName) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.object = object;
- this.propertyName = propertyName;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (!object.toString().equals("this")) {
- int length = writer.getLength();
- object.toString(writer, localData);
- if (writer.getLength() > length) {
- writer.append(".");
- }
- }
- writer.append("super.");
- return propertyName.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class GetSuperAVM2Item extends AVM2Item {
+
+ public GraphTargetItem object;
+ public FullMultinameAVM2Item propertyName;
+
+ public GetSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem object, FullMultinameAVM2Item propertyName) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.object = object;
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (!object.toString().equals("this")) {
+ int length = writer.getLength();
+ object.toString(writer, localData);
+ if (writer.getLength() > length) {
+ writer.append(".");
+ }
+ }
+ writer.append("super.");
+ return propertyName.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java
similarity index 61%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java
index aa4345d7a..abac97f12 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/HasNextAVM2Item.java
@@ -1,56 +1,55 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class HasNextAVM2Item extends AVM2Item {
-
- public GraphTargetItem object;
- public GraphTargetItem collection;
-
- public HasNextAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem collection) {
- super(instruction, NOPRECEDENCE);
- this.object = object;
- this.collection = collection;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- collection.toString(writer, localData);
- writer.append(" hasNext ");
- return object.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class HasNextAVM2Item extends AVM2Item {
+
+ public GraphTargetItem object;
+ public GraphTargetItem collection;
+
+ public HasNextAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem collection) {
+ super(instruction, NOPRECEDENCE);
+ this.object = object;
+ this.collection = collection;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ collection.toString(writer, localData);
+ writer.append(" hasNext ");
+ return object.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java
index 22d91cd1b..3364c5e65 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/IncLocalAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IncLocalAVM2Item.java
similarity index 56%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/IncLocalAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IncLocalAVM2Item.java
index 334e83aa9..f77e64d6e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/IncLocalAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IncLocalAVM2Item.java
@@ -1,49 +1,48 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class IncLocalAVM2Item extends AVM2Item {
-
- public int regIndex;
-
- public IncLocalAVM2Item(AVM2Instruction instruction, int regIndex) {
- super(instruction, PRECEDENCE_POSTFIX);
- this.regIndex = regIndex;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- writer.append(localRegName(localData.localRegNames, regIndex));
- return writer.append("++");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class IncLocalAVM2Item extends AVM2Item {
+
+ public int regIndex;
+
+ public IncLocalAVM2Item(AVM2Instruction instruction, int regIndex) {
+ super(instruction, PRECEDENCE_POSTFIX);
+ this.regIndex = regIndex;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ writer.append(localRegName(localData.localRegNames, regIndex));
+ return writer.append("++");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/IncrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IncrementAVM2Item.java
similarity index 65%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/IncrementAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IncrementAVM2Item.java
index 403ef8c4d..838ffa380 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/IncrementAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IncrementAVM2Item.java
@@ -1,63 +1,62 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.Set;
-
-public class IncrementAVM2Item extends AVM2Item {
-
- public IncrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, PRECEDENCE_ADDITIVE);
- this.value = object;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- value.toString(writer, localData);
- return writer.append(" + 1");
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- if (dependencies.contains(value)) {
- return false;
- }
- dependencies.add(value);
- return value.isCompileTime(dependencies);
- }
-
- @Override
- public Object getResult() {
- return EcmaScript.toNumber(value.getResult()) + 1;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.Set;
+
+public class IncrementAVM2Item extends AVM2Item {
+
+ public IncrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_ADDITIVE);
+ this.value = object;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ value.toString(writer, localData);
+ return writer.append(" + 1");
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ if (dependencies.contains(value)) {
+ return false;
+ }
+ dependencies.add(value);
+ return value.isCompileTime(dependencies);
+ }
+
+ @Override
+ public Object getResult() {
+ return EcmaScript.toNumber(value.getResult()) + 1;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java
similarity index 68%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java
index c4f2ee3e0..40a21e980 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitPropertyAVM2Item.java
@@ -1,65 +1,64 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class InitPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
-
- public GraphTargetItem object;
- public FullMultinameAVM2Item propertyName;
- //public GraphTargetItem value;
-
- public InitPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, FullMultinameAVM2Item propertyName, GraphTargetItem value) {
- super(instruction, PRECEDENCE_ASSIGMENT);
- this.object = object;
- this.propertyName = propertyName;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- formatProperty(writer, object, propertyName, localData);
- writer.append(" = ");
- return value.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem getObject() {
- return new GetPropertyAVM2Item(instruction, object, propertyName);
- }
-
- @Override
- public GraphTargetItem getValue() {
- return value;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class InitPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
+
+ public GraphTargetItem object;
+ public FullMultinameAVM2Item propertyName;
+ //public GraphTargetItem value;
+
+ public InitPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, FullMultinameAVM2Item propertyName, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_ASSIGMENT);
+ this.object = object;
+ this.propertyName = propertyName;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ formatProperty(writer, object, propertyName, localData);
+ writer.append(" = ");
+ return value.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem getObject() {
+ return new GetPropertyAVM2Item(instruction, object, propertyName);
+ }
+
+ @Override
+ public GraphTargetItem getValue() {
+ return value;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java
similarity index 90%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java
index 1b4b81bdf..ed5c36721 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/InitVectorAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java
index bfcb8114f..d6a40a6b6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/IntegerValueAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java
index b5f4c8c87..a8c71a2db 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/LocalRegAVM2Item.java
@@ -1,123 +1,122 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal0Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal1Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal2Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal3Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocalIns;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.FilterAVM2Item;
-import com.jpexs.decompiler.flash.ecma.Undefined;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-import java.util.Set;
-
-public class LocalRegAVM2Item extends AVM2Item {
-
- public int regIndex;
- public GraphTargetItem computedValue;
- private final Object computedResult;
- private boolean isCT = false;
-
- public LocalRegAVM2Item(AVM2Instruction instruction, int regIndex, GraphTargetItem computedValue) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.regIndex = regIndex;
- if (computedValue == null) {
- computedResult = null;
- } else {
- if (computedValue.isCompileTime()) {
- computedResult = computedValue.getResult();
- isCT = true;
- } else {
- computedResult = null;
- }
- }
- this.computedValue = computedValue;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (computedValue instanceof FilterAVM2Item) {
- return computedValue.toString(writer, localData);
- }
- return writer.append(localRegName(localData.localRegNames, regIndex));
- }
-
- @Override
- public GraphTargetItem getThroughRegister() {
- if (computedValue == null) {
- return this;
- }
- return computedValue.getThroughRegister();
- }
-
- @Override
- public Object getResult() {
- if (computedResult == null) {
- return new Undefined();
- }
- return computedResult;
-
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- return isCT;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- AVM2Instruction ins;
- switch (regIndex) {
- case 0:
- ins = new AVM2Instruction(0, new GetLocal0Ins(), new int[]{}, new byte[0]);
- break;
- case 1:
- ins = new AVM2Instruction(0, new GetLocal1Ins(), new int[]{}, new byte[0]);
- break;
- case 2:
- ins = new AVM2Instruction(0, new GetLocal2Ins(), new int[]{}, new byte[0]);
- break;
- case 3:
- ins = new AVM2Instruction(0, new GetLocal3Ins(), new int[]{}, new byte[0]);
- break;
- default:
- ins = new AVM2Instruction(0, new GetLocalIns(), new int[]{regIndex}, new byte[0]);
- break;
- }
- return toSourceMerge(localData, generator, ins);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal0Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal1Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal2Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal3Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocalIns;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.FilterAVM2Item;
+import com.jpexs.decompiler.flash.ecma.Undefined;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+import java.util.Set;
+
+public class LocalRegAVM2Item extends AVM2Item {
+
+ public int regIndex;
+ public GraphTargetItem computedValue;
+ private final Object computedResult;
+ private boolean isCT = false;
+
+ public LocalRegAVM2Item(AVM2Instruction instruction, int regIndex, GraphTargetItem computedValue) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.regIndex = regIndex;
+ if (computedValue == null) {
+ computedResult = null;
+ } else {
+ if (computedValue.isCompileTime()) {
+ computedResult = computedValue.getResult();
+ isCT = true;
+ } else {
+ computedResult = null;
+ }
+ }
+ this.computedValue = computedValue;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (computedValue instanceof FilterAVM2Item) {
+ return computedValue.toString(writer, localData);
+ }
+ return writer.append(localRegName(localData.localRegNames, regIndex));
+ }
+
+ @Override
+ public GraphTargetItem getThroughRegister() {
+ if (computedValue == null) {
+ return this;
+ }
+ return computedValue.getThroughRegister();
+ }
+
+ @Override
+ public Object getResult() {
+ if (computedResult == null) {
+ return new Undefined();
+ }
+ return computedResult;
+
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ return isCT;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ AVM2Instruction ins;
+ switch (regIndex) {
+ case 0:
+ ins = new AVM2Instruction(0, new GetLocal0Ins(), new int[]{}, new byte[0]);
+ break;
+ case 1:
+ ins = new AVM2Instruction(0, new GetLocal1Ins(), new int[]{}, new byte[0]);
+ break;
+ case 2:
+ ins = new AVM2Instruction(0, new GetLocal2Ins(), new int[]{}, new byte[0]);
+ break;
+ case 3:
+ ins = new AVM2Instruction(0, new GetLocal3Ins(), new int[]{}, new byte[0]);
+ break;
+ default:
+ ins = new AVM2Instruction(0, new GetLocalIns(), new int[]{regIndex}, new byte[0]);
+ break;
+ }
+ return toSourceMerge(localData, generator, ins);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NameSpaceAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NameSpaceAVM2Item.java
similarity index 61%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NameSpaceAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NameSpaceAVM2Item.java
index 06a0772be..67b0f292d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NameSpaceAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NameSpaceAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class NameSpaceAVM2Item extends AVM2Item {
-
- public int namespaceIndex;
-
- public NameSpaceAVM2Item(AVM2Instruction instruction, int namespaceIndex) {
- super(instruction, NOPRECEDENCE);
- this.namespaceIndex = namespaceIndex;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- if (namespaceIndex == 0) {
- return writer.append("*");
- }
- ConstantPool constants = localData.constantsAvm2;
- return writer.append(constants.getNamespace(namespaceIndex).toString(constants)); //assume not null name
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.ConstantPool;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class NameSpaceAVM2Item extends AVM2Item {
+
+ public int namespaceIndex;
+
+ public NameSpaceAVM2Item(AVM2Instruction instruction, int namespaceIndex) {
+ super(instruction, NOPRECEDENCE);
+ this.namespaceIndex = namespaceIndex;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ if (namespaceIndex == 0) {
+ return writer.append("*");
+ }
+ ConstantPool constants = localData.constantsAvm2;
+ return writer.append(constants.getNamespace(namespaceIndex).toString(constants)); //assume not null name
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NameValuePair.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NameValuePair.java
similarity index 63%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NameValuePair.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NameValuePair.java
index d47e7e852..9971e0ee0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NameValuePair.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NameValuePair.java
@@ -1,59 +1,58 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.decompiler.graph.model.TernarOpItem;
-
-public class NameValuePair extends AVM2Item {
-
- public GraphTargetItem name;
- //public GraphTargetItem value;
-
- public NameValuePair(GraphTargetItem name, GraphTargetItem value) {
- super(name.src, NOPRECEDENCE);
- this.name = name;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- name.toString(writer, localData);
- writer.append(":");
- if (value instanceof TernarOpItem) { //Ternar operator contains ":"
- writer.append("(");
- value.toString(writer, localData);
- writer.append(")");
- } else {
- value.toString(writer, localData);
- }
- return writer;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.decompiler.graph.model.TernarOpItem;
+
+public class NameValuePair extends AVM2Item {
+
+ public GraphTargetItem name;
+ //public GraphTargetItem value;
+
+ public NameValuePair(GraphTargetItem name, GraphTargetItem value) {
+ super(name.src, NOPRECEDENCE);
+ this.name = name;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ name.toString(writer, localData);
+ writer.append(":");
+ if (value instanceof TernarOpItem) { //Ternar operator contains ":"
+ writer.append("(");
+ value.toString(writer, localData);
+ writer.append(")");
+ } else {
+ value.toString(writer, localData);
+ }
+ return writer;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java
similarity index 65%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java
index 65d5b23ba..1bd17b6e3 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NanAVM2Item.java
@@ -1,58 +1,57 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushNanIns;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class NanAVM2Item extends AVM2Item {
-
- public NanAVM2Item(AVM2Instruction instruction) {
- super(instruction, NOPRECEDENCE);
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("NaN");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator,
- new AVM2Instruction(0, new PushNanIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Number");
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushNanIns;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class NanAVM2Item extends AVM2Item {
+
+ public NanAVM2Item(AVM2Instruction instruction) {
+ super(instruction, NOPRECEDENCE);
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("NaN");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator,
+ new AVM2Instruction(0, new PushNanIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Number");
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewActivationAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewActivationAVM2Item.java
similarity index 56%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NewActivationAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewActivationAVM2Item.java
index f3af90b9f..a0c90c717 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewActivationAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewActivationAVM2Item.java
@@ -1,48 +1,47 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.HashMap;
-
-public class NewActivationAVM2Item extends AVM2Item {
-
- public HashMap slots = new HashMap<>();
-
- public NewActivationAVM2Item(AVM2Instruction instruction) {
- super(instruction, NOPRECEDENCE);
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("newactivation()");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.HashMap;
+
+public class NewActivationAVM2Item extends AVM2Item {
+
+ public HashMap slots = new HashMap<>();
+
+ public NewActivationAVM2Item(AVM2Instruction instruction) {
+ super(instruction, NOPRECEDENCE);
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("newactivation()");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java
index 8bb34e500..2086ab762 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewArrayAVM2Item.java
@@ -1,69 +1,68 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.construction.NewArrayIns;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class NewArrayAVM2Item extends AVM2Item {
-
- public List values;
-
- public NewArrayAVM2Item(AVM2Instruction instruction, List values) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.values = values;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("[");
- for (int a = 0; a < values.size(); a++) {
- if (a > 0) {
- writer.append(",");
- }
- values.get(a).toString(writer, localData);
- }
- return writer.append("]");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.ARRAY;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, values,
- new AVM2Instruction(0, new NewArrayIns(), new int[]{values.size()}, new byte[0])
- );
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.construction.NewArrayIns;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class NewArrayAVM2Item extends AVM2Item {
+
+ public List values;
+
+ public NewArrayAVM2Item(AVM2Instruction instruction, List values) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.values = values;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("[");
+ for (int a = 0; a < values.size(); a++) {
+ if (a > 0) {
+ writer.append(",");
+ }
+ values.get(a).toString(writer, localData);
+ }
+ return writer.append("]");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.ARRAY;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, values,
+ new AVM2Instruction(0, new NewArrayIns(), new int[]{values.size()}, new byte[0])
+ );
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java
similarity index 81%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java
index c141b7c93..7a460b225 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewFunctionAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.abc.ABC;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java
index 6846b1a3e..3476212e4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NewObjectAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java
similarity index 62%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java
index d7df9b5f7..619c6587d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextNameAVM2Item.java
@@ -1,60 +1,59 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class NextNameAVM2Item extends AVM2Item {
-
- GraphTargetItem index;
- GraphTargetItem obj;
-
- public NextNameAVM2Item(AVM2Instruction instruction, GraphTargetItem index, GraphTargetItem obj) {
- super(instruction, NOPRECEDENCE);
- this.index = index;
- this.obj = obj;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("nextName");
- writer.spaceBeforeCallParenthesies(2);
- writer.append("(");
- index.toString(writer, localData);
- writer.append(",");
- obj.toString(writer, localData);
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class NextNameAVM2Item extends AVM2Item {
+
+ GraphTargetItem index;
+ GraphTargetItem obj;
+
+ public NextNameAVM2Item(AVM2Instruction instruction, GraphTargetItem index, GraphTargetItem obj) {
+ super(instruction, NOPRECEDENCE);
+ this.index = index;
+ this.obj = obj;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("nextName");
+ writer.spaceBeforeCallParenthesies(2);
+ writer.append("(");
+ index.toString(writer, localData);
+ writer.append(",");
+ obj.toString(writer, localData);
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java
similarity index 62%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java
index 0ad55c7af..c19ee8d04 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NextValueAVM2Item.java
@@ -1,60 +1,59 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class NextValueAVM2Item extends AVM2Item {
-
- GraphTargetItem index;
- GraphTargetItem obj;
-
- public NextValueAVM2Item(AVM2Instruction instruction, GraphTargetItem index, GraphTargetItem obj) {
- super(instruction, NOPRECEDENCE);
- this.index = index;
- this.obj = obj;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("nextValue");
- writer.spaceBeforeCallParenthesies(2);
- writer.append("(");
- index.toString(writer, localData);
- writer.append(",");
- obj.toString(writer, localData);
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class NextValueAVM2Item extends AVM2Item {
+
+ GraphTargetItem index;
+ GraphTargetItem obj;
+
+ public NextValueAVM2Item(AVM2Instruction instruction, GraphTargetItem index, GraphTargetItem obj) {
+ super(instruction, NOPRECEDENCE);
+ this.index = index;
+ this.obj = obj;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("nextValue");
+ writer.spaceBeforeCallParenthesies(2);
+ writer.append("(");
+ index.toString(writer, localData);
+ writer.append(",");
+ obj.toString(writer, localData);
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java
index 8a4a1bae2..cc695ba79 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NullAVM2Item.java
@@ -1,70 +1,69 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushNullIns;
-import com.jpexs.decompiler.flash.ecma.Null;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-import java.util.Set;
-
-public class NullAVM2Item extends AVM2Item {
-
- public NullAVM2Item(AVM2Instruction instruction) {
- super(instruction, PRECEDENCE_PRIMARY);
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("null");
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- return true;
- }
-
- @Override
- public Object getResult() {
- return new Null();
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator,
- new AVM2Instruction(0, new PushNullIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("null");
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushNullIns;
+import com.jpexs.decompiler.flash.ecma.Null;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+import java.util.Set;
+
+public class NullAVM2Item extends AVM2Item {
+
+ public NullAVM2Item(AVM2Instruction instruction) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("null");
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ return true;
+ }
+
+ @Override
+ public Object getResult() {
+ return new Null();
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator,
+ new AVM2Instruction(0, new PushNullIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("null");
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NumberValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NumberValueAVM2Item.java
new file mode 100644
index 000000000..11d88f8aa
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/NumberValueAVM2Item.java
@@ -0,0 +1,25 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+
+public abstract class NumberValueAVM2Item extends AVM2Item {
+
+ public NumberValueAVM2Item(AVM2Instruction instruction) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/PostDecrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostDecrementAVM2Item.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/PostDecrementAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostDecrementAVM2Item.java
index bbad80aec..c328dfcab 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/PostDecrementAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostDecrementAVM2Item.java
@@ -1,77 +1,76 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.ArrayList;
-import java.util.List;
-
-public class PostDecrementAVM2Item extends AVM2Item implements AssignmentAVM2Item {
-
- public GraphTargetItem object;
-
- public PostDecrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, PRECEDENCE_POSTFIX);
- this.object = object;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- object.toString(writer, localData);
- return writer.append("--");
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return object.returnType();
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (object instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, true, true);
- }
- return new ArrayList<>(); //?
- }
-
- @Override
- public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (object instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, true, false);
- }
- return new ArrayList<>(); //?
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PostDecrementAVM2Item extends AVM2Item implements AssignmentAVM2Item {
+
+ public GraphTargetItem object;
+
+ public PostDecrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_POSTFIX);
+ this.object = object;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ object.toString(writer, localData);
+ return writer.append("--");
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return object.returnType();
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (object instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, true, true);
+ }
+ return new ArrayList<>(); //?
+ }
+
+ @Override
+ public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (object instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, true, false);
+ }
+ return new ArrayList<>(); //?
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java
index 21b483436..e394441b4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/PostIncrementAVM2Item.java
@@ -1,78 +1,77 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.ArrayList;
-import java.util.List;
-
-public class PostIncrementAVM2Item extends AVM2Item implements AssignmentAVM2Item {
-
- public GraphTargetItem object;
-
- public PostIncrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, PRECEDENCE_POSTFIX);
- this.object = object;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- object.toString(writer, localData);
- return writer.append("++");
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return object.returnType();
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (object instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, false, true);
- }
- return new ArrayList<>(); //?
- }
-
- @Override
- public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (object instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, false, false);
- }
- return new ArrayList<>(); //?
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PostIncrementAVM2Item extends AVM2Item implements AssignmentAVM2Item {
+
+ public GraphTargetItem object;
+
+ public PostIncrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_POSTFIX);
+ this.object = object;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ object.toString(writer, localData);
+ return writer.append("++");
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return object.returnType();
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (object instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, false, true);
+ }
+ return new ArrayList<>(); //?
+ }
+
+ @Override
+ public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (object instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) object).toSourceChange(localData, generator, true, false, false);
+ }
+ return new ArrayList<>(); //?
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnValueAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnValueAVM2Item.java
similarity index 68%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnValueAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnValueAVM2Item.java
index 4e77049d6..bb28c0512 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnValueAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnValueAVM2Item.java
@@ -1,60 +1,59 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.ExitItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class ReturnValueAVM2Item extends AVM2Item implements ExitItem {
-
- //public GraphTargetItem value;
- public ReturnValueAVM2Item(AVM2Instruction instruction, GraphTargetItem value) {
- super(instruction, NOPRECEDENCE);
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("return ");
- return value.toString(writer, localData);
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return ((AVM2SourceGenerator) generator).generate(localData, this);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.ExitItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class ReturnValueAVM2Item extends AVM2Item implements ExitItem {
+
+ //public GraphTargetItem value;
+ public ReturnValueAVM2Item(AVM2Instruction instruction, GraphTargetItem value) {
+ super(instruction, NOPRECEDENCE);
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("return ");
+ return value.toString(writer, localData);
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return ((AVM2SourceGenerator) generator).generate(localData, this);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnVoidAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnVoidAVM2Item.java
similarity index 66%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnVoidAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnVoidAVM2Item.java
index 499790382..26de37515 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnVoidAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ReturnVoidAVM2Item.java
@@ -1,57 +1,56 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.ExitItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class ReturnVoidAVM2Item extends AVM2Item implements ExitItem {
-
- public ReturnVoidAVM2Item(AVM2Instruction instruction) {
- super(instruction, NOPRECEDENCE);
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("return");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return ((AVM2SourceGenerator) generator).generate(localData, this);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.ExitItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class ReturnVoidAVM2Item extends AVM2Item implements ExitItem {
+
+ public ReturnVoidAVM2Item(AVM2Instruction instruction) {
+ super(instruction, NOPRECEDENCE);
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("return");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return ((AVM2SourceGenerator) generator).generate(localData, this);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ScriptAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ScriptAVM2Item.java
similarity index 53%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ScriptAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ScriptAVM2Item.java
index 7c05003a8..cbd95cfb8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ScriptAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ScriptAVM2Item.java
@@ -1,51 +1,50 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class ScriptAVM2Item extends AVM2Item {
-
- public int scriptIndex;
-
- public ScriptAVM2Item(int scriptIndex) {
- super(null, NOPRECEDENCE);
- this.scriptIndex = scriptIndex;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("script" + scriptIndex);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class ScriptAVM2Item extends AVM2Item {
+
+ public int scriptIndex;
+
+ public ScriptAVM2Item(int scriptIndex) {
+ super(null, NOPRECEDENCE);
+ this.scriptIndex = scriptIndex;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("script" + scriptIndex);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java
similarity index 65%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java
index 2eab87179..18743ce43 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetGlobalSlotAVM2Item.java
@@ -1,66 +1,65 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphPart;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class SetGlobalSlotAVM2Item extends AVM2Item {
-
- public int slotId;
- //public GraphTargetItem value;
-
- @Override
- public GraphPart getFirstPart() {
- return value.getFirstPart();
- }
-
- public SetGlobalSlotAVM2Item(AVM2Instruction instruction, int slotId, GraphTargetItem value) {
- super(instruction, PRECEDENCE_ASSIGMENT);
- this.slotId = slotId;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("setglobalslot");
- writer.spaceBeforeCallParenthesies(2);
- writer.append("(");
- writer.append(slotId + ",");
- value.toString(writer, localData);
- return writer.append(")");
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphPart;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class SetGlobalSlotAVM2Item extends AVM2Item {
+
+ public int slotId;
+ //public GraphTargetItem value;
+
+ @Override
+ public GraphPart getFirstPart() {
+ return value.getFirstPart();
+ }
+
+ public SetGlobalSlotAVM2Item(AVM2Instruction instruction, int slotId, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_ASSIGMENT);
+ this.slotId = slotId;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("setglobalslot");
+ writer.spaceBeforeCallParenthesies(2);
+ writer.append("(");
+ writer.append(slotId + ",");
+ value.toString(writer, localData);
+ return writer.append(")");
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java
similarity index 84%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java
index 0d22407e6..ac36e23f3 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetLocalAVM2Item.java
@@ -1,125 +1,124 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal0Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal1Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal2Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal3Ins;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocalIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.DupIns;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
-
- public int regIndex;
- //public GraphTargetItem value;
-
- public SetLocalAVM2Item(AVM2Instruction instruction, int regIndex, GraphTargetItem value) {
- super(instruction, PRECEDENCE_ASSIGMENT);
- this.regIndex = regIndex;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append(localRegName(localData.localRegNames, regIndex) + " = ");
- return value.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem getObject() {
- return new LocalRegAVM2Item(instruction, regIndex, null);
- }
-
- @Override
- public GraphTargetItem getValue() {
- return value;
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- AVM2Instruction ins;
- switch (regIndex) {
- case 0:
- ins = new AVM2Instruction(0, new SetLocal0Ins(), new int[]{}, new byte[0]);
- break;
- case 1:
- ins = new AVM2Instruction(0, new SetLocal1Ins(), new int[]{}, new byte[0]);
- break;
- case 2:
- ins = new AVM2Instruction(0, new SetLocal2Ins(), new int[]{}, new byte[0]);
- break;
- case 3:
- ins = new AVM2Instruction(0, new SetLocal3Ins(), new int[]{}, new byte[0]);
- break;
- default:
- ins = new AVM2Instruction(0, new SetLocalIns(), new int[]{regIndex}, new byte[0]);
- break;
- }
- return toSourceMerge(localData, generator, value,
- new AVM2Instruction(0, new DupIns(), new int[]{}, new byte[0]), ins);
- }
-
- @Override
- public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- AVM2Instruction ins;
- switch (regIndex) {
- case 0:
- ins = new AVM2Instruction(0, new SetLocal0Ins(), new int[]{}, new byte[0]);
- break;
- case 1:
- ins = new AVM2Instruction(0, new SetLocal1Ins(), new int[]{}, new byte[0]);
- break;
- case 2:
- ins = new AVM2Instruction(0, new SetLocal2Ins(), new int[]{}, new byte[0]);
- break;
- case 3:
- ins = new AVM2Instruction(0, new SetLocal3Ins(), new int[]{}, new byte[0]);
- break;
- default:
- ins = new AVM2Instruction(0, new SetLocalIns(), new int[]{regIndex}, new byte[0]);
- break;
- }
- return toSourceMerge(localData, generator, value, ins);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal0Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal1Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal2Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocal3Ins;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.SetLocalIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.DupIns;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class SetLocalAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
+
+ public int regIndex;
+ //public GraphTargetItem value;
+
+ public SetLocalAVM2Item(AVM2Instruction instruction, int regIndex, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_ASSIGMENT);
+ this.regIndex = regIndex;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append(localRegName(localData.localRegNames, regIndex) + " = ");
+ return value.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem getObject() {
+ return new LocalRegAVM2Item(instruction, regIndex, null);
+ }
+
+ @Override
+ public GraphTargetItem getValue() {
+ return value;
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ AVM2Instruction ins;
+ switch (regIndex) {
+ case 0:
+ ins = new AVM2Instruction(0, new SetLocal0Ins(), new int[]{}, new byte[0]);
+ break;
+ case 1:
+ ins = new AVM2Instruction(0, new SetLocal1Ins(), new int[]{}, new byte[0]);
+ break;
+ case 2:
+ ins = new AVM2Instruction(0, new SetLocal2Ins(), new int[]{}, new byte[0]);
+ break;
+ case 3:
+ ins = new AVM2Instruction(0, new SetLocal3Ins(), new int[]{}, new byte[0]);
+ break;
+ default:
+ ins = new AVM2Instruction(0, new SetLocalIns(), new int[]{regIndex}, new byte[0]);
+ break;
+ }
+ return toSourceMerge(localData, generator, value,
+ new AVM2Instruction(0, new DupIns(), new int[]{}, new byte[0]), ins);
+ }
+
+ @Override
+ public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ AVM2Instruction ins;
+ switch (regIndex) {
+ case 0:
+ ins = new AVM2Instruction(0, new SetLocal0Ins(), new int[]{}, new byte[0]);
+ break;
+ case 1:
+ ins = new AVM2Instruction(0, new SetLocal1Ins(), new int[]{}, new byte[0]);
+ break;
+ case 2:
+ ins = new AVM2Instruction(0, new SetLocal2Ins(), new int[]{}, new byte[0]);
+ break;
+ case 3:
+ ins = new AVM2Instruction(0, new SetLocal3Ins(), new int[]{}, new byte[0]);
+ break;
+ default:
+ ins = new AVM2Instruction(0, new SetLocalIns(), new int[]{regIndex}, new byte[0]);
+ break;
+ }
+ return toSourceMerge(localData, generator, value, ins);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java
index 031102dd8..542d1ec07 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetPropertyAVM2Item.java
@@ -1,90 +1,89 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.other.SetPropertyIns;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphPart;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class SetPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
-
- public GraphTargetItem object;
- public GraphTargetItem propertyName;
- public GraphTargetItem value;
-
- @Override
- public GraphPart getFirstPart() {
- return value.getFirstPart();
- }
-
- public SetPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName, GraphTargetItem value) {
- super(instruction, PRECEDENCE_ASSIGMENT);
- this.object = object;
- this.propertyName = propertyName;
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- formatProperty(writer, object, propertyName, localData);
- writer.append(" = ");
- return value.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem getObject() {
- return new GetPropertyAVM2Item(instruction, object, propertyName);
- }
-
- @Override
- public GraphTargetItem getValue() {
- return value;
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, object, value,
- new AVM2Instruction(0, new SetPropertyIns(), new int[]{((AVM2SourceGenerator) generator).propertyName(propertyName)}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.other.SetPropertyIns;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphPart;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class SetPropertyAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
+
+ public GraphTargetItem object;
+ public GraphTargetItem propertyName;
+ public GraphTargetItem value;
+
+ @Override
+ public GraphPart getFirstPart() {
+ return value.getFirstPart();
+ }
+
+ public SetPropertyAVM2Item(AVM2Instruction instruction, GraphTargetItem object, GraphTargetItem propertyName, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_ASSIGMENT);
+ this.object = object;
+ this.propertyName = propertyName;
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ formatProperty(writer, object, propertyName, localData);
+ writer.append(" = ");
+ return value.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem getObject() {
+ return new GetPropertyAVM2Item(instruction, object, propertyName);
+ }
+
+ @Override
+ public GraphTargetItem getValue() {
+ return value;
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, object, value,
+ new AVM2Instruction(0, new SetPropertyIns(), new int[]{((AVM2SourceGenerator) generator).propertyName(propertyName)}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java
index 841ee4579..a040653db 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSlotAVM2Item.java
@@ -1,95 +1,94 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphPart;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class SetSlotAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
-
- public Multiname slotName;
- //public GraphTargetItem value;
- public GraphTargetItem scope;
-
- public SetSlotAVM2Item(AVM2Instruction instruction, GraphTargetItem scope, Multiname slotName, GraphTargetItem value) {
- super(instruction, PRECEDENCE_ASSIGMENT);
- this.slotName = slotName;
- this.value = value;
- this.scope = scope;
- }
-
- @Override
- public GraphPart getFirstPart() {
- return value.getFirstPart();
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- getName(writer, localData);
- writer.append(" = ");
- return value.toString(writer, localData);
- }
-
- public GraphTextWriter getName(GraphTextWriter writer, LocalData localData) {
- /*ret = scope.toString(constants, localRegNames) + ".";
- if (!(scope instanceof NewActivationAVM2Item)) {
- ret = scope.toString(constants, localRegNames) + ".";
- }
- if (scope instanceof LocalRegAVM2Item) {
- if (((LocalRegAVM2Item) scope).computedValue != null) {
- if (((LocalRegAVM2Item) scope).computedValue instanceof NewActivationAVM2Item) {
- ret = "";
- }
- }
- }*/
- if (slotName == null) {
- return writer.append("/*UnknownSlot*/");
- }
- return writer.append(slotName.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
- }
-
- @Override
- public GraphTargetItem getObject() {
- return new GetSlotAVM2Item(instruction, scope, slotName);
- }
-
- @Override
- public GraphTargetItem getValue() {
- return value;
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphPart;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class SetSlotAVM2Item extends AVM2Item implements SetTypeAVM2Item, AssignmentAVM2Item {
+
+ public Multiname slotName;
+ //public GraphTargetItem value;
+ public GraphTargetItem scope;
+
+ public SetSlotAVM2Item(AVM2Instruction instruction, GraphTargetItem scope, Multiname slotName, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_ASSIGMENT);
+ this.slotName = slotName;
+ this.value = value;
+ this.scope = scope;
+ }
+
+ @Override
+ public GraphPart getFirstPart() {
+ return value.getFirstPart();
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ getName(writer, localData);
+ writer.append(" = ");
+ return value.toString(writer, localData);
+ }
+
+ public GraphTextWriter getName(GraphTextWriter writer, LocalData localData) {
+ /*ret = scope.toString(constants, localRegNames) + ".";
+ if (!(scope instanceof NewActivationAVM2Item)) {
+ ret = scope.toString(constants, localRegNames) + ".";
+ }
+ if (scope instanceof LocalRegAVM2Item) {
+ if (((LocalRegAVM2Item) scope).computedValue != null) {
+ if (((LocalRegAVM2Item) scope).computedValue instanceof NewActivationAVM2Item) {
+ ret = "";
+ }
+ }
+ }*/
+ if (slotName == null) {
+ return writer.append("/*UnknownSlot*/");
+ }
+ return writer.append(slotName.getName(localData.constantsAvm2, localData.fullyQualifiedNames));
+ }
+
+ @Override
+ public GraphTargetItem getObject() {
+ return new GetSlotAVM2Item(instruction, scope, slotName);
+ }
+
+ @Override
+ public GraphTargetItem getValue() {
+ return value;
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java
similarity index 68%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java
index 43423f1e3..78ed2a177 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetSuperAVM2Item.java
@@ -1,70 +1,69 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphPart;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class SetSuperAVM2Item extends AVM2Item {
-
- //public GraphTargetItem value;
- public GraphTargetItem object;
- public FullMultinameAVM2Item propertyName;
-
- @Override
- public GraphPart getFirstPart() {
- return value.getFirstPart();
- }
-
- public SetSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem object, FullMultinameAVM2Item propertyName) {
- super(instruction, PRECEDENCE_ASSIGMENT);
- this.value = value;
- this.object = object;
- this.propertyName = propertyName;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (!object.toString().equals("this")) {
- object.toString(writer, localData);
- writer.append(".");
- }
- writer.append("super.");
- propertyName.toString(writer, localData);
- writer.append(" = ");
- return value.toString(writer, localData);
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphPart;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class SetSuperAVM2Item extends AVM2Item {
+
+ //public GraphTargetItem value;
+ public GraphTargetItem object;
+ public FullMultinameAVM2Item propertyName;
+
+ @Override
+ public GraphPart getFirstPart() {
+ return value.getFirstPart();
+ }
+
+ public SetSuperAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem object, FullMultinameAVM2Item propertyName) {
+ super(instruction, PRECEDENCE_ASSIGMENT);
+ this.value = value;
+ this.object = object;
+ this.propertyName = propertyName;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (!object.toString().equals("this")) {
+ object.toString(writer, localData);
+ writer.append(".");
+ }
+ writer.append("super.");
+ propertyName.toString(writer, localData);
+ writer.append(" = ");
+ return value.toString(writer, localData);
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetTypeAVM2Item.java
new file mode 100644
index 000000000..98346b267
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/SetTypeAVM2Item.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.graph.GraphTargetItem;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface SetTypeAVM2Item {
+
+ public GraphTargetItem getObject();
+
+ public GraphTargetItem getValue();
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/StringAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/StringAVM2Item.java
similarity index 71%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/StringAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/StringAVM2Item.java
index 8bac18da7..a3877360d 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/StringAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/StringAVM2Item.java
@@ -1,74 +1,73 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushStringIns;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.helpers.Helper;
-import java.util.List;
-import java.util.Set;
-
-public class StringAVM2Item extends AVM2Item {
-
- public String value;
-
- public StringAVM2Item(AVM2Instruction instruction, String value) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("\"" + Helper.escapeString(value) + "\"");
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- return true;
- }
-
- @Override
- public Object getResult() {
- return value;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator,
- new AVM2Instruction(0, new PushStringIns(), new int[]{((AVM2SourceGenerator) generator).str(value)}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.STRING;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushStringIns;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.helpers.Helper;
+import java.util.List;
+import java.util.Set;
+
+public class StringAVM2Item extends AVM2Item {
+
+ public String value;
+
+ public StringAVM2Item(AVM2Instruction instruction, String value) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("\"" + Helper.escapeString(value) + "\"");
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ return true;
+ }
+
+ @Override
+ public Object getResult() {
+ return value;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator,
+ new AVM2Instruction(0, new PushStringIns(), new int[]{((AVM2SourceGenerator) generator).str(value)}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.STRING;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java
similarity index 68%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java
index d73ae8e9e..e3b4f644b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThisAVM2Item.java
@@ -1,66 +1,65 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal0Ins;
-import com.jpexs.decompiler.flash.abc.types.Multiname;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class ThisAVM2Item extends AVM2Item {
-
- public Multiname className;
-
- public ThisAVM2Item(Multiname className) {
- super(null, PRECEDENCE_PRIMARY);
- this.className = className;
- }
-
- @Override
- public String toString() {
- return "this";
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("this");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, new AVM2Instruction(0, new GetLocal0Ins(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.localregs.GetLocal0Ins;
+import com.jpexs.decompiler.flash.abc.types.Multiname;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class ThisAVM2Item extends AVM2Item {
+
+ public Multiname className;
+
+ public ThisAVM2Item(Multiname className) {
+ super(null, PRECEDENCE_PRIMARY);
+ this.className = className;
+ }
+
+ @Override
+ public String toString() {
+ return "this";
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("this");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, new AVM2Instruction(0, new GetLocal0Ins(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java
index 33cd04066..b86e06cdc 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/ThrowAVM2Item.java
@@ -1,60 +1,59 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class ThrowAVM2Item extends AVM2Item {
-
- //public GraphTargetItem value;
- public ThrowAVM2Item(AVM2Instruction instruction, GraphTargetItem value) {
- super(instruction, NOPRECEDENCE);
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- writer.append("throw ");
- return value.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return ((AVM2SourceGenerator) generator).generate(localData, this);
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AVM2SourceGenerator;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class ThrowAVM2Item extends AVM2Item {
+
+ //public GraphTargetItem value;
+ public ThrowAVM2Item(AVM2Instruction instruction, GraphTargetItem value) {
+ super(instruction, NOPRECEDENCE);
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ writer.append("throw ");
+ return value.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return ((AVM2SourceGenerator) generator).generate(localData, this);
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java
index f04c35735..b0eb1f129 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UndefinedAVM2Item.java
@@ -1,70 +1,69 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushUndefinedIns;
-import com.jpexs.decompiler.flash.ecma.Undefined;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-import java.util.Set;
-
-public class UndefinedAVM2Item extends AVM2Item {
-
- public UndefinedAVM2Item(AVM2Instruction instruction) {
- super(instruction, PRECEDENCE_PRIMARY);
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append("undefined");
- }
-
- @Override
- public boolean isCompileTime(Set dependencies) {
- return true;
- }
-
- @Override
- public Object getResult() {
- return new Undefined();
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Undefined");
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator,
- new AVM2Instruction(0, new PushUndefinedIns(), new int[]{}, new byte[0])
- );
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.stack.PushUndefinedIns;
+import com.jpexs.decompiler.flash.ecma.Undefined;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+import java.util.Set;
+
+public class UndefinedAVM2Item extends AVM2Item {
+
+ public UndefinedAVM2Item(AVM2Instruction instruction) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append("undefined");
+ }
+
+ @Override
+ public boolean isCompileTime(Set dependencies) {
+ return true;
+ }
+
+ @Override
+ public Object getResult() {
+ return new Undefined();
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Undefined");
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator,
+ new AVM2Instruction(0, new PushUndefinedIns(), new int[]{}, new byte[0])
+ );
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/UnparsedAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UnparsedAVM2Item.java
similarity index 54%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/UnparsedAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UnparsedAVM2Item.java
index 0c336dc43..abfa2e539 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/UnparsedAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/UnparsedAVM2Item.java
@@ -1,48 +1,47 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class UnparsedAVM2Item extends AVM2Item {
-
- public String value;
-
- public UnparsedAVM2Item(AVM2Instruction instruction, String value) {
- super(instruction, NOPRECEDENCE);
- this.value = value;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append(value);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class UnparsedAVM2Item extends AVM2Item {
+
+ public String value;
+
+ public UnparsedAVM2Item(AVM2Instruction instruction, String value) {
+ super(instruction, NOPRECEDENCE);
+ this.value = value;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append(value);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java
index 70a8e0202..6b072ea33 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/WithEndAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithEndAVM2Item.java
similarity index 59%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/WithEndAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithEndAVM2Item.java
index 173553b5f..db5c61453 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/WithEndAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithEndAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model;
import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java
similarity index 64%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java
index 738d1f788..fa800cce1 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/WithObjectAVM2Item.java
@@ -1,59 +1,58 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-public class WithObjectAVM2Item extends AVM2Item {
-
- public GraphTargetItem scope;
-
- public WithObjectAVM2Item(AVM2Instruction instruction, GraphTargetItem scope) {
- super(instruction, PRECEDENCE_PRIMARY);
- this.scope = scope;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return scope.toSource(localData, generator);
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+public class WithObjectAVM2Item extends AVM2Item {
+
+ public GraphTargetItem scope;
+
+ public WithObjectAVM2Item(AVM2Instruction instruction, GraphTargetItem scope) {
+ super(instruction, PRECEDENCE_PRIMARY);
+ this.scope = scope;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return scope.toSource(localData, generator);
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/XMLAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/XMLAVM2Item.java
similarity index 62%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/XMLAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/XMLAVM2Item.java
index 600e234d5..80f9d1305 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/XMLAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/XMLAVM2Item.java
@@ -1,60 +1,59 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import java.util.List;
-
-/**
- *
- * @author JPEXS
- */
-public class XMLAVM2Item extends AVM2Item {
-
- public List parts;
-
- public XMLAVM2Item(AVM2Instruction instruction, List parts) {
- super(instruction, NOPRECEDENCE);
- this.parts = parts;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- for (GraphTargetItem part : parts) {
- if (part instanceof StringAVM2Item) {
- writer.append(((StringAVM2Item) part).value);
- } else {
- part.toString(writer, localData);
- }
- }
- return writer;
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("XML");
- }
-
- @Override
- public boolean hasReturnValue() {
- return true;
- }
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import java.util.List;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class XMLAVM2Item extends AVM2Item {
+
+ public List parts;
+
+ public XMLAVM2Item(AVM2Instruction instruction, List parts) {
+ super(instruction, NOPRECEDENCE);
+ this.parts = parts;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ for (GraphTargetItem part : parts) {
+ if (part instanceof StringAVM2Item) {
+ writer.append(((StringAVM2Item) part).value);
+ } else {
+ part.toString(writer, localData);
+ }
+ }
+ return writer;
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("XML");
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return true;
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/AssignmentAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/AssignmentAVM2Item.java
new file mode 100644
index 000000000..5bb65f69d
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/AssignmentAVM2Item.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface AssignmentAVM2Item {
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java
index 7fb280b33..c4a38e7d8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/DeclarationAVM2Item.java
@@ -1,88 +1,87 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
-
-import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.model.CoerceAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.model.ConvertAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.model.SetLocalAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.model.SetSlotAVM2Item;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class DeclarationAVM2Item extends AVM2Item {
-
- public GraphTargetItem assignment;
- public GraphTargetItem type;
-
- public DeclarationAVM2Item(GraphTargetItem assignment, GraphTargetItem type) {
- super(assignment.src, assignment.getPrecedence());
- this.type = type;
- this.assignment = assignment;
- }
-
- public DeclarationAVM2Item(GraphTargetItem assignment) {
- this(assignment, null);
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (assignment instanceof SetLocalAVM2Item) {
- SetLocalAVM2Item lti = (SetLocalAVM2Item) assignment;
- GraphTargetItem coerType = TypeItem.UNBOUNDED;
- if (lti.value instanceof CoerceAVM2Item) {
- coerType = ((CoerceAVM2Item) lti.value).typeObj;
- }
- if (lti.value instanceof ConvertAVM2Item) {
- coerType = ((ConvertAVM2Item) lti.value).type;
- }
- writer.append("var ");
- writer.append(localRegName(localData.localRegNames, lti.regIndex));
- writer.append(":");
- coerType.appendTo(writer, localData);
- writer.append(" = ");
- return lti.value.toString(writer, localData);
- }
- if (assignment instanceof SetSlotAVM2Item) {
- SetSlotAVM2Item ssti = (SetSlotAVM2Item) assignment;
- writer.append("var ");
- ssti.getName(writer, localData);
- writer.append(":");
- type.appendTo(writer, localData);
- writer.append(" = ");
- return ssti.value.toString(writer, localData);
- }
- writer.append("var ");
- return assignment.toString(writer, localData);
- }
-
- @Override
- public GraphTargetItem returnType() {
- return type;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
+
+import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.model.CoerceAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.model.ConvertAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.model.SetLocalAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.model.SetSlotAVM2Item;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class DeclarationAVM2Item extends AVM2Item {
+
+ public GraphTargetItem assignment;
+ public GraphTargetItem type;
+
+ public DeclarationAVM2Item(GraphTargetItem assignment, GraphTargetItem type) {
+ super(assignment.src, assignment.getPrecedence());
+ this.type = type;
+ this.assignment = assignment;
+ }
+
+ public DeclarationAVM2Item(GraphTargetItem assignment) {
+ this(assignment, null);
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (assignment instanceof SetLocalAVM2Item) {
+ SetLocalAVM2Item lti = (SetLocalAVM2Item) assignment;
+ GraphTargetItem coerType = TypeItem.UNBOUNDED;
+ if (lti.value instanceof CoerceAVM2Item) {
+ coerType = ((CoerceAVM2Item) lti.value).typeObj;
+ }
+ if (lti.value instanceof ConvertAVM2Item) {
+ coerType = ((ConvertAVM2Item) lti.value).type;
+ }
+ writer.append("var ");
+ writer.append(localRegName(localData.localRegNames, lti.regIndex));
+ writer.append(":");
+ coerType.appendTo(writer, localData);
+ writer.append(" = ");
+ return lti.value.toString(writer, localData);
+ }
+ if (assignment instanceof SetSlotAVM2Item) {
+ SetSlotAVM2Item ssti = (SetSlotAVM2Item) assignment;
+ writer.append("var ");
+ ssti.getName(writer, localData);
+ writer.append(":");
+ type.appendTo(writer, localData);
+ writer.append(" = ");
+ return ssti.value.toString(writer, localData);
+ }
+ writer.append("var ");
+ return assignment.toString(writer, localData);
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return type;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ExceptionAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ExceptionAVM2Item.java
similarity index 57%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ExceptionAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ExceptionAVM2Item.java
index e6ac8b8ba..b1da5a42a 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ExceptionAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ExceptionAVM2Item.java
@@ -1,49 +1,48 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
-
-import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
-import com.jpexs.decompiler.flash.abc.types.ABCException;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-public class ExceptionAVM2Item extends AVM2Item {
-
- public ABCException exception;
-
- public ExceptionAVM2Item(ABCException exception) {
- super(null, NOPRECEDENCE);
- this.exception = exception;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
- return writer.append(exception.getVarName(localData.constantsAvm2, localData.fullyQualifiedNames));
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
+
+import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
+import com.jpexs.decompiler.flash.abc.types.ABCException;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+public class ExceptionAVM2Item extends AVM2Item {
+
+ public ABCException exception;
+
+ public ExceptionAVM2Item(ABCException exception) {
+ super(null, NOPRECEDENCE);
+ this.exception = exception;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) {
+ return writer.append(exception.getVarName(localData.constantsAvm2, localData.fullyQualifiedNames));
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java
similarity index 63%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java
index ce8860f43..685cb0d49 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/FilterAVM2Item.java
@@ -1,58 +1,57 @@
-/*
- * Copyright (C) 2012-2013 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
-
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-
-/**
- *
- * @author JPEXS
- */
-public class FilterAVM2Item extends AVM2Item {
-
- public GraphTargetItem expression;
- public GraphTargetItem collection;
-
- public FilterAVM2Item(AVM2Instruction instruction, GraphTargetItem collection, GraphTargetItem expression) {
- super(instruction, NOPRECEDENCE);
- this.expression = expression;
- this.collection = collection;
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- collection.toString(writer, localData);
- writer.append(".(");
- expression.toString(writer, localData);
- return writer.append(")");
- }
-
- @Override
- public GraphTargetItem returnType() {
- return TypeItem.UNBOUNDED;
- }
-
- @Override
- public boolean hasReturnValue() {
- return false;
- }
-}
+/*
+ * Copyright (C) 2012-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.model.AVM2Item;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+
+/**
+ *
+ * @author JPEXS
+ */
+public class FilterAVM2Item extends AVM2Item {
+
+ public GraphTargetItem expression;
+ public GraphTargetItem collection;
+
+ public FilterAVM2Item(AVM2Instruction instruction, GraphTargetItem collection, GraphTargetItem expression) {
+ super(instruction, NOPRECEDENCE);
+ this.expression = expression;
+ this.collection = collection;
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ collection.toString(writer, localData);
+ writer.append(".(");
+ expression.toString(writer, localData);
+ return writer.append(")");
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return TypeItem.UNBOUNDED;
+ }
+
+ @Override
+ public boolean hasReturnValue() {
+ return false;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java
similarity index 86%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java
index 5af2202a5..93856822f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForEachInAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java
similarity index 86%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java
index 4e2b7d335..8303d06e4 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/ForInAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java
similarity index 88%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java
index 132db2853..b96b61b08 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/clauses/TryAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model.clauses;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java
similarity index 80%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java
index cd7d59f39..c14f222e8 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AddAVM2Item.java
@@ -1,92 +1,91 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.AddIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.IncrementIns;
-import com.jpexs.decompiler.flash.abc.avm2.model.IntegerValueAVM2Item;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.ecma.EcmaType;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class AddAVM2Item extends BinaryOpItem {
-
- public AddAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_ADDITIVE, leftSide, rightSide, "+");
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (rightSide.getPrecedence() >= precedence) { //string + vs number +
- if (leftSide.getPrecedence() > precedence) {
- writer.append("(");
- leftSide.toString(writer, localData);
- writer.append(")");
- } else {
- leftSide.toString(writer, localData);
- }
- writer.append(" ");
- writer.append(operator);
- writer.append(" ");
-
- writer.append("(");
- rightSide.toString(writer, localData);
- return writer.append(")");
- } else {
- return super.appendTo(writer, localData);
- }
- }
-
- @Override
- public Object getResult() {
- if (EcmaScript.type(leftSide.getResult()) == EcmaType.STRING || EcmaScript.type(rightSide.getResult()) == EcmaType.STRING) {
- return "" + leftSide.getResult() + rightSide.getResult();
- }
- return EcmaScript.toNumber(leftSide.getResult()) + EcmaScript.toNumber(rightSide.getResult());
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (rightSide instanceof IntegerValueAVM2Item) {
- IntegerValueAVM2Item iv = (IntegerValueAVM2Item) rightSide;
- if (iv.value == 1) {
- return toSourceMerge(localData, generator, leftSide,
- new AVM2Instruction(0, new IncrementIns(), new int[]{}, new byte[0])
- );
- }
- }
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new AddIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.AddIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.IncrementIns;
+import com.jpexs.decompiler.flash.abc.avm2.model.IntegerValueAVM2Item;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.ecma.EcmaType;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class AddAVM2Item extends BinaryOpItem {
+
+ public AddAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_ADDITIVE, leftSide, rightSide, "+");
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (rightSide.getPrecedence() >= precedence) { //string + vs number +
+ if (leftSide.getPrecedence() > precedence) {
+ writer.append("(");
+ leftSide.toString(writer, localData);
+ writer.append(")");
+ } else {
+ leftSide.toString(writer, localData);
+ }
+ writer.append(" ");
+ writer.append(operator);
+ writer.append(" ");
+
+ writer.append("(");
+ rightSide.toString(writer, localData);
+ return writer.append(")");
+ } else {
+ return super.appendTo(writer, localData);
+ }
+ }
+
+ @Override
+ public Object getResult() {
+ if (EcmaScript.type(leftSide.getResult()) == EcmaType.STRING || EcmaScript.type(rightSide.getResult()) == EcmaType.STRING) {
+ return "" + leftSide.getResult() + rightSide.getResult();
+ }
+ return EcmaScript.toNumber(leftSide.getResult()) + EcmaScript.toNumber(rightSide.getResult());
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (rightSide instanceof IntegerValueAVM2Item) {
+ IntegerValueAVM2Item iv = (IntegerValueAVM2Item) rightSide;
+ if (iv.value == 1) {
+ return toSourceMerge(localData, generator, leftSide,
+ new AVM2Instruction(0, new IncrementIns(), new int[]{}, new byte[0])
+ );
+ }
+ }
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new AddIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java
similarity index 62%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java
index b1b72ba48..c61e2ac84 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/AsTypeAVM2Item.java
@@ -1,46 +1,45 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.types.AsTypeLateIns;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import java.util.List;
-
-public class AsTypeAVM2Item extends BinaryOpItem {
-
- public AsTypeAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem type) {
- super(instruction, PRECEDENCE_RELATIONAL, value, type, "as");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new AsTypeLateIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return rightSide;
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.types.AsTypeLateIns;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import java.util.List;
+
+public class AsTypeAVM2Item extends BinaryOpItem {
+
+ public AsTypeAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem type) {
+ super(instruction, PRECEDENCE_RELATIONAL, value, type, "as");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new AsTypeLateIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return rightSide;
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java
index 9e4d63b24..cd61c9311 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitAndAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitAndIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class BitAndAVM2Item extends BinaryOpItem {
-
- public BitAndAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_BITWISEAND, leftSide, rightSide, "&");
- }
-
- @Override
- public Object getResult() {
- return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) & ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new BitAndIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitAndIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class BitAndAVM2Item extends BinaryOpItem {
+
+ public BitAndAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_BITWISEAND, leftSide, rightSide, "&");
+ }
+
+ @Override
+ public Object getResult() {
+ return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) & ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new BitAndIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java
similarity index 65%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java
index e63f720fb..b063a5b47 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitNotAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitNotIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.UnaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class BitNotAVM2Item extends UnaryOpItem {
-
- public BitNotAVM2Item(GraphSourceItem instruction, GraphTargetItem value) {
- super(instruction, PRECEDENCE_UNARY, value, "~");
- }
-
- @Override
- public Object getResult() {
- return ~((long) (double) EcmaScript.toNumber(value.getResult()));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, value,
- new AVM2Instruction(0, new BitNotIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitNotIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.UnaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class BitNotAVM2Item extends UnaryOpItem {
+
+ public BitNotAVM2Item(GraphSourceItem instruction, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_UNARY, value, "~");
+ }
+
+ @Override
+ public Object getResult() {
+ return ~((long) (double) EcmaScript.toNumber(value.getResult()));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, value,
+ new AVM2Instruction(0, new BitNotIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java
index f0591f85a..27ff7965e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitOrAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitOrIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class BitOrAVM2Item extends BinaryOpItem {
-
- public BitOrAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_BITWISEOR, leftSide, rightSide, "|");
- }
-
- @Override
- public Object getResult() {
- return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) | ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new BitOrIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitOrIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class BitOrAVM2Item extends BinaryOpItem {
+
+ public BitOrAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_BITWISEOR, leftSide, rightSide, "|");
+ }
+
+ @Override
+ public Object getResult() {
+ return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) | ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new BitOrIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java
index 6151bf61b..713d9782f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/BitXorAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitXorIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class BitXorAVM2Item extends BinaryOpItem {
-
- public BitXorAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_BITWISEXOR, leftSide, rightSide, "^");
- }
-
- @Override
- public Object getResult() {
- return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) ^ ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new BitXorIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.BitXorIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class BitXorAVM2Item extends BinaryOpItem {
+
+ public BitXorAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_BITWISEXOR, leftSide, rightSide, "^");
+ }
+
+ @Override
+ public Object getResult() {
+ return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) ^ ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new BitXorIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java
similarity index 82%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java
index 3ca18e4ba..c70a83fc9 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DeletePropertyAVM2Item.java
@@ -1,19 +1,18 @@
/*
- * Copyright (C) 2010-2014 JPEXS
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
package com.jpexs.decompiler.flash.abc.avm2.model.operations;
import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java
index 0f90d15e7..1234523df 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/DivideAVM2Item.java
@@ -1,80 +1,79 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DivideIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class DivideAVM2Item extends BinaryOpItem {
-
- public DivideAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_MULTIPLICATIVE, leftSide, rightSide, "/");
- }
-
- @Override
- public Object getResult() {
- if (Double.compare(EcmaScript.toNumber(rightSide.getResult()), 0) == 0) {
- return Double.NaN;
- }
- return (EcmaScript.toNumber(leftSide.getResult())) / (EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too
- if (leftSide.getPrecedence() > precedence) {
- writer.append("(");
- leftSide.toString(writer, localData);
- writer.append(")");
- } else {
- leftSide.toString(writer, localData);
- }
- writer.append(" ");
- writer.append(operator);
- writer.append(" ");
-
- writer.append("(");
- rightSide.toString(writer, localData);
- return writer.append(")");
- } else {
- return super.appendTo(writer, localData);
- }
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new DivideIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DivideIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class DivideAVM2Item extends BinaryOpItem {
+
+ public DivideAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_MULTIPLICATIVE, leftSide, rightSide, "/");
+ }
+
+ @Override
+ public Object getResult() {
+ if (Double.compare(EcmaScript.toNumber(rightSide.getResult()), 0) == 0) {
+ return Double.NaN;
+ }
+ return (EcmaScript.toNumber(leftSide.getResult())) / (EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too
+ if (leftSide.getPrecedence() > precedence) {
+ writer.append("(");
+ leftSide.toString(writer, localData);
+ writer.append(")");
+ } else {
+ leftSide.toString(writer, localData);
+ }
+ writer.append(" ");
+ writer.append(operator);
+ writer.append(" ");
+
+ writer.append("(");
+ rightSide.toString(writer, localData);
+ return writer.append(")");
+ } else {
+ return super.appendTo(writer, localData);
+ }
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new DivideIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java
index 2ca232bd5..5acfaeec5 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/EqAVM2Item.java
@@ -1,72 +1,71 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.EqualsIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfEqIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNeIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class EqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public EqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "==");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfEqIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfNeIns();
- }
-
- @Override
- public Object getResult() {
- return EcmaScript.equals(leftSide.getResult(), rightSide.getResult());
- }
-
- @Override
- public GraphTargetItem invert() {
- return new NeqAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new EqualsIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.EqualsIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfEqIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNeIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class EqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public EqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "==");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfEqIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfNeIns();
+ }
+
+ @Override
+ public Object getResult() {
+ return EcmaScript.equals(leftSide.getResult(), rightSide.getResult());
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new NeqAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new EqualsIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java
index 5615da3b5..e847449b0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GeAVM2Item.java
@@ -1,79 +1,78 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.GreaterEqualsIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfGeIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNGeIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class GeAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public GeAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, ">=");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfGeIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfNGeIns();
- }
-
- @Override
- public GraphTargetItem invert() {
- return new LtAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public Object getResult() {
- Object ret = EcmaScript.compare(leftSide.getResult(), rightSide.getResult());
- if (ret == Boolean.TRUE) {
- return Boolean.FALSE;
- }
- if (ret == Boolean.FALSE) {
- return Boolean.TRUE;
- }
- return ret;//undefined
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new GreaterEqualsIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.GreaterEqualsIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfGeIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNGeIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class GeAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public GeAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, ">=");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfGeIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfNGeIns();
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new LtAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public Object getResult() {
+ Object ret = EcmaScript.compare(leftSide.getResult(), rightSide.getResult());
+ if (ret == Boolean.TRUE) {
+ return Boolean.FALSE;
+ }
+ if (ret == Boolean.FALSE) {
+ return Boolean.TRUE;
+ }
+ return ret;//undefined
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new GreaterEqualsIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java
index 1e721a83e..38b01d24b 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/GtAVM2Item.java
@@ -1,72 +1,71 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.GreaterThanIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfGtIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNGtIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class GtAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public GtAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, ">");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfGtIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfNGtIns();
- }
-
- @Override
- public GraphTargetItem invert() {
- return new LeAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public Object getResult() {
- return EcmaScript.compare(rightSide.getResult(), leftSide.getResult());
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new GreaterThanIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.GreaterThanIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfGtIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNGtIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class GtAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public GtAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, ">");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfGtIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfNGtIns();
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new LeAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public Object getResult() {
+ return EcmaScript.compare(rightSide.getResult(), leftSide.getResult());
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new GreaterThanIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IfCondition.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IfCondition.java
new file mode 100644
index 000000000..f14072b21
--- /dev/null
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IfCondition.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.graph.model.BinaryOp;
+
+/**
+ *
+ * @author JPEXS
+ */
+public interface IfCondition extends BinaryOp {
+
+ public InstructionDefinition getIfDefinition();
+
+ public InstructionDefinition getIfNotDefinition();
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java
similarity index 63%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java
index 85b58f670..e2c333d78 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InAVM2Item.java
@@ -1,47 +1,46 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.other.InIns;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import java.util.List;
-
-public class InAVM2Item extends BinaryOpItem {
-
- public InAVM2Item(AVM2Instruction instruction, GraphTargetItem name, GraphTargetItem object) {
- super(instruction, PRECEDENCE_RELATIONAL, name, object, "in");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new InIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.other.InIns;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import java.util.List;
+
+public class InAVM2Item extends BinaryOpItem {
+
+ public InAVM2Item(AVM2Instruction instruction, GraphTargetItem name, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_RELATIONAL, name, object, "in");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new InIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java
similarity index 63%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java
index 5f683ced1..48eddd915 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/InstanceOfAVM2Item.java
@@ -1,47 +1,46 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.types.InstanceOfIns;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import java.util.List;
-
-public class InstanceOfAVM2Item extends BinaryOpItem {
-
- public InstanceOfAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem type) {
- super(instruction, PRECEDENCE_RELATIONAL, value, type, "instanceof");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new InstanceOfIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.types.InstanceOfIns;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import java.util.List;
+
+public class InstanceOfAVM2Item extends BinaryOpItem {
+
+ public InstanceOfAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem type) {
+ super(instruction, PRECEDENCE_RELATIONAL, value, type, "instanceof");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new InstanceOfIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java
similarity index 63%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java
index 1b6df655e..f267c01dc 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/IsTypeAVM2Item.java
@@ -1,47 +1,46 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.types.IsTypeLateIns;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import java.util.List;
-
-public class IsTypeAVM2Item extends BinaryOpItem {
-
- public IsTypeAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem type) {
- super(instruction, PRECEDENCE_RELATIONAL, value, type, "is");
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new IsTypeLateIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.types.IsTypeLateIns;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import java.util.List;
+
+public class IsTypeAVM2Item extends BinaryOpItem {
+
+ public IsTypeAVM2Item(AVM2Instruction instruction, GraphTargetItem value, GraphTargetItem type) {
+ super(instruction, PRECEDENCE_RELATIONAL, value, type, "is");
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new IsTypeLateIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java
index 8caeea3a1..4695b0928 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LShiftAVM2Item.java
@@ -1,54 +1,53 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.LShiftIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class LShiftAVM2Item extends BinaryOpItem {
-
- public LShiftAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_BITWISESHIFT, leftSide, rightSide, "<<");
- }
-
- @Override
- public Object getResult() {
- return ((int) (double) EcmaScript.toNumber(leftSide.getResult())) << ((int) (double) EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new LShiftIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.LShiftIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class LShiftAVM2Item extends BinaryOpItem {
+
+ public LShiftAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_BITWISESHIFT, leftSide, rightSide, "<<");
+ }
+
+ @Override
+ public Object getResult() {
+ return ((int) (double) EcmaScript.toNumber(leftSide.getResult())) << ((int) (double) EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new LShiftIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java
index 434db80eb..f2d5fc8b9 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LeAVM2Item.java
@@ -1,79 +1,78 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.LessEqualsIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfLeIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNLeIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class LeAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public LeAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, "<=");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfLeIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfNLeIns();
- }
-
- @Override
- public GraphTargetItem invert() {
- return new GtAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public Object getResult() {
- Object ret = EcmaScript.compare(rightSide.getResult(), leftSide.getResult());
- if (ret == Boolean.TRUE) {
- return Boolean.FALSE;
- }
- if (ret == Boolean.FALSE) {
- return Boolean.TRUE;
- }
- return ret;//undefined
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new LessEqualsIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.LessEqualsIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfLeIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNLeIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class LeAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public LeAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, "<=");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfLeIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfNLeIns();
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new GtAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public Object getResult() {
+ Object ret = EcmaScript.compare(rightSide.getResult(), leftSide.getResult());
+ if (ret == Boolean.TRUE) {
+ return Boolean.FALSE;
+ }
+ if (ret == Boolean.FALSE) {
+ return Boolean.TRUE;
+ }
+ return ret;//undefined
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new LessEqualsIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java
similarity index 73%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java
index 7181fb260..c2f0ec4d6 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/LtAVM2Item.java
@@ -1,72 +1,71 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.LessThanIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfLtIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNLtIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class LtAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public LtAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, "<");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfLtIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfNLtIns();
- }
-
- @Override
- public GraphTargetItem invert() {
- return new GeAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public Object getResult() {
- return EcmaScript.compare(leftSide.getResult(), rightSide.getResult());
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new LessThanIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.LessThanIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfLtIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNLtIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class LtAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public LtAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_RELATIONAL, leftSide, rightSide, "<");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfLtIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfNLtIns();
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new GeAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public Object getResult() {
+ return EcmaScript.compare(leftSide.getResult(), rightSide.getResult());
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new LessThanIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java
similarity index 77%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java
index efee63016..a63b3fccc 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/ModuloAVM2Item.java
@@ -1,80 +1,79 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.ModuloIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class ModuloAVM2Item extends BinaryOpItem {
-
- public ModuloAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_MULTIPLICATIVE, leftSide, rightSide, "%");
- }
-
- @Override
- public Object getResult() {
- if (Double.compare(EcmaScript.toNumber(rightSide.getResult()), 0) == 0) {
- return Double.NaN;
- }
- return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) % ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too
- if (leftSide.getPrecedence() > precedence) {
- writer.append("(");
- leftSide.toString(writer, localData);
- writer.append(")");
- } else {
- leftSide.toString(writer, localData);
- }
- writer.append(" ");
- writer.append(operator);
- writer.append(" ");
-
- writer.append("(");
- rightSide.toString(writer, localData);
- return writer.append(")");
- } else {
- return super.appendTo(writer, localData);
- }
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new ModuloIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.ModuloIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class ModuloAVM2Item extends BinaryOpItem {
+
+ public ModuloAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_MULTIPLICATIVE, leftSide, rightSide, "%");
+ }
+
+ @Override
+ public Object getResult() {
+ if (Double.compare(EcmaScript.toNumber(rightSide.getResult()), 0) == 0) {
+ return Double.NaN;
+ }
+ return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) % ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too
+ if (leftSide.getPrecedence() > precedence) {
+ writer.append("(");
+ leftSide.toString(writer, localData);
+ writer.append(")");
+ } else {
+ leftSide.toString(writer, localData);
+ }
+ writer.append(" ");
+ writer.append(operator);
+ writer.append(" ");
+
+ writer.append("(");
+ rightSide.toString(writer, localData);
+ return writer.append(")");
+ } else {
+ return super.appendTo(writer, localData);
+ }
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new ModuloIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java
similarity index 75%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java
index c050fe8b3..ea230f896 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/MultiplyAVM2Item.java
@@ -1,77 +1,76 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.MultiplyIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class MultiplyAVM2Item extends BinaryOpItem {
-
- public MultiplyAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_MULTIPLICATIVE, leftSide, rightSide, "*");
- }
-
- @Override
- public Object getResult() {
- return (EcmaScript.toNumber(leftSide.getResult())) * (EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (rightSide instanceof ModuloAVM2Item) {
- if (leftSide.getPrecedence() > precedence) {
- writer.append("(");
- leftSide.toString(writer, localData);
- writer.append(")");
- } else {
- leftSide.toString(writer, localData);
- }
- writer.append(" ");
- writer.append(operator);
- writer.append(" ");
-
- writer.append("(");
- rightSide.toString(writer, localData);
- return writer.append(")");
- } else {
- return super.appendTo(writer, localData);
- }
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new MultiplyIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.MultiplyIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class MultiplyAVM2Item extends BinaryOpItem {
+
+ public MultiplyAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_MULTIPLICATIVE, leftSide, rightSide, "*");
+ }
+
+ @Override
+ public Object getResult() {
+ return (EcmaScript.toNumber(leftSide.getResult())) * (EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (rightSide instanceof ModuloAVM2Item) {
+ if (leftSide.getPrecedence() > precedence) {
+ writer.append("(");
+ leftSide.toString(writer, localData);
+ writer.append(")");
+ } else {
+ leftSide.toString(writer, localData);
+ }
+ writer.append(" ");
+ writer.append(operator);
+ writer.append(" ");
+
+ writer.append("(");
+ rightSide.toString(writer, localData);
+ return writer.append(")");
+ } else {
+ return super.appendTo(writer, localData);
+ }
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new MultiplyIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java
similarity index 65%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java
index f7ec96b8e..5bad42183 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NegAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NegateIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.UnaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class NegAVM2Item extends UnaryOpItem {
-
- public NegAVM2Item(AVM2Instruction instruction, GraphTargetItem value) {
- super(instruction, PRECEDENCE_UNARY, value, "-");
- }
-
- @Override
- public Object getResult() {
- return -EcmaScript.toNumber(value.getResult());
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, value,
- new AVM2Instruction(0, new NegateIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NegateIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.UnaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class NegAVM2Item extends UnaryOpItem {
+
+ public NegAVM2Item(AVM2Instruction instruction, GraphTargetItem value) {
+ super(instruction, PRECEDENCE_UNARY, value, "-");
+ }
+
+ @Override
+ public Object getResult() {
+ return -EcmaScript.toNumber(value.getResult());
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, value,
+ new AVM2Instruction(0, new NegateIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java
index 8f0f2b89a..8e0566d8f 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/NeqAVM2Item.java
@@ -1,74 +1,73 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NotIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.EqualsIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfEqIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNeIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class NeqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public NeqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "!=");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfNeIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfEqIns();
- }
-
- @Override
- public Object getResult() {
- return !EcmaScript.equals(leftSide.getResult(), rightSide.getResult());
- }
-
- @Override
- public GraphTargetItem invert() {
- return new EqAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new EqualsIns(), new int[]{}, new byte[0]),
- new AVM2Instruction(0, new NotIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NotIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.EqualsIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfEqIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfNeIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class NeqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public NeqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "!=");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfNeIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfEqIns();
+ }
+
+ @Override
+ public Object getResult() {
+ return !EcmaScript.equals(leftSide.getResult(), rightSide.getResult());
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new EqAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new EqualsIns(), new int[]{}, new byte[0]),
+ new AVM2Instruction(0, new NotIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java
similarity index 70%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java
index 6f13ea511..50f90a2e0 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreDecrementAVM2Item.java
@@ -1,63 +1,62 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.UnaryOpItem;
-import java.util.ArrayList;
-import java.util.List;
-
-public class PreDecrementAVM2Item extends UnaryOpItem implements AssignmentAVM2Item {
-
- public PreDecrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, PRECEDENCE_UNARY, object, "--");
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (value instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, true, true);
- }
- return new ArrayList<>(); //?
- }
-
- @Override
- public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (value instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, true, false);
- }
- return new ArrayList<>(); //?
- }
-
- @Override
- public GraphTargetItem returnType() {
- return value.returnType();
- }
-
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.model.clauses.AssignmentAVM2Item;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.UnaryOpItem;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PreDecrementAVM2Item extends UnaryOpItem implements AssignmentAVM2Item {
+
+ public PreDecrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_UNARY, object, "--");
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (value instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, true, true);
+ }
+ return new ArrayList<>(); //?
+ }
+
+ @Override
+ public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (value instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, true, false);
+ }
+ return new ArrayList<>(); //?
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return value.returnType();
+ }
+
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreIncrementAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreIncrementAVM2Item.java
similarity index 69%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreIncrementAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreIncrementAVM2Item.java
index e84c25715..5e756d091 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreIncrementAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/PreIncrementAVM2Item.java
@@ -1,61 +1,60 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.UnaryOpItem;
-import java.util.ArrayList;
-import java.util.List;
-
-public class PreIncrementAVM2Item extends UnaryOpItem {
-
- public PreIncrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
- super(instruction, PRECEDENCE_UNARY, object, "++");
- }
-
- @Override
- public boolean hasSideEffect() {
- return true;
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (value instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, false, true);
- }
- return new ArrayList<>(); //?
- }
-
- @Override
- public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (value instanceof AssignableAVM2Item) {
- return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, false, false);
- }
- return new ArrayList<>(); //?
- }
-
- @Override
- public GraphTargetItem returnType() {
- return value.returnType();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.parser.script.AssignableAVM2Item;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.UnaryOpItem;
+import java.util.ArrayList;
+import java.util.List;
+
+public class PreIncrementAVM2Item extends UnaryOpItem {
+
+ public PreIncrementAVM2Item(AVM2Instruction instruction, GraphTargetItem object) {
+ super(instruction, PRECEDENCE_UNARY, object, "++");
+ }
+
+ @Override
+ public boolean hasSideEffect() {
+ return true;
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (value instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, false, true);
+ }
+ return new ArrayList<>(); //?
+ }
+
+ @Override
+ public List toSourceIgnoreReturnValue(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ if (value instanceof AssignableAVM2Item) {
+ return ((AssignableAVM2Item) value).toSourceChange(localData, generator, false, false, false);
+ }
+ return new ArrayList<>(); //?
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return value.returnType();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java
similarity index 67%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java
index a5fc92ac8..fbf2c9127 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/RShiftAVM2Item.java
@@ -1,53 +1,52 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.RShiftIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class RShiftAVM2Item extends BinaryOpItem {
-
- public RShiftAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_BITWISESHIFT, leftSide, rightSide, ">>");
- }
-
- @Override
- public Object getResult() {
- return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) >> ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new RShiftIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.bitwise.RShiftIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class RShiftAVM2Item extends BinaryOpItem {
+
+ public RShiftAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_BITWISESHIFT, leftSide, rightSide, ">>");
+ }
+
+ @Override
+ public Object getResult() {
+ return ((long) (double) EcmaScript.toNumber(leftSide.getResult())) >> ((long) (double) EcmaScript.toNumber(rightSide.getResult()));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new RShiftIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new UnboundedTypeItem();
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java
similarity index 74%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java
index c11593681..2ef3e5efe 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictEqAVM2Item.java
@@ -1,75 +1,74 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.StrictEqualsIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictEqIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictNeIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class StrictEqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public StrictEqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "===");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfStrictEqIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfStrictNeIns();
- }
-
- @Override
- public Object getResult() {
- Object x = leftSide.getResult();
- Object y = rightSide.getResult();
- return EcmaScript.type(x) == EcmaScript.type(y)
- && EcmaScript.equals(x, y);
- }
-
- @Override
- public GraphTargetItem invert() {
- return new StrictNeqAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new StrictEqualsIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.StrictEqualsIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictEqIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictNeIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class StrictEqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public StrictEqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "===");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfStrictEqIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfStrictNeIns();
+ }
+
+ @Override
+ public Object getResult() {
+ Object x = leftSide.getResult();
+ Object y = rightSide.getResult();
+ return EcmaScript.type(x) == EcmaScript.type(y)
+ && EcmaScript.equals(x, y);
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new StrictNeqAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new StrictEqualsIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java
similarity index 76%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java
index 4a10c3b3a..f70496f6e 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/StrictNeqAVM2Item.java
@@ -1,77 +1,76 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NotIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.StrictEqualsIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictEqIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictNeIns;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.TypeItem;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LogicalOpItem;
-import java.util.List;
-
-public class StrictNeqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
-
- public StrictNeqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "!==");
- }
-
- @Override
- public InstructionDefinition getIfDefinition() {
- return new IfStrictNeIns();
- }
-
- @Override
- public InstructionDefinition getIfNotDefinition() {
- return new IfStrictEqIns();
- }
-
- @Override
- public GraphTargetItem invert() {
- return new StrictEqAVM2Item(src, leftSide, rightSide);
- }
-
- @Override
- public Object getResult() {
- Object x = leftSide.getResult();
- Object y = rightSide.getResult();
- return EcmaScript.type(x) != EcmaScript.type(y)
- || (!EcmaScript.equals(x, y));
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new StrictEqualsIns(), new int[]{}, new byte[0]),
- new AVM2Instruction(0, new NotIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new TypeItem("Boolean");
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.NotIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.comparison.StrictEqualsIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictEqIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.jumps.IfStrictNeIns;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.TypeItem;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LogicalOpItem;
+import java.util.List;
+
+public class StrictNeqAVM2Item extends BinaryOpItem implements LogicalOpItem, IfCondition {
+
+ public StrictNeqAVM2Item(GraphSourceItem instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_EQUALITY, leftSide, rightSide, "!==");
+ }
+
+ @Override
+ public InstructionDefinition getIfDefinition() {
+ return new IfStrictNeIns();
+ }
+
+ @Override
+ public InstructionDefinition getIfNotDefinition() {
+ return new IfStrictEqIns();
+ }
+
+ @Override
+ public GraphTargetItem invert() {
+ return new StrictEqAVM2Item(src, leftSide, rightSide);
+ }
+
+ @Override
+ public Object getResult() {
+ Object x = leftSide.getResult();
+ Object y = rightSide.getResult();
+ return EcmaScript.type(x) != EcmaScript.type(y)
+ || (!EcmaScript.equals(x, y));
+ }
+
+ @Override
+ public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
+ return toSourceMerge(localData, generator, leftSide, rightSide,
+ new AVM2Instruction(0, new StrictEqualsIns(), new int[]{}, new byte[0]),
+ new AVM2Instruction(0, new NotIns(), new int[]{}, new byte[0])
+ );
+ }
+
+ @Override
+ public GraphTargetItem returnType() {
+ return new TypeItem("Boolean");
+ }
+}
diff --git a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java
similarity index 79%
rename from src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java
rename to libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java
index a45668d22..557dfe084 100644
--- a/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java
+++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/model/operations/SubtractAVM2Item.java
@@ -1,88 +1,87 @@
-/*
- * Copyright (C) 2010-2014 JPEXS
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-package com.jpexs.decompiler.flash.abc.avm2.model.operations;
-
-import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DecrementIns;
-import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.SubtractIns;
-import com.jpexs.decompiler.flash.abc.avm2.model.IntegerValueAVM2Item;
-import com.jpexs.decompiler.flash.ecma.EcmaScript;
-import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
-import com.jpexs.decompiler.graph.CompilationException;
-import com.jpexs.decompiler.graph.GraphSourceItem;
-import com.jpexs.decompiler.graph.GraphTargetItem;
-import static com.jpexs.decompiler.graph.GraphTargetItem.toSourceMerge;
-import com.jpexs.decompiler.graph.SourceGenerator;
-import com.jpexs.decompiler.graph.model.BinaryOpItem;
-import com.jpexs.decompiler.graph.model.LocalData;
-import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
-import java.util.List;
-
-public class SubtractAVM2Item extends BinaryOpItem {
-
- public SubtractAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
- super(instruction, PRECEDENCE_ADDITIVE, leftSide, rightSide, "-");
- }
-
- @Override
- public Object getResult() {
- return EcmaScript.toNumber(leftSide.getResult()) - EcmaScript.toNumber(rightSide.getResult());
- }
-
- @Override
- public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
- if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too
- if (leftSide.getPrecedence() > precedence) {
- writer.append("(");
- leftSide.toString(writer, localData);
- writer.append(")");
- } else {
- leftSide.toString(writer, localData);
- }
- writer.append(" ");
- writer.append(operator);
- writer.append(" ");
-
- writer.append("(");
- rightSide.toString(writer, localData);
- return writer.append(")");
- } else {
- return super.appendTo(writer, localData);
- }
- }
-
- @Override
- public List toSource(SourceGeneratorLocalData localData, SourceGenerator generator) throws CompilationException {
- if (rightSide instanceof IntegerValueAVM2Item) {
- IntegerValueAVM2Item iv = (IntegerValueAVM2Item) rightSide;
- if (iv.value == 1) {
- return toSourceMerge(localData, generator, leftSide,
- new AVM2Instruction(0, new DecrementIns(), new int[]{}, new byte[0])
- );
- }
- }
- return toSourceMerge(localData, generator, leftSide, rightSide,
- new AVM2Instruction(0, new SubtractIns(), new int[]{}, new byte[0])
- );
- }
-
- @Override
- public GraphTargetItem returnType() {
- return new UnboundedTypeItem();
- }
-}
+/*
+ * Copyright (C) 2010-2014 JPEXS, All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3.0 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library.
*/
+package com.jpexs.decompiler.flash.abc.avm2.model.operations;
+
+import com.jpexs.decompiler.flash.SourceGeneratorLocalData;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.DecrementIns;
+import com.jpexs.decompiler.flash.abc.avm2.instructions.arithmetic.SubtractIns;
+import com.jpexs.decompiler.flash.abc.avm2.model.IntegerValueAVM2Item;
+import com.jpexs.decompiler.flash.ecma.EcmaScript;
+import com.jpexs.decompiler.flash.helpers.GraphTextWriter;
+import com.jpexs.decompiler.graph.CompilationException;
+import com.jpexs.decompiler.graph.GraphSourceItem;
+import com.jpexs.decompiler.graph.GraphTargetItem;
+import static com.jpexs.decompiler.graph.GraphTargetItem.toSourceMerge;
+import com.jpexs.decompiler.graph.SourceGenerator;
+import com.jpexs.decompiler.graph.model.BinaryOpItem;
+import com.jpexs.decompiler.graph.model.LocalData;
+import com.jpexs.decompiler.graph.model.UnboundedTypeItem;
+import java.util.List;
+
+public class SubtractAVM2Item extends BinaryOpItem {
+
+ public SubtractAVM2Item(AVM2Instruction instruction, GraphTargetItem leftSide, GraphTargetItem rightSide) {
+ super(instruction, PRECEDENCE_ADDITIVE, leftSide, rightSide, "-");
+ }
+
+ @Override
+ public Object getResult() {
+ return EcmaScript.toNumber(leftSide.getResult()) - EcmaScript.toNumber(rightSide.getResult());
+ }
+
+ @Override
+ public GraphTextWriter appendTo(GraphTextWriter writer, LocalData localData) throws InterruptedException {
+ if (rightSide.getPrecedence() >= precedence) { // >= add or subtract too
+ if (leftSide.getPrecedence() > precedence) {
+ writer.append("(");
+ leftSide.toString(writer, localData);
+ writer.append(")");
+ } else {
+ leftSide.toString(writer, localData);
+ }
+ writer.append(" ");
+ writer.append(operator);
+ writer.append(" ");
+
+ writer.append("(");
+ rightSide.toString(writer, localData);
+ return writer.append(")");
+ } else {
+ return super.appendTo(writer, localData);
+ }
+ }
+
+ @Override
+ public List