Merge origin/master

Conflicts:
	libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/abc/avm2/AVM2Code.java
This commit is contained in:
Jindra Petřík
2014-11-04 20:58:15 +01:00
90 changed files with 1977 additions and 2502 deletions
@@ -1207,7 +1207,7 @@ public class ABC {
}
}
}
boolean isDocumentClass = documentClass.equals(pack.getPath().toString());
boolean isDocumentClass = documentClass.equals(pack.getClassPath().toString());
ScriptInfo si = script_info.get(oldIndex);
si.delete(this, true);
@@ -245,7 +245,7 @@ public class ABCInputStream implements AutoCloseable {
return is.available();
}
private final long readLong() throws IOException {
private long readLong() throws IOException {
byte[] readBuffer = safeRead(8);
return (((long) readBuffer[7] << 56)
+ ((long) (readBuffer[6] & 255) << 48)
@@ -26,7 +26,7 @@ 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.decompiler.flash.treeitems.AS3ClassTreeItem;
import com.jpexs.helpers.CancellableWorker;
import com.jpexs.helpers.Helper;
import java.io.File;
@@ -46,7 +46,7 @@ import java.util.logging.Logger;
*
* @author JPEXS
*/
public class ScriptPack implements TreeElementItem {
public class ScriptPack extends AS3ClassTreeItem {
public final ABC abc;
public final int scriptIndex;
@@ -58,11 +58,12 @@ public class ScriptPack implements TreeElementItem {
return abc.swf;
}
public ClassPath getPath() {
public ClassPath getClassPath() {
return path;
}
public ScriptPack(ClassPath path, ABC abc, int scriptIndex, List<Integer> traitIndices) {
super(path.className, path.toString());
this.abc = abc;
this.scriptIndex = scriptIndex;
this.traitIndices = traitIndices;
@@ -178,7 +179,7 @@ public class ScriptPack implements TreeElementItem {
public File export(String directory, List<ABCContainerTag> abcList, ScriptExportMode exportMode, boolean parallel) throws IOException {
String scriptName = getPathScriptName();
String packageName = getPathPackage();
File outDir = new File(directory + File.separatorChar + makeDirPath(packageName));
File outDir = new File(directory + File.separatorChar + "scripts" + File.separatorChar + makeDirPath(packageName));
if (!outDir.exists()) {
if (!outDir.mkdirs()) {
if (!outDir.exists()) {
@@ -44,7 +44,7 @@ public class Multiname {
public List<Integer> params; //for TypeName
public boolean deleted;
public boolean validType() {
private boolean validType() {
boolean cnt = false;
for (int i = 0; i < multinameKinds.length; i++) {
if (multinameKinds[i] == kind) {