mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-27 11:40:45 +00:00
Refactoring:
AVM2 / TreeItem => AVM2Item Action / TreeItem => ActionItem decompiler.flash.graph => decompiler.graph
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
package com.jpexs.decompiler.graph.model;
|
||||
|
||||
import com.jpexs.decompiler.flash.action.model.operations.Inverted;
|
||||
import com.jpexs.decompiler.flash.ecma.EcmaScript;
|
||||
import com.jpexs.decompiler.graph.GraphSourceItem;
|
||||
import com.jpexs.decompiler.graph.GraphTargetItem;
|
||||
import com.jpexs.decompiler.graph.SourceGenerator;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author JPEXS
|
||||
*/
|
||||
public class NotItem extends UnaryOpItem implements LogicalOpItem, Inverted {
|
||||
|
||||
public NotItem(GraphSourceItem instruction, GraphTargetItem value) {
|
||||
super(instruction, PRECEDENCE_UNARY, value, "!");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getResult() {
|
||||
Object ret = EcmaScript.toBoolean(value.getResult());
|
||||
if (ret == Boolean.TRUE) {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
if (ret == Boolean.FALSE) {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isCompileTime() {
|
||||
return value.isCompileTime();
|
||||
}
|
||||
|
||||
@Override
|
||||
public GraphTargetItem invert() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public GraphTargetItem getOriginal() {
|
||||
return value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GraphSourceItem> toSource(List<Object> localData, SourceGenerator generator) {
|
||||
return generator.generate(localData, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasReturnValue() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user