public class com.github.javaparser.printer.lexicalpreservation.Difference extends java.lang.Object
{
public static final int STANDARD_INDENTATION_SIZE;
private final com.github.javaparser.printer.lexicalpreservation.NodeText nodeText;
private final com.github.javaparser.ast.Node node;
private final java.util.List diffElements;
private final java.util.List originalElements;
private int originalIndex;
private int diffIndex;
private final java.util.List indentation;
private boolean addedIndentation;
void <init>(java.util.List, com.github.javaparser.printer.lexicalpreservation.NodeText, com.github.javaparser.ast.Node)
{
java.util.List v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
com.github.javaparser.ast.Node v;
java.lang.NullPointerException v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v := @parameter: com.github.javaparser.ast.Node;
specialinvoke v.<java.lang.Object: void <init>()>();
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = 0;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = 0;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean addedIndentation> = 0;
if v != null goto label;
v = new java.lang.NullPointerException;
specialinvoke v.<java.lang.NullPointerException: void <init>(java.lang.String)>("nodeText can not be null");
throw v;
label:
v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText> = v;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.ast.Node node> = v;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements> = v;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements> = v;
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.util.List findIndentation(com.github.javaparser.ast.Node)>(v);
v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation> = v;
return;
}
private java.util.List processIndentation(java.util.List, java.util.List)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v;
int v, v, v;
java.lang.Object v;
java.util.LinkedList v;
boolean v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v := @parameter: java.util.List;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>(java.util.Collection)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int lastIndexOfEol(java.util.List)>(v);
if v >= 0 goto label;
return v;
label:
interfaceinvoke v.<java.util.List: void clear()>();
v = v + 1;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
return v;
}
int lastIndexOfEol(java.util.List)
{
java.util.ListIterator v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v;
int v, v, v, v;
java.lang.Object v;
boolean v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: java.util.ListIterator listIterator(int)>(v);
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
label:
v = interfaceinvoke v.<java.util.ListIterator: boolean hasPrevious()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.ListIterator: java.lang.Object previous()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v == 0 goto label;
return v;
label:
v = v - 1;
goto label;
label:
v = (int) -1;
return v;
}
private java.util.List indentationBlock()
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v, v, v, v;
java.util.LinkedList v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int)>(1);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int)>(1);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int)>(1);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int)>(1);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return v;
}
private boolean isAfterLBrace(com.github.javaparser.printer.lexicalpreservation.NodeText, int)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.util.List v, v;
int v, v, v, v;
java.lang.Object v, v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v := @parameter: int;
if v <= 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(99);
if v == 0 goto label;
return 1;
label:
if v <= 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v - 1;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isAfterLBrace(com.github.javaparser.printer.lexicalpreservation.NodeText,int)>(v, v);
return v;
label:
return 0;
}
private int considerEnforcingIndentation(com.github.javaparser.printer.lexicalpreservation.NodeText, int)
{
java.lang.IllegalStateException v;
int v, v, v, v, v, v;
boolean v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.util.List v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v := @parameter: int;
v = 1;
v = v;
label:
if v < 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v != 0 goto label;
v = 0;
label:
v = v - 1;
goto label;
label:
v = v;
if v == 0 goto label;
v = v;
label:
if v < 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v != 0 goto label;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v;
v = v - 1;
goto label;
label:
if v >= 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
return v;
}
void apply()
{
java.util.Map v;
int v, v, v, v, v, v;
java.lang.String v;
boolean v, v, v, v, v, v, v;
java.lang.UnsupportedOperationException v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
java.util.List v, v, v, v, v;
java.lang.Object v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: void extractReshuffledDiffElements(java.util.List)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.Map combineRemovedElementsToRemovedGroups()>();
label:
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean applyLeftOverDiffElements()>();
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean applyLeftOverOriginalElements()>();
if v != 0 goto label;
if v != 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Added;
if v == 0 goto label;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: void applyAddedDiffElement(com.github.javaparser.printer.lexicalpreservation.Added)>(v);
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.ChildTextElement;
v = v instanceof com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Kept;
if v == 0 goto label;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: void applyKeptDiffElement(com.github.javaparser.printer.lexicalpreservation.Kept,com.github.javaparser.printer.lexicalpreservation.TextElement,boolean,boolean)>(v, v, v, v);
goto label;
label:
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Removed;
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: void applyRemovedDiffElement(com.github.javaparser.printer.lexicalpreservation.RemovedGroup,com.github.javaparser.printer.lexicalpreservation.Removed,com.github.javaparser.printer.lexicalpreservation.TextElement,boolean,boolean)>(v, v, v, v, v);
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.lexicalpreservation.DifferenceElement,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u vs \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
return;
}
private boolean applyLeftOverOriginalElements()
{
int v, v, v, v, v, v, v;
java.lang.String v;
boolean v, v;
java.lang.UnsupportedOperationException v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.util.List v, v, v;
java.lang.Object v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = 0;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpaceOrComment()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.lexicalpreservation.NodeText,com.github.javaparser.printer.lexicalpreservation.Difference,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("NodeText: \u. Difference: \u \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = 1;
label:
return v;
}
private boolean applyLeftOverDiffElements()
{
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
java.util.List v, v, v;
java.lang.Object v;
com.github.javaparser.printer.lexicalpreservation.TextElement v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = 0;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Kept;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Added;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Added: com.github.javaparser.printer.lexicalpreservation.TextElement toTextElement()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
label:
v = 1;
label:
return v;
}
private void extractReshuffledDiffElements(java.util.List)
{
java.lang.Integer v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Map v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.Kept v;
java.util.stream.Stream v;
com.github.javaparser.printer.lexicalpreservation.Added v, v;
com.github.javaparser.printer.concretesyntaxmodel.CsmMix v, v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v;
java.util.Optional v;
java.util.HashMap v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Removed v;
java.util.LinkedList v, v;
java.util.Iterator v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.Object v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Comparator v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Reshuffled;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Reshuffled: com.github.javaparser.printer.concretesyntaxmodel.CsmMix getPreviousOrder()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Reshuffled: com.github.javaparser.printer.concretesyntaxmodel.CsmMix getNextOrder()>();
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.Map getCorrespondanceBetweenNextOrderAndPreviousOrder(com.github.javaparser.printer.concretesyntaxmodel.CsmMix,com.github.javaparser.printer.concretesyntaxmodel.CsmMix)>(v, v);
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmMix: java.util.List getElements()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.ast.Node node>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List findIndexOfCorrespondingNodeTextElement(java.util.List,com.github.javaparser.printer.lexicalpreservation.NodeText,int,com.github.javaparser.ast.Node)>(v, v, v, v);
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = (int) -1;
if v == v goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.Difference$compareTo__1042: java.util.Comparator bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional max(java.util.Comparator)>(v);
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = virtualinvoke v.<java.util.Optional: java.lang.Object orElse(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmMix: java.util.List getElements()>();
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = (int) -1;
v = v;
v = v + 1;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = (int) -1;
if v != v goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v != 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
v = (int) -1;
if v != v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
goto label;
label:
interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(v);
v = v;
v = (int) -1;
if v == v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
label:
if v > v goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsKey(java.lang.Object)>(v);
if v == 0 goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v;
v = v + 1;
v = new com.github.javaparser.printer.lexicalpreservation.Added;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Added: void <init>(com.github.javaparser.printer.concretesyntaxmodel.CsmElement)>(v);
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(v, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmMix: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.Map: boolean containsValue(java.lang.Object)>(v);
if v == 0 goto label;
v = v;
v = v + 1;
v = new com.github.javaparser.printer.lexicalpreservation.Kept;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: void <init>(com.github.javaparser.printer.concretesyntaxmodel.CsmElement)>(v);
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(v, v);
goto label;
label:
v = v;
v = v + 1;
v = new com.github.javaparser.printer.lexicalpreservation.Removed;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: void <init>(com.github.javaparser.printer.concretesyntaxmodel.CsmElement)>(v);
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v;
v = v + 1;
v = new com.github.javaparser.printer.lexicalpreservation.Added;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Added: void <init>(com.github.javaparser.printer.concretesyntaxmodel.CsmElement)>(v);
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(v, v);
goto label;
label:
v = v + 1;
goto label;
label:
return;
}
private java.util.Map combineRemovedElementsToRemovedGroups()
{
java.util.HashMap v;
java.util.ArrayList v;
java.util.Map v;
boolean v, v, v;
com.github.javaparser.printer.lexicalpreservation.RemovedGroup v;
java.util.Iterator v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.Set v;
java.lang.Object v, v, v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.Map groupConsecutiveRemovedElements()>();
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.Map: java.util.Set entrySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getValue()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.RemovedGroup: com.github.javaparser.printer.lexicalpreservation.RemovedGroup of(java.lang.Integer,java.util.List)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
return v;
}
private java.util.Map groupConsecutiveRemovedElements()
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.HashMap v;
java.lang.Integer v;
java.util.function.Function v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
java.util.List v, v;
int v, v;
java.lang.Object v, v;
boolean v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = null;
v = 0;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Removed;
if v == 0 goto label;
if v != null goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
label:
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.Difference$lambda_groupConsecutiveRemovedElements_0__1043: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = null;
label:
v = v + 1;
goto label;
label:
return v;
}
private void applyRemovedDiffElement(com.github.javaparser.printer.lexicalpreservation.RemovedGroup, com.github.javaparser.printer.lexicalpreservation.Removed, com.github.javaparser.printer.lexicalpreservation.TextElement, boolean, boolean)
{
com.github.javaparser.printer.lexicalpreservation.RemovedGroup v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TextElement v;
java.lang.String v, v;
java.lang.UnsupportedOperationException v, v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v, v, v, v;
com.github.javaparser.ast.Node v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.JavaToken v;
java.util.List v, v, v, v, v, v, v, v;
java.util.Optional v, v;
com.github.javaparser.JavaToken$Category v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Removed v;
com.github.javaparser.printer.lexicalpreservation.NodeText v, v, v, v, v, v;
java.lang.Object v, v, v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.RemovedGroup;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.Removed;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TextElement;
v := @parameter: boolean;
v := @parameter: boolean;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: boolean isChild()>();
if v == 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.ChildTextElement: boolean isComment()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.ChildTextElement: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<com.github.javaparser.ast.comments.Comment: boolean isOrphan()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.comments.Comment: java.util.Optional getCommentedNode()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.comments.Comment: java.util.Optional getCommentedNode()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<com.github.javaparser.ast.Node: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Added;
if v != 0 goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: boolean isACompleteLine()>();
if v != 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int considerEnforcingIndentation(com.github.javaparser.printer.lexicalpreservation.NodeText,int)>(v, v);
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v <= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v <= 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v == v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Kept;
if v == 0 goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(v);
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: boolean isToken()>();
if v == 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: int getTokenType()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: int getTokenKind()>();
if v == v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: com.github.javaparser.JavaToken getToken()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken: com.github.javaparser.JavaToken$Category getCategory()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken$Category: boolean isEndOfLine()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: boolean isNewLine()>();
if v == 0 goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpaceOrComment()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isLiteral()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: boolean isPrimitiveType()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isPrimitive()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("removed \u vs \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: boolean isWhiteSpace()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmIndent;
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmUnindent;
if v == 0 goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Removed: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("removed \u vs \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: void cleanTheLineOfLeftOverSpace(com.github.javaparser.printer.lexicalpreservation.RemovedGroup,com.github.javaparser.printer.lexicalpreservation.Removed)>(v, v);
return;
}
private void cleanTheLineOfLeftOverSpace(com.github.javaparser.printer.lexicalpreservation.RemovedGroup, com.github.javaparser.printer.lexicalpreservation.Removed)
{
java.lang.Integer v;
boolean v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.RemovedGroup v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v, v;
java.util.Optional v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Removed v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v, v;
java.lang.Object v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.RemovedGroup;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.Removed;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v < v goto label;
return;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: boolean isProcessed()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: com.github.javaparser.printer.lexicalpreservation.Removed getLastElement()>();
if v != v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: boolean isACompleteLine()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: java.lang.Integer getLastElementIndex()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: java.util.Optional getIndentation()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isReplaced(int)>(v);
if v != 0 goto label;
v = 0;
label:
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
if v >= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v < 1 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
label:
v = v + 1;
goto label;
label:
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.RemovedGroup: void processed()>();
label:
return;
}
private void applyKeptDiffElement(com.github.javaparser.printer.lexicalpreservation.Kept, com.github.javaparser.printer.lexicalpreservation.TextElement, boolean, boolean)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.Kept v;
com.github.javaparser.printer.lexicalpreservation.TextElement v, v;
java.lang.String v, v, v;
java.lang.UnsupportedOperationException v, v, v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v, v, v, v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.Kept;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TextElement;
v := @parameter: boolean;
v := @parameter: boolean;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isComment()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isChild()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = v instanceof com.github.javaparser.ast.comments.Comment;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isChild()>();
if v == 0 goto label;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isChild()>();
if v == 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpaceOrComment()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isIdentifier()>();
if v == 0 goto label;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isNodeWithTypeArguments(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)>(v);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int getIndexToNextTokenElement(com.github.javaparser.printer.lexicalpreservation.TokenTextElement,int)>(v, 0);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + v;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isIdentifier()>();
if v == 0 goto label;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isTypeWithFullyQualifiedName(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)>(v);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int getIndexToNextTokenElement(com.github.javaparser.printer.lexicalpreservation.TokenTextElement,com.github.javaparser.printer.lexicalpreservation.DifferenceElement)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + v;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isIdentifier()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isKeyword()>();
if v == 0 goto label;
label:
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isArrayType(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)>(v);
if v == 0 goto label;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int getArrayLevel(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int getIndexToNextTokenElementInArrayType(com.github.javaparser.printer.lexicalpreservation.TokenTextElement,int)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + v;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isIdentifier()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isPrimitiveType()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("kept \u vs \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isToken()>();
if v == 0 goto label;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: int getTokenType()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: int getTokenKind()>();
if v != v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isNewLine()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: boolean isNewline()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isNewLine()>();
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isWhiteSpaceOrComment()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: boolean isWhiteSpaceOrComment()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isNewLine()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: boolean isSeparator()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.lexicalpreservation.TokenTextElement)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Csm token \u NodeText TOKEN \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isToken()>();
if v == 0 goto label;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isWhiteSpace()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isIndent()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: boolean isUnindent()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean openBraceWasOnSameLine()>();
if v != 0 goto label;
v = 0;
label:
if v >= 4 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v < 1 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void removeElement(int)>(v);
v = v + 1;
goto label;
label:
v = new java.lang.UnsupportedOperationException;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Kept: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("kept \u vs \u0001");
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
return;
}
private int getArrayLevel(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)
{
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
int v;
com.github.javaparser.ast.Node v, v;
boolean v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.DifferenceElement;
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = v instanceof com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = v instanceof com.github.javaparser.ast.type.ArrayType;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<com.github.javaparser.ast.type.ArrayType: int getArrayLevel()>();
return v;
label:
return 0;
}
private boolean isArrayType(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)
{
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.ast.Node v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.DifferenceElement;
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = v instanceof com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = v instanceof com.github.javaparser.ast.type.ArrayType;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isTypeWithFullyQualifiedName(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)
{
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
java.util.Optional v;
java.lang.Class v, v;
com.github.javaparser.ast.Node v, v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.DifferenceElement;
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: boolean isChild()>();
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = class "Lcom/github/javaparser/ast/type/ClassOrInterfaceType;";
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<com.github.javaparser.ast.type.ClassOrInterfaceType: java.util.Optional getScope()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
return v;
}
private boolean isNodeWithTypeArguments(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)
{
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
int v;
java.util.Optional v;
java.lang.Class v, v;
java.lang.Object v;
com.github.javaparser.ast.Node v, v;
boolean v, v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.DifferenceElement;
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: boolean isChild()>();
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = class "Lcom/github/javaparser/ast/nodeTypes/NodeWithTypeArguments;";
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: boolean isAssignableFrom(java.lang.Class)>(v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = interfaceinvoke v.<com.github.javaparser.ast.nodeTypes.NodeWithTypeArguments: java.util.Optional getTypeArguments()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<com.github.javaparser.ast.NodeList: int size()>();
if v <= 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private int getIndexToNextTokenElement(com.github.javaparser.printer.lexicalpreservation.TokenTextElement, com.github.javaparser.printer.lexicalpreservation.DifferenceElement)
{
java.lang.String[] v;
int v, v, v;
java.lang.String v, v, v, v;
com.github.javaparser.ast.Node v;
boolean v, v, v;
com.github.javaparser.JavaToken v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v;
com.github.javaparser.printer.lexicalpreservation.DifferenceElement v;
java.util.Optional v, v;
java.lang.Object v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.DifferenceElement;
v = 0;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isTypeWithFullyQualifiedName(com.github.javaparser.printer.lexicalpreservation.DifferenceElement)>(v);
if v != 0 goto label;
return 0;
label:
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<com.github.javaparser.ast.type.ClassOrInterfaceType: java.lang.String getNameWithScope()>();
v = virtualinvoke v.<java.lang.String: java.lang.String[] split(java.lang.String)>("\\.");
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: com.github.javaparser.JavaToken getToken()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.lang.String asString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.util.Optional getNextToken()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.lang.String asString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(".");
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.util.Optional getNextToken()>();
virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = v + 2;
goto label;
label:
v = 0;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
private int getIndexToNextTokenElement(com.github.javaparser.printer.lexicalpreservation.TokenTextElement, int)
{
com.github.javaparser.JavaToken$Kind v, v;
com.github.javaparser.JavaToken$Category v;
int v, v, v, v;
boolean v, v, v, v;
com.github.javaparser.JavaToken v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v, v;
java.util.Optional v;
java.lang.Object v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
v := @parameter: int;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: com.github.javaparser.JavaToken getToken()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.util.Optional getNextToken()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken: int getKind()>();
v = staticinvoke <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind valueOf(int)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isDiamondOperator(com.github.javaparser.JavaToken$Kind)>(v);
if v == 0 goto label;
v = <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind GT>;
v = virtualinvoke v.<com.github.javaparser.JavaToken$Kind: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v - 1;
goto label;
label:
v = v + 1;
label:
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.JavaToken: com.github.javaparser.JavaToken$Category getCategory()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken$Category: boolean isWhitespace()>();
if v != 0 goto label;
return 1;
label:
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(com.github.javaparser.JavaToken)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int getIndexToNextTokenElement(com.github.javaparser.printer.lexicalpreservation.TokenTextElement,int)>(v, v);
v = 1 + v;
return v;
}
private int getIndexToNextTokenElementInArrayType(com.github.javaparser.printer.lexicalpreservation.TokenTextElement, int)
{
com.github.javaparser.JavaToken$Kind v, v;
com.github.javaparser.JavaToken$Category v;
int v, v, v, v;
boolean v, v, v, v;
com.github.javaparser.JavaToken v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v, v;
java.util.Optional v;
java.lang.Object v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
v := @parameter: int;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: com.github.javaparser.JavaToken getToken()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.util.Optional getNextToken()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken: int getKind()>();
v = staticinvoke <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind valueOf(int)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isBracket(com.github.javaparser.JavaToken$Kind)>(v);
if v == 0 goto label;
v = <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind RBRACKET>;
v = virtualinvoke v.<com.github.javaparser.JavaToken$Kind: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = v - 1;
label:
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.JavaToken: com.github.javaparser.JavaToken$Category getCategory()>();
v = virtualinvoke v.<com.github.javaparser.JavaToken$Category: boolean isWhitespace()>();
if v != 0 goto label;
return 1;
label:
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(com.github.javaparser.JavaToken)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int getIndexToNextTokenElementInArrayType(com.github.javaparser.printer.lexicalpreservation.TokenTextElement,int)>(v, v);
v = 1 + v;
return v;
}
private boolean isDiamondOperator(com.github.javaparser.JavaToken$Kind)
{
com.github.javaparser.JavaToken$Kind v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.JavaToken$Kind;
v = <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind GT>;
v = virtualinvoke v.<com.github.javaparser.JavaToken$Kind: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind LT>;
v = virtualinvoke v.<com.github.javaparser.JavaToken$Kind: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isBracket(com.github.javaparser.JavaToken$Kind)
{
com.github.javaparser.JavaToken$Kind v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.JavaToken$Kind;
v = <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind LBRACKET>;
v = virtualinvoke v.<com.github.javaparser.JavaToken$Kind: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = <com.github.javaparser.JavaToken$Kind: com.github.javaparser.JavaToken$Kind RBRACKET>;
v = virtualinvoke v.<com.github.javaparser.JavaToken$Kind: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean openBraceWasOnSameLine()
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v, v;
int v;
com.github.javaparser.printer.lexicalpreservation.TextElement v, v;
boolean v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
label:
if v < 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v != 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(99);
if v == 0 goto label;
return 1;
label:
v = v - 1;
goto label;
label:
return 0;
}
private boolean wasSpaceBetweenBraces()
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.util.List v;
int v, v, v, v, v, v;
java.lang.Object v;
com.github.javaparser.printer.lexicalpreservation.TextElement v;
boolean v, v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(100);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean doWeHaveLeftBraceFollowedBySpace(int)>(v);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
if v < 2 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v - 2;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: boolean isRemoved()>();
if v != 0 goto label;
label:
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean doWeHaveLeftBraceFollowedBySpace(int)
{
java.util.List v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
int v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.Object v;
boolean v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: int;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int rewindSpace(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(99);
return v;
}
private int rewindSpace(int)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.util.List v;
int v, v, v;
java.lang.Object v;
boolean v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: int;
if v > 0 goto label;
return v;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
v = v - 1;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int rewindSpace(int)>(v);
return v;
label:
return v;
}
private boolean nextIsRightBrace(int)
{
java.util.Iterator v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v, v;
int v, v;
java.lang.Object v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: int;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(100);
return v;
label:
return 0;
}
private void applyAddedDiffElement(com.github.javaparser.printer.lexicalpreservation.Added)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TextElement v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Added v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.Object v, v, v, v, v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.Added;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Added: boolean isIndent()>();
if v == 0 goto label;
v = 0;
label:
if v >= 4 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int)>(1);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean addedIndentation> = 1;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
return;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Added: boolean isUnindent()>();
if v == 0 goto label;
v = 0;
label:
if v >= 4 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = interfaceinvoke v.<java.util.List: boolean isEmpty()>();
if v != 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(v);
v = v + 1;
goto label;
label:
v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean addedIndentation> = 0;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
return;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.Added: com.github.javaparser.printer.lexicalpreservation.TextElement toTextElement()>();
v = 0;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v <= 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List processIndentation(java.util.List,java.util.List)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean nextIsRightBrace(int)>(v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
if v != 0 goto label;
v = v instanceof com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: int getTokenKind()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(v);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isAfterLBrace(com.github.javaparser.printer.lexicalpreservation.NodeText,int)>(v, v);
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isAReplacement(int)>(v);
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v == 0 goto label;
v = 1;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
v = staticinvoke <com.github.javaparser.TokenTypes: int eolTokenKind()>();
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int)>(v);
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v < 2 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 2;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 2;
interfaceinvoke v.<java.util.List: java.lang.Object remove(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List originalElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List processIndentation(java.util.List,java.util.List)>(v, v);
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean addedIndentation>;
if v != 0 goto label;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentationBlock()>();
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
goto label;
label:
if v != 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: int numberOfElements()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 2;
if v <= v goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isComment()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v <= 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isComment()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v != 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
if v <= 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v - 1;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
v = v;
if v == 0 goto label;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 2;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int adjustIndentation(java.util.List,com.github.javaparser.printer.lexicalpreservation.NodeText,int,boolean)>(v, v, v, 0);
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
if v == 0 goto label;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int adjustIndentation(java.util.List,com.github.javaparser.printer.lexicalpreservation.NodeText,int,boolean)>(v, v, v, 0);
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isChild()>();
if v == 0 goto label;
if v != 0 goto label;
if v != 0 goto label;
if v != 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addElement(int,com.github.javaparser.printer.lexicalpreservation.TextElement)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isFollowedByUnindent(java.util.List,int)>(v, v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean nextIsRightBrace(int)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isNewline()>();
if v != 0 goto label;
if v == 0 goto label;
label:
if v == 0 goto label;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List indentation>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: com.github.javaparser.printer.lexicalpreservation.NodeText nodeText>;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex>;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: int adjustIndentation(java.util.List,com.github.javaparser.printer.lexicalpreservation.NodeText,int,boolean)>(v, v, v, v);
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int originalIndex> = v;
label:
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex>;
v = v + 1;
v.<com.github.javaparser.printer.lexicalpreservation.Difference: int diffIndex> = v;
return;
}
private java.lang.String tokenDescription(int)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
int v;
java.lang.String[] v;
java.lang.String v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: int;
v = <com.github.javaparser.GeneratedJavaParserConstants: java.lang.String[] tokenImage>;
v = v[v];
return v;
}
private java.util.Map getCorrespondanceBetweenNextOrderAndPreviousOrder(com.github.javaparser.printer.concretesyntaxmodel.CsmMix, com.github.javaparser.printer.concretesyntaxmodel.CsmMix)
{
com.github.javaparser.printer.concretesyntaxmodel.CsmMix v, v;
java.util.HashMap v;
java.lang.Integer v, v;
int v, v, v, v, v, v;
boolean v, v, v;
java.util.Collection v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v;
com.github.javaparser.printer.lexicalpreservation.WrappingRangeIterator v;
java.lang.Object v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.concretesyntaxmodel.CsmMix;
v := @parameter: com.github.javaparser.printer.concretesyntaxmodel.CsmMix;
v = new java.util.HashMap;
specialinvoke v.<java.util.HashMap: void <init>()>();
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmMix: java.util.List getElements()>();
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmMix: java.util.List getElements()>();
v = new com.github.javaparser.printer.lexicalpreservation.WrappingRangeIterator;
v = interfaceinvoke v.<java.util.List: int size()>();
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.WrappingRangeIterator: void <init>(int)>(v);
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = 0;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = 0;
label:
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.WrappingRangeIterator: java.lang.Integer next()>();
v = virtualinvoke v.<java.lang.Integer: int intValue()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<java.util.Map: java.util.Collection values()>();
v = interfaceinvoke v.<java.util.Collection: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.DifferenceElementCalculator: boolean matching(com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.concretesyntaxmodel.CsmElement)>(v, v);
if v == 0 goto label;
v = 1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = v + 1;
goto label;
label:
return v;
}
private boolean isFollowedByUnindent(java.util.List, int)
{
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v;
int v, v, v;
java.lang.Object v, v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v := @parameter: int;
v = v + 1;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: boolean isAdded()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = interfaceinvoke v.<com.github.javaparser.printer.lexicalpreservation.DifferenceElement: com.github.javaparser.printer.concretesyntaxmodel.CsmElement getElement()>();
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmUnindent;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private java.util.List findIndexOfCorrespondingNodeTextElement(java.util.List, com.github.javaparser.printer.lexicalpreservation.NodeText, int, com.github.javaparser.ast.Node)
{
java.util.ListIterator v;
java.lang.Integer v, v, v, v, v, v, v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v, v, v;
java.util.EnumMap v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.Set v;
java.util.List v, v, v;
java.util.stream.Stream v;
java.util.Optional v;
com.github.javaparser.printer.lexicalpreservation.TextElement v, v, v;
java.util.function.Function v;
java.util.ArrayList v;
int v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.Object v, v, v, v, v;
java.util.Comparator v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v := @parameter: int;
v := @parameter: com.github.javaparser.ast.Node;
v = new java.util.ArrayList;
specialinvoke v.<java.util.ArrayList: void <init>()>();
v = interfaceinvoke v.<java.util.List: java.util.ListIterator listIterator()>();
label:
v = interfaceinvoke v.<java.util.ListIterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.ListIterator: int previousIndex()>();
v = interfaceinvoke v.<java.util.ListIterator: java.lang.Object next()>();
v = interfaceinvoke v.<java.util.ListIterator: int nextIndex()>();
v = new java.util.EnumMap;
specialinvoke v.<java.util.EnumMap: void <init>(java.lang.Class)>(class "Lcom/github/javaparser/printer/lexicalpreservation/Difference$MatchClassification;");
v = v;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v = interfaceinvoke v.<java.util.List: boolean contains(java.lang.Object)>(v);
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement,com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.ast.Node)>(v, v, v);
if v == 0 goto label;
v = 0;
if v <= 0 goto label;
v = (int) -1;
if v <= v goto label;
v = v - 1;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement,com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.ast.Node)>(v, v, v);
label:
v = 0;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
if v >= v goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = v + 1;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: com.github.javaparser.printer.lexicalpreservation.TextElement getTextElement(int)>(v);
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement,com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.ast.Node)>(v, v, v);
label:
if v == 0 goto label;
if v == 0 goto label;
v = <com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification: com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification ALL>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
if v == 0 goto label;
v = <com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification: com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification PREVIOUS_AND_SAME>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
if v == 0 goto label;
v = <com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification: com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification NEXT_AND_SAME>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = <com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification: com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification SAME_ONLY>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
goto label;
label:
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isAlmostCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement,com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.ast.Node)>(v, v, v);
if v == 0 goto label;
v = <com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification: com.github.javaparser.printer.lexicalpreservation.Difference$MatchClassification ALMOST>;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.Map: java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object)>(v, v);
label:
v = v + 1;
goto label;
label:
v = interfaceinvoke v.<java.util.Map: java.util.Set keySet()>();
v = interfaceinvoke v.<java.util.Set: java.util.stream.Stream stream()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.Difference$getPriority__1044: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Optional min(java.util.Comparator)>(v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = interfaceinvoke v.<java.util.Map: java.lang.Object get(java.lang.Object)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = (int) -1;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
return v;
}
private boolean isCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement, com.github.javaparser.printer.concretesyntaxmodel.CsmElement, com.github.javaparser.ast.Node)
{
int v, v;
java.lang.String v, v;
com.github.javaparser.ast.Node v, v, v;
boolean v, v, v, v, v, v, v;
java.lang.UnsupportedOperationException v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TextElement v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TextElement;
v := @parameter: com.github.javaparser.printer.concretesyntaxmodel.CsmElement;
v := @parameter: com.github.javaparser.ast.Node;
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmToken;
if v == 0 goto label;
v = v instanceof com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: int getTokenKind()>();
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmToken: int getTokenType()>();
if v != v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: java.lang.String getText()>();
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmToken: java.lang.String getContent(com.github.javaparser.ast.Node)>(v);
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = v instanceof com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild;
if v == 0 goto label;
v = v instanceof com.github.javaparser.printer.lexicalpreservation.ChildTextElement;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.ChildTextElement: com.github.javaparser.ast.Node getChild()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CsmChild: com.github.javaparser.ast.Node getChild()>();
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
label:
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>()>();
throw v;
label:
return 0;
}
private boolean isAlmostCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement, com.github.javaparser.printer.concretesyntaxmodel.CsmElement, com.github.javaparser.ast.Node)
{
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
com.github.javaparser.printer.lexicalpreservation.TextElement v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.TextElement;
v := @parameter: com.github.javaparser.printer.concretesyntaxmodel.CsmElement;
v := @parameter: com.github.javaparser.ast.Node;
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: boolean isCorrespondingElement(com.github.javaparser.printer.lexicalpreservation.TextElement,com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.ast.Node)>(v, v, v);
if v == 0 goto label;
return 0;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isWhiteSpace()>();
if v == 0 goto label;
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmToken;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmToken: boolean isWhiteSpace()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private int adjustIndentation(java.util.List, com.github.javaparser.printer.lexicalpreservation.NodeText, int, boolean)
{
java.lang.IllegalStateException v;
boolean v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v, v, v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v;
java.util.Iterator v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.Object v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: java.util.List;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v := @parameter: int;
v := @parameter: boolean;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
v = specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List processIndentation(java.util.List,java.util.List)>(v, v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isToken(int)>(100);
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = interfaceinvoke v.<java.util.List: int size()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(4, v);
v = v - v;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
goto label;
label:
if v == 0 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 4;
v = staticinvoke <java.lang.Math: int max(int,int)>(0, v);
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
label:
v = interfaceinvoke v.<java.util.List: java.util.Iterator iterator()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: int size()>();
if v >= v goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElement: boolean isSpaceOrTab()>();
if v == 0 goto label;
v = v + 1;
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.util.List getElements()>();
v = v;
v = v + 1;
interfaceinvoke v.<java.util.List: void add(int,java.lang.Object)>(v, v);
goto label;
label:
if v >= 0 goto label;
v = new java.lang.IllegalStateException;
specialinvoke v.<java.lang.IllegalStateException: void <init>()>();
throw v;
label:
return v;
}
private boolean isAReplacement(int)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v;
int v, v;
java.lang.Object v, v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: int;
if v <= 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Added;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v - 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Removed;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
private boolean isReplaced(int)
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v, v, v;
int v, v, v, v;
java.lang.Object v, v;
boolean v, v, v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v := @parameter: int;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: int size()>();
v = v - 1;
if v >= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = v + 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Added;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.lexicalpreservation.Removed;
if v == 0 goto label;
v = 1;
goto label;
label:
v = 0;
label:
return v;
}
public java.lang.String toString()
{
com.github.javaparser.printer.lexicalpreservation.Difference v;
java.util.List v;
java.lang.String v;
v := @this: com.github.javaparser.printer.lexicalpreservation.Difference;
v = v.<com.github.javaparser.printer.lexicalpreservation.Difference: java.util.List diffElements>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.util.List)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("Difference{\u0001}");
return v;
}
}