/*
* DeleteOperation.java
* @Author Oleg Gorobets
* Created: 25.07.2007
* CVS-ID: $Id:
*************************************************************************/
package org.swfparser.operation;
import java.util.Arrays;
import java.util.List;
import java.util.Stack;
import org.swfparser.CodeUtil;
import org.swfparser.Operation;
public class DeleteOperation extends AbstractOperation {
protected Operation object;
protected Operation property;
protected boolean simpleProperty = false;
public DeleteOperation(Stack<Operation> stack) {
super(stack);
property = stack.pop();
object = stack.pop();
}
public int getArgsNumber() {
return 2;
}
public String getStringValue(int level) {
StringBuilder buf = new StringBuilder();
buf.append(CodeUtil.getIndent(level));
buf.append("delete ");
buf.append(CodeUtil.getSimpleValue(object, level));
buf.append(CodeUtil.getMemberGetExpression(property, level));
return buf.toString();
}
public List<Operation> getOperations() {
return Arrays.asList(property,object);
}
@Override
public String toString() {
return "DeleteOperation("+object+","+property+")";
}
}