mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-06-03 09:25:31 +00:00
Fixed #1904 NullPointerException on decompiler pool
Fixed #1904 AS1/2 Simplify expressions breaks registers, functions
This commit is contained in:
@@ -109,7 +109,7 @@ public class DecompilerPool {
|
||||
|
||||
HighlightedText result = new HighlightedText(writer);
|
||||
Openable openable = pack.getOpenable();
|
||||
SWF swf = (openable instanceof SWF) ? (SWF) openable : ((ABC)openable).getSwf();
|
||||
SWF swf = (openable instanceof SWF) ? (SWF) openable : ((ABC) openable).getSwf();
|
||||
if (swf != null) {
|
||||
swf.as3Cache.put(pack, result);
|
||||
}
|
||||
@@ -210,13 +210,15 @@ public class DecompilerPool {
|
||||
if (!executor.awaitTermination(100, TimeUnit.SECONDS)) {
|
||||
}
|
||||
}
|
||||
|
||||
public void destroySwf(SWF swf){
|
||||
|
||||
public void destroySwf(SWF swf) {
|
||||
List<Future<HighlightedText>> futures = openableToFutures.get(swf);
|
||||
if(futures!=null){
|
||||
for(Future<HighlightedText> future:futures){
|
||||
future.cancel(true);
|
||||
}
|
||||
if (futures != null) {
|
||||
for (Future<HighlightedText> future : futures) {
|
||||
if (future != null) {
|
||||
future.cancel(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ public class DirectValueActionItem extends ActionItem implements SimpleValue {
|
||||
}
|
||||
dependencies.add(computedRegValue);
|
||||
}
|
||||
return (value instanceof Double) || (value instanceof Float) || (value instanceof Boolean) || (value instanceof Long) || (value == Null.INSTANCE) || (computedRegValue != null && computedRegValue.isCompileTime(dependencies)) || (value instanceof String) || (value instanceof ConstantIndex);
|
||||
return (value instanceof Double) || (value instanceof Float) || (value instanceof Boolean) || (value instanceof Long) || (value == Null.INSTANCE) || (value instanceof String) || (value instanceof ConstantIndex);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -225,6 +225,8 @@ public class FunctionActionItem extends ActionItem implements BranchStackResista
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
NOT COMPILE TIME! This causes problems in simplifyExpressions, etc.
|
||||
@Override
|
||||
public boolean isCompileTime(Set<GraphTargetItem> dependencies) {
|
||||
for (GraphTargetItem a : actions) {
|
||||
@@ -237,7 +239,7 @@ public class FunctionActionItem extends ActionItem implements BranchStackResista
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}*/
|
||||
|
||||
@Override
|
||||
public Object getResult() {
|
||||
|
||||
@@ -136,6 +136,8 @@ public class StoreRegisterActionItem extends ActionItem implements SetTypeAction
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
NOT COMPILE TIME! This causes problems in simplifyExpressions, etc.
|
||||
@Override
|
||||
public boolean isCompileTime(Set<GraphTargetItem> dependencies) {
|
||||
if (dependencies.contains(value)) {
|
||||
@@ -144,6 +146,7 @@ public class StoreRegisterActionItem extends ActionItem implements SetTypeAction
|
||||
dependencies.add(value);
|
||||
return value.isCompileTime(dependencies);
|
||||
}
|
||||
*/
|
||||
|
||||
@Override
|
||||
public Object getResult() {
|
||||
|
||||
Reference in New Issue
Block a user