Refactoring:

AVM2 / TreeItem => AVM2Item
Action / TreeItem => ActionItem
decompiler.flash.graph => decompiler.graph
This commit is contained in:
Jindra Pet��k
2013-07-16 05:40:32 +02:00
parent 49ef4c0961
commit bf195f1a6a
546 changed files with 3659 additions and 3517 deletions
@@ -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;
}
}