public class com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter extends java.lang.Object
{
private static java.lang.String JAVA_UTIL_OPTIONAL;
private static java.lang.String JAVAPARSER_AST_NODELIST;
private static com.github.javaparser.ast.observer.AstObserver observer;
public static final com.github.javaparser.ast.DataKey NODE_TEXT_DATA;
private static final com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator LEXICAL_DIFFERENCE_CALCULATOR;
public void <init>()
{
com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter v;
v := @this: com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static com.github.javaparser.ast.Node setup(com.github.javaparser.ast.Node)
{
java.util.function.Consumer v;
com.github.javaparser.ast.observer.AstObserver v, v;
java.util.Optional v;
com.github.javaparser.ast.Node v;
v := @parameter: com.github.javaparser.ast.Node;
staticinvoke <com.github.javaparser.utils.Utils: java.lang.Object assertNotNull(java.lang.Object)>(v);
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.observer.AstObserver observer>;
if v != null goto label;
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.observer.AstObserver createObserver()>();
<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.observer.AstObserver observer> = v;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getTokenRange()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_setup_0__1033: java.util.function.Consumer bootstrap$(com.github.javaparser.ast.Node)>(v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
return v;
}
private static com.github.javaparser.ast.observer.AstObserver createObserver()
{
com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$Observer v;
v = new com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$Observer;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$Observer: void <init>()>();
return v;
}
private static void storeInitialText(com.github.javaparser.ast.Node)
{
java.util.function.Consumer v;
java.util.IdentityHashMap v;
java.util.Optional v;
com.github.javaparser.ast.Node v;
v := @parameter: com.github.javaparser.ast.Node;
v = new java.util.IdentityHashMap;
specialinvoke v.<java.util.IdentityHashMap: void <init>()>();
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getTokenRange()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_storeInitialText_3__1034: java.util.function.Consumer bootstrap$(com.github.javaparser.ast.Node,java.util.Map)>(v, v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
return;
}
private static java.util.Optional findNodeForToken(com.github.javaparser.ast.Node, com.github.javaparser.Range)
{
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v;
com.github.javaparser.Range v;
java.util.Iterator v;
java.util.List v;
java.util.Optional v, v, v, v, v, v;
java.lang.Object v, v;
v := @parameter: com.github.javaparser.ast.Node;
v := @parameter: com.github.javaparser.Range;
v = virtualinvoke v.<com.github.javaparser.ast.Node: boolean isPhantom()>();
if v == 0 goto label;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: boolean hasRange()>();
if v != 0 goto label;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getRange()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = virtualinvoke v.<com.github.javaparser.Range: boolean contains(com.github.javaparser.Range)>(v);
if v != 0 goto label;
v = staticinvoke <java.util.Optional: java.util.Optional empty()>();
return v;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.List getChildNodes()>();
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 = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.util.Optional findNodeForToken(com.github.javaparser.ast.Node,com.github.javaparser.Range)>(v, v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
return v;
label:
v = staticinvoke <java.util.Optional: java.util.Optional of(java.lang.Object)>(v);
return v;
}
private static void storeInitialTextForOneNode(com.github.javaparser.ast.Node, java.util.List)
{
java.util.function.Function v, v;
com.github.javaparser.utils.Pair v, v;
com.github.javaparser.ast.DataKey v;
java.lang.String v;
java.util.stream.Collector v;
java.util.LinkedList v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.ChildTextElement v;
java.util.Iterator v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v;
java.lang.RuntimeException v;
java.util.List v, v;
java.util.stream.Stream v, v;
java.util.Optional v, v;
java.lang.Object v, v, v, v, v;
java.util.Comparator v;
v := @parameter: com.github.javaparser.ast.Node;
v := @parameter: java.util.List;
if v != null goto label;
v = staticinvoke <java.util.Collections: java.util.List emptyList()>();
label:
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.List getChildNodes()>();
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.ast.Node: boolean isPhantom()>();
if v != 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.Node: boolean hasRange()>();
if v != 0 goto label;
v = new java.lang.RuntimeException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (com.github.javaparser.ast.Node)>(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[])>("Range not present on node \u0001");
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new com.github.javaparser.utils.Pair;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getRange()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = new com.github.javaparser.printer.lexicalpreservation.ChildTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.ChildTextElement: void <init>(com.github.javaparser.ast.Node)>(v);
specialinvoke v.<com.github.javaparser.utils.Pair: void <init>(java.lang.Object,java.lang.Object)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
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 = new com.github.javaparser.utils.Pair;
v = virtualinvoke v.<com.github.javaparser.JavaToken: java.util.Optional getRange()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(com.github.javaparser.JavaToken)>(v);
specialinvoke v.<com.github.javaparser.utils.Pair: void <init>(java.lang.Object,java.lang.Object)>(v, v);
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_storeInitialTextForOneNode_4__1035: java.util.function.Function bootstrap$()>();
v = staticinvoke <java.util.Comparator: java.util.Comparator comparing(java.util.function.Function)>(v);
interfaceinvoke v.<java.util.List: void sort(java.util.Comparator)>(v);
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA>;
v = new com.github.javaparser.printer.lexicalpreservation.NodeText;
v = interfaceinvoke v.<java.util.List: java.util.stream.Stream stream()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_storeInitialTextForOneNode_5__1036: java.util.function.Function bootstrap$()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.util.stream.Stream map(java.util.function.Function)>(v);
v = staticinvoke <java.util.stream.Collectors: java.util.stream.Collector toList()>();
v = interfaceinvoke v.<java.util.stream.Stream: java.lang.Object collect(java.util.stream.Collector)>(v);
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void <init>(java.util.List)>(v);
virtualinvoke v.<com.github.javaparser.ast.Node: void setData(com.github.javaparser.ast.DataKey,java.lang.Object)>(v, v);
return;
}
private static java.util.Iterator tokensPreceeding(com.github.javaparser.ast.Node)
{
java.lang.Object[] v;
int v, v, v;
java.lang.String v;
com.github.javaparser.ast.Node v;
boolean v, v;
com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$EmptyIterator v;
com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$CascadingIterator$Provider v;
java.util.Iterator v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.IllegalArgumentException v;
com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$CascadingIterator v;
java.util.Optional v, v, v, v, v;
java.lang.Object v, v, v, v;
v := @parameter: com.github.javaparser.ast.Node;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getParentNode()>();
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v != 0 goto label;
v = new com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$EmptyIterator;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$EmptyIterator: void <init>()>();
return v;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getParentNode()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.printer.lexicalpreservation.NodeText getOrCreateNodeText(com.github.javaparser.ast.Node)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: int tryToFindChild(com.github.javaparser.ast.Node)>(v);
v = (int) -1;
if v != v goto label;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getParentNode()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = v instanceof com.github.javaparser.ast.body.VariableDeclarator;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getParentNode()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.util.Iterator tokensPreceeding(com.github.javaparser.ast.Node)>(v);
return v;
label:
v = new java.lang.IllegalArgumentException;
v = newarray (java.lang.Object)[3];
v[0] = v;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.util.Optional getParentNode()>();
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
v[1] = v;
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("I could not find child \'%s\' in parent \'%s\'. parentNodeText: %s", v);
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
v = new com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$CascadingIterator;
v = v - 1;
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory: java.util.Iterator partialReverseIterator(com.github.javaparser.printer.lexicalpreservation.NodeText,int)>(v, v);
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_tokensPreceeding_6__1037: com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$CascadingIterator$Provider bootstrap$(com.github.javaparser.ast.Node)>(v);
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$CascadingIterator: void <init>(java.util.Iterator,com.github.javaparser.printer.lexicalpreservation.TextElementIteratorsFactory$CascadingIterator$Provider)>(v, v);
return v;
}
public static java.lang.String print(com.github.javaparser.ast.Node)
{
java.io.StringWriter v;
java.io.IOException v;
java.lang.RuntimeException v;
java.lang.String v;
com.github.javaparser.ast.Node v;
v := @parameter: com.github.javaparser.ast.Node;
v = new java.io.StringWriter;
specialinvoke v.<java.io.StringWriter: void <init>()>();
label:
staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: void print(com.github.javaparser.ast.Node,java.io.Writer)>(v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.String,java.lang.Throwable)>("Unexpected IOException on a StringWriter", v);
throw v;
label:
v = virtualinvoke v.<java.io.StringWriter: java.lang.String toString()>();
return v;
catch java.io.IOException from label to label with label;
}
public static void print(com.github.javaparser.ast.Node, java.io.Writer) throws java.io.IOException
{
com.github.javaparser.ast.DataKey v, v;
java.io.Writer v;
java.lang.Object v;
java.lang.String v;
com.github.javaparser.ast.Node v;
boolean v;
v := @parameter: com.github.javaparser.ast.Node;
v := @parameter: java.io.Writer;
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA>;
v = virtualinvoke v.<com.github.javaparser.ast.Node: boolean containsData(com.github.javaparser.ast.DataKey)>(v);
if v != 0 goto label;
staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.printer.lexicalpreservation.NodeText getOrCreateNodeText(com.github.javaparser.ast.Node)>(v);
label:
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA>;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.Object getData(com.github.javaparser.ast.DataKey)>(v);
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: java.lang.String expand()>();
virtualinvoke v.<java.io.Writer: java.io.Writer append(java.lang.CharSequence)>(v);
return;
}
private static void prettyPrintingTextNode(com.github.javaparser.ast.Node, com.github.javaparser.printer.lexicalpreservation.NodeText)
{
com.github.javaparser.ast.Modifier$Keyword v;
int[] v;
com.github.javaparser.ast.type.PrimitiveType$Primitive v;
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.IllegalArgumentException v;
java.lang.Class v;
v := @parameter: com.github.javaparser.ast.Node;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v = v instanceof com.github.javaparser.ast.type.PrimitiveType;
if v == 0 goto label;
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$3: int[] $SwitchMap$com$github$javaparser$ast$type$PrimitiveType$Primitive>;
v = virtualinvoke v.<com.github.javaparser.ast.type.PrimitiveType: com.github.javaparser.ast.type.PrimitiveType$Primitive getType()>();
v = virtualinvoke v.<com.github.javaparser.ast.type.PrimitiveType$Primitive: int ordinal()>();
v = v[v];
tableswitch(v)
{
case 1: goto label;
case 2: goto label;
case 3: goto label;
case 4: goto label;
case 5: goto label;
case 6: goto label;
case 7: goto label;
case 8: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(13, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(18, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(15, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(50, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(38, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(40, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(31, v);
goto label;
label:
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.String toString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(24, v);
goto label;
label:
v = new java.lang.IllegalArgumentException;
specialinvoke v.<java.lang.IllegalArgumentException: void <init>()>();
throw v;
label:
return;
label:
v = v instanceof com.github.javaparser.ast.comments.JavadocComment;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.comments.JavadocComment: java.lang.String getContent()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("/**\u0001*/");
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(8, v);
return;
label:
v = v instanceof com.github.javaparser.ast.comments.BlockComment;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.comments.BlockComment: java.lang.String getContent()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("/*\u0001*/");
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(9, v);
return;
label:
v = v instanceof com.github.javaparser.ast.comments.LineComment;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.comments.LineComment: java.lang.String getContent()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("//\u0001");
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(5, v);
return;
label:
v = v instanceof com.github.javaparser.ast.Modifier;
if v == 0 goto label;
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator: int toToken(com.github.javaparser.ast.Modifier)>(v);
v = virtualinvoke v.<com.github.javaparser.ast.Modifier: com.github.javaparser.ast.Modifier$Keyword getKeyword()>();
v = virtualinvoke v.<com.github.javaparser.ast.Modifier$Keyword: java.lang.String asString()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(v, v);
return;
label:
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <com.github.javaparser.printer.ConcreteSyntaxModel: com.github.javaparser.printer.concretesyntaxmodel.CsmElement forClass(java.lang.Class)>(v);
staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.printer.lexicalpreservation.NodeText interpret(com.github.javaparser.ast.Node,com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.printer.lexicalpreservation.NodeText)>(v, v, v);
return;
}
private static com.github.javaparser.printer.lexicalpreservation.NodeText interpret(com.github.javaparser.ast.Node, com.github.javaparser.printer.concretesyntaxmodel.CsmElement, com.github.javaparser.printer.lexicalpreservation.NodeText)
{
com.github.javaparser.ast.Node v, v;
boolean v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.util.List v, v, v, v, v, v;
java.util.Optional v;
int v, v, v, v, v, v, v, v, v;
com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CalculatedSyntaxModel v;
java.lang.String v, v;
java.lang.UnsupportedOperationException v;
com.github.javaparser.printer.concretesyntaxmodel.CsmElement v, v;
java.util.Iterator v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
com.github.javaparser.printer.lexicalpreservation.TokenTextElement v;
java.util.function.Consumer v, v, v;
com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator v;
java.lang.Class v;
java.lang.Object v, v;
v := @parameter: com.github.javaparser.ast.Node;
v := @parameter: com.github.javaparser.printer.concretesyntaxmodel.CsmElement;
v := @parameter: com.github.javaparser.printer.lexicalpreservation.NodeText;
v = new com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator: void <init>()>();
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator: com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CalculatedSyntaxModel calculatedSyntaxModelForNode(com.github.javaparser.printer.concretesyntaxmodel.CsmElement,com.github.javaparser.ast.Node)>(v, v);
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.util.List findIndentation(com.github.javaparser.ast.Node)>(v);
v = 0;
v = v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CalculatedSyntaxModel: java.util.List elements>;
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 instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmIndent;
if v == 0 goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CalculatedSyntaxModel: java.util.List elements>;
v = interfaceinvoke v.<java.util.List: int indexOf(java.lang.Object)>(v);
v = v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CalculatedSyntaxModel: java.util.List elements>;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= v goto label;
v = v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator$CalculatedSyntaxModel: java.util.List elements>;
v = v + 1;
v = interfaceinvoke v.<java.util.List: java.lang.Object get(int)>(v);
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmUnindent;
if v != 0 goto label;
v = 0;
label:
if v >= 4 goto label;
v = new com.github.javaparser.printer.lexicalpreservation.TokenTextElement;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: void <init>(int,java.lang.String)>(1, " ");
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
v = v + 1;
goto label;
label:
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmUnindent;
if v == 0 goto label;
v = 0;
label:
if v >= 4 goto label;
v = interfaceinvoke v.<java.util.List: int size()>();
if v <= 0 goto label;
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:
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 isNewLine()>();
if v != 0 goto label;
label:
virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$addElement__1040: java.util.function.Consumer bootstrap$(com.github.javaparser.printer.lexicalpreservation.NodeText)>(v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
label:
v = 0;
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()>();
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addChild(com.github.javaparser.ast.Node)>(v);
goto label;
label:
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmToken;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmToken: int getTokenType()>();
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmToken: java.lang.String getContent(com.github.javaparser.ast.Node)>(v);
virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void addToken(int,java.lang.String)>(v, v);
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmToken: boolean isNewLine()>();
if v == 0 goto label;
v = 1;
goto label;
label:
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmMix;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.concretesyntaxmodel.CsmMix: java.util.List getElements()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_interpret_7__1039: java.util.function.Consumer bootstrap$(com.github.javaparser.ast.Node,com.github.javaparser.printer.lexicalpreservation.NodeText)>(v, v);
interfaceinvoke v.<java.util.List: void forEach(java.util.function.Consumer)>(v);
goto label;
label:
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmIndent;
if v != 0 goto label;
v = v instanceof com.github.javaparser.printer.concretesyntaxmodel.CsmUnindent;
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getSimpleName()>();
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v instanceof com.github.javaparser.ast.body.VariableDeclarator;
if v == 0 goto label;
v = virtualinvoke v.<com.github.javaparser.ast.body.VariableDeclarator: java.util.Optional getParentNode()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$lambda_interpret_9__1038: java.util.function.Consumer bootstrap$(com.github.javaparser.ast.body.VariableDeclarator,com.github.javaparser.printer.lexicalpreservation.NodeText)>(v, v);
virtualinvoke v.<java.util.Optional: void ifPresent(java.util.function.Consumer)>(v);
label:
return v;
}
static com.github.javaparser.printer.lexicalpreservation.NodeText getOrCreateNodeText(com.github.javaparser.ast.Node)
{
com.github.javaparser.ast.DataKey v, v, v;
com.github.javaparser.printer.lexicalpreservation.NodeText v;
java.lang.Object v;
com.github.javaparser.ast.Node v;
boolean v;
v := @parameter: com.github.javaparser.ast.Node;
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA>;
v = virtualinvoke v.<com.github.javaparser.ast.Node: boolean containsData(com.github.javaparser.ast.DataKey)>(v);
if v != 0 goto label;
v = new com.github.javaparser.printer.lexicalpreservation.NodeText;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.NodeText: void <init>()>();
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA>;
virtualinvoke v.<com.github.javaparser.ast.Node: void setData(com.github.javaparser.ast.DataKey,java.lang.Object)>(v, v);
staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: void prettyPrintingTextNode(com.github.javaparser.ast.Node,com.github.javaparser.printer.lexicalpreservation.NodeText)>(v, v);
label:
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA>;
v = virtualinvoke v.<com.github.javaparser.ast.Node: java.lang.Object getData(com.github.javaparser.ast.DataKey)>(v);
return v;
}
static java.util.List findIndentation(com.github.javaparser.ast.Node)
{
java.util.Iterator v;
java.util.List v;
int v, v, v;
java.lang.Object v, v;
java.util.LinkedList v;
com.github.javaparser.ast.Node v;
boolean v, v, v;
v := @parameter: com.github.javaparser.ast.Node;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.util.Iterator tokensPreceeding(com.github.javaparser.ast.Node)>(v);
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.TokenTextElement: int getTokenKind()>();
if v == 5 goto label;
v = virtualinvoke v.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: boolean isNewline()>();
if v != 0 goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
goto label;
label:
staticinvoke <java.util.Collections: void reverse(java.util.List)>(v);
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.<com.github.javaparser.printer.lexicalpreservation.TokenTextElement: boolean isSpaceOrTab()>();
if v != 0 goto label;
v = interfaceinvoke v.<java.util.List: java.util.List subList(int,int)>(0, v);
return v;
label:
v = v + 1;
goto label;
label:
return v;
}
private static boolean isReturningOptionalNodeList(java.lang.reflect.Method)
{
java.lang.reflect.Type v, v, v;
java.lang.reflect.Type[] v;
java.lang.Class v;
java.lang.String v, v, v, v;
java.lang.reflect.Method v;
boolean v, v, v;
v := @parameter: java.lang.reflect.Method;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.lang.String JAVA_UTIL_OPTIONAL>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.reflect.Type getGenericReturnType()>();
v = v instanceof java.lang.reflect.ParameterizedType;
if v != 0 goto label;
return 0;
label:
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.reflect.Type getGenericReturnType()>();
v = interfaceinvoke v.<java.lang.reflect.ParameterizedType: java.lang.reflect.Type[] getActualTypeArguments()>();
v = v[0];
v = interfaceinvoke v.<java.lang.reflect.Type: java.lang.String getTypeName()>();
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.lang.String JAVAPARSER_AST_NODELIST>;
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>(v);
return v;
}
private static com.github.javaparser.ast.observer.ObservableProperty findNodeListName(com.github.javaparser.ast.NodeList)
{
java.lang.IllegalStateException v;
java.lang.reflect.Method[] v;
java.lang.reflect.Method v;
com.github.javaparser.ast.Node v;
boolean v, v, v, v, v, v;
com.github.javaparser.ast.NodeList v;
java.lang.Object[] v, v;
java.lang.ReflectiveOperationException v, v;
int v, v, v, v, v, v, v;
java.lang.String v, v, v, v, v, v, v, v, v, v, v;
java.lang.RuntimeException v, v;
java.lang.IllegalArgumentException v;
com.github.javaparser.ast.observer.ObservableProperty v, v;
java.lang.Class v, v, v;
java.lang.Object v, v, v;
v := @parameter: com.github.javaparser.ast.NodeList;
v = virtualinvoke v.<com.github.javaparser.ast.NodeList: com.github.javaparser.ast.Node getParentNodeForChildren()>();
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.reflect.Method[] getMethods()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = virtualinvoke v.<java.lang.reflect.Method: int getParameterCount()>();
if v != 0 goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Class getReturnType()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.lang.String JAVAPARSER_AST_NODELIST>;
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v == 0 goto label;
label:
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = v instanceof com.github.javaparser.ast.NodeList;
if v != 0 goto label;
v = new java.lang.IllegalStateException;
v = virtualinvoke v.<java.lang.Object: java.lang.Class getClass()>();
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Expected NodeList, found \u0001");
specialinvoke v.<java.lang.IllegalStateException: void <init>(java.lang.String)>(v);
throw v;
label:
if v != v goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("get");
if v == 0 goto label;
v = "get";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v = staticinvoke <com.github.javaparser.utils.Utils: java.lang.String decapitalize(java.lang.String)>(v);
v = staticinvoke <com.github.javaparser.ast.observer.ObservableProperty: com.github.javaparser.ast.observer.ObservableProperty fromCamelCaseName(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = virtualinvoke v.<java.lang.reflect.Method: int getParameterCount()>();
if v != 0 goto label;
v = staticinvoke <com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: boolean isReturningOptionalNodeList(java.lang.reflect.Method)>(v);
if v == 0 goto label;
label:
v = newarray (java.lang.Object)[0];
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.Object invoke(java.lang.Object,java.lang.Object[])>(v, v);
v = virtualinvoke v.<java.util.Optional: boolean isPresent()>();
if v == 0 goto label;
v = virtualinvoke v.<java.util.Optional: java.lang.Object get()>();
if v != v goto label;
v = virtualinvoke v.<java.lang.reflect.Method: java.lang.String getName()>();
v = virtualinvoke v.<java.lang.String: boolean startsWith(java.lang.String)>("get");
if v == 0 goto label;
v = "get";
v = virtualinvoke v.<java.lang.String: int length()>();
v = virtualinvoke v.<java.lang.String: java.lang.String substring(int)>(v);
label:
v = staticinvoke <com.github.javaparser.utils.Utils: java.lang.String decapitalize(java.lang.String)>(v);
v = staticinvoke <com.github.javaparser.ast.observer.ObservableProperty: com.github.javaparser.ast.observer.ObservableProperty fromCamelCaseName(java.lang.String)>(v);
label:
return v;
label:
v := @caughtexception;
v = new java.lang.RuntimeException;
specialinvoke v.<java.lang.RuntimeException: void <init>(java.lang.Throwable)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = virtualinvoke v.<com.github.javaparser.ast.NodeList: int size()>();
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int)>(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[])>("Cannot find list name of NodeList of size \u0001");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
catch java.lang.IllegalAccessException from label to label with label;
catch java.lang.reflect.InvocationTargetException from label to label with label;
}
static void <clinit>()
{
com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$1 v;
com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator v;
java.lang.Class v, v;
java.lang.String v, v;
v = class "Ljava/util/Optional;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.lang.String JAVA_UTIL_OPTIONAL> = v;
v = class "Lcom/github/javaparser/ast/NodeList;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getCanonicalName()>();
<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: java.lang.String JAVAPARSER_AST_NODELIST> = v;
v = new com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$1;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter$1: void <init>()>();
<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.ast.DataKey NODE_TEXT_DATA> = v;
v = new com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator;
specialinvoke v.<com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator: void <init>()>();
<com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter: com.github.javaparser.printer.lexicalpreservation.LexicalDifferenceCalculator LEXICAL_DIFFERENCE_CALCULATOR> = v;
return;
}
}