public class org.apache.commons.collections.sequence.ReplacementsFinder extends java.lang.Object implements org.apache.commons.collections.sequence.CommandVisitor
{
private final java.util.List pendingInsertions;
private final java.util.List pendingDeletions;
private int skipped;
private final org.apache.commons.collections.sequence.ReplacementsHandler handler;
public void <init>(org.apache.commons.collections.sequence.ReplacementsHandler)
{
org.apache.commons.collections.sequence.ReplacementsHandler v;
org.apache.commons.collections.sequence.ReplacementsFinder v;
java.util.ArrayList v, v;
v := @this: org.apache.commons.collections.sequence.ReplacementsFinder;
v := @parameter: org.apache.commons.collections.sequence.ReplacementsHandler;
specialinvoke v.<java.lang.Object: void <init>()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingInsertions> = v;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingDeletions> = v;
v.<org.apache.commons.collections.sequence.ReplacementsFinder: int skipped> = 0;
v.<org.apache.commons.collections.sequence.ReplacementsFinder: org.apache.commons.collections.sequence.ReplacementsHandler handler> = v;
return;
}
public void visitInsertCommand(java.lang.Object)
{
java.lang.Object v;
java.util.List v;
org.apache.commons.collections.sequence.ReplacementsFinder v;
v := @this: org.apache.commons.collections.sequence.ReplacementsFinder;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingInsertions>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
public void visitKeepCommand(java.lang.Object)
{
org.apache.commons.collections.sequence.ReplacementsHandler v;
org.apache.commons.collections.sequence.ReplacementsFinder v;
java.util.List v, v, v, v, v, v;
int v, v, v;
java.lang.Object v;
boolean v, v;
v := @this: org.apache.commons.collections.sequence.ReplacementsFinder;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingDeletions>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingInsertions>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v == 0 goto label;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: int skipped>;
v = v + 1;
v.<org.apache.commons.collections.sequence.ReplacementsFinder: int skipped> = v;
goto label;
label:
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: org.apache.commons.collections.sequence.ReplacementsHandler handler>;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: int skipped>;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingDeletions>;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingInsertions>;
interfaceinvoke v.<org.apache.commons.collections.sequence.ReplacementsHandler: void handleReplacement(int,java.util.List,java.util.List)>(v, v, v);
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingDeletions>;
interfaceinvoke v.<java.util.List: void clear()>();
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingInsertions>;
interfaceinvoke v.<java.util.List: void clear()>();
v.<org.apache.commons.collections.sequence.ReplacementsFinder: int skipped> = 1;
label:
return;
}
public void visitDeleteCommand(java.lang.Object)
{
java.lang.Object v;
java.util.List v;
org.apache.commons.collections.sequence.ReplacementsFinder v;
v := @this: org.apache.commons.collections.sequence.ReplacementsFinder;
v := @parameter: java.lang.Object;
v = v.<org.apache.commons.collections.sequence.ReplacementsFinder: java.util.List pendingDeletions>;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
}