public class oadd.org.codehaus.janino.samples.DeclarationCounter extends oadd.org.codehaus.janino.util.AbstractTraverser
{
private int classDeclarationCount;
private int interfaceDeclarationCount;
private int fieldCount;
private int localVariableCount;
public void <init>()
{
oadd.org.codehaus.janino.samples.DeclarationCounter v;
v := @this: oadd.org.codehaus.janino.samples.DeclarationCounter;
specialinvoke v.<oadd.org.codehaus.janino.util.AbstractTraverser: void <init>()>();
return;
}
public static void main(java.lang.String[]) throws oadd.org.codehaus.commons.compiler.CompileException, java.io.IOException
{
java.lang.Throwable v;
java.lang.String[] v;
oadd.org.codehaus.janino.samples.DeclarationCounter v;
oadd.org.codehaus.janino.Java$AbstractCompilationUnit v;
int v, v, v, v, v, v;
java.lang.String v, v, v, v, v;
java.io.PrintStream v, v, v, v;
oadd.org.codehaus.janino.Scanner v;
oadd.org.codehaus.janino.Parser v;
java.io.FileReader v;
v := @parameter: java.lang.String[];
v = new oadd.org.codehaus.janino.samples.DeclarationCounter;
specialinvoke v.<oadd.org.codehaus.janino.samples.DeclarationCounter: void <init>()>();
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
v = new java.io.FileReader;
specialinvoke v.<java.io.FileReader: void <init>(java.lang.String)>(v);
label:
v = new oadd.org.codehaus.janino.Parser;
v = new oadd.org.codehaus.janino.Scanner;
specialinvoke v.<oadd.org.codehaus.janino.Scanner: void <init>(java.lang.String,java.io.Reader)>(v, v);
specialinvoke v.<oadd.org.codehaus.janino.Parser: void <init>(oadd.org.codehaus.janino.Scanner)>(v);
v = virtualinvoke v.<oadd.org.codehaus.janino.Parser: oadd.org.codehaus.janino.Java$AbstractCompilationUnit parseAbstractCompilationUnit()>();
label:
virtualinvoke v.<java.io.FileReader: void close()>();
goto label;
label:
v := @caughtexception;
virtualinvoke v.<java.io.FileReader: void close()>();
throw v;
label:
virtualinvoke v.<oadd.org.codehaus.janino.samples.DeclarationCounter: void visitAbstractCompilationUnit(oadd.org.codehaus.janino.Java$AbstractCompilationUnit)>(v);
v = v + 1;
goto label;
label:
v = <java.lang.System: java.io.PrintStream out>;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int classDeclarationCount>;
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[])>("Class declarations:     \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int interfaceDeclarationCount>;
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[])>("Interface declarations: \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int fieldCount>;
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[])>("Fields:                 \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
v = <java.lang.System: java.io.PrintStream out>;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int localVariableCount>;
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[])>("Local variables:        \u0001");
virtualinvoke v.<java.io.PrintStream: void println(java.lang.String)>(v);
return;
catch java.lang.Throwable from label to label with label;
}
public void traverseClassDeclaration(oadd.org.codehaus.janino.Java$AbstractClassDeclaration)
{
int v, v;
oadd.org.codehaus.janino.samples.DeclarationCounter v;
oadd.org.codehaus.janino.Java$AbstractClassDeclaration v;
v := @this: oadd.org.codehaus.janino.samples.DeclarationCounter;
v := @parameter: oadd.org.codehaus.janino.Java$AbstractClassDeclaration;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int classDeclarationCount>;
v = v + 1;
v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int classDeclarationCount> = v;
specialinvoke v.<oadd.org.codehaus.janino.util.AbstractTraverser: void traverseClassDeclaration(oadd.org.codehaus.janino.Java$AbstractClassDeclaration)>(v);
return;
}
public void traverseInterfaceDeclaration(oadd.org.codehaus.janino.Java$InterfaceDeclaration)
{
int v, v;
oadd.org.codehaus.janino.samples.DeclarationCounter v;
oadd.org.codehaus.janino.Java$InterfaceDeclaration v;
v := @this: oadd.org.codehaus.janino.samples.DeclarationCounter;
v := @parameter: oadd.org.codehaus.janino.Java$InterfaceDeclaration;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int interfaceDeclarationCount>;
v = v + 1;
v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int interfaceDeclarationCount> = v;
specialinvoke v.<oadd.org.codehaus.janino.util.AbstractTraverser: void traverseInterfaceDeclaration(oadd.org.codehaus.janino.Java$InterfaceDeclaration)>(v);
return;
}
public void traverseFieldDeclaration(oadd.org.codehaus.janino.Java$FieldDeclaration)
{
oadd.org.codehaus.janino.Java$FieldDeclaration v;
int v, v, v;
oadd.org.codehaus.janino.Java$VariableDeclarator[] v;
oadd.org.codehaus.janino.samples.DeclarationCounter v;
v := @this: oadd.org.codehaus.janino.samples.DeclarationCounter;
v := @parameter: oadd.org.codehaus.janino.Java$FieldDeclaration;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int fieldCount>;
v = v.<oadd.org.codehaus.janino.Java$FieldDeclaration: oadd.org.codehaus.janino.Java$VariableDeclarator[] variableDeclarators>;
v = lengthof v;
v = v + v;
v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int fieldCount> = v;
specialinvoke v.<oadd.org.codehaus.janino.util.AbstractTraverser: void traverseFieldDeclaration(oadd.org.codehaus.janino.Java$FieldDeclaration)>(v);
return;
}
public void traverseLocalVariableDeclarationStatement(oadd.org.codehaus.janino.Java$LocalVariableDeclarationStatement)
{
int v, v, v;
oadd.org.codehaus.janino.Java$VariableDeclarator[] v;
oadd.org.codehaus.janino.Java$LocalVariableDeclarationStatement v;
oadd.org.codehaus.janino.samples.DeclarationCounter v;
v := @this: oadd.org.codehaus.janino.samples.DeclarationCounter;
v := @parameter: oadd.org.codehaus.janino.Java$LocalVariableDeclarationStatement;
v = v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int localVariableCount>;
v = v.<oadd.org.codehaus.janino.Java$LocalVariableDeclarationStatement: oadd.org.codehaus.janino.Java$VariableDeclarator[] variableDeclarators>;
v = lengthof v;
v = v + v;
v.<oadd.org.codehaus.janino.samples.DeclarationCounter: int localVariableCount> = v;
specialinvoke v.<oadd.org.codehaus.janino.util.AbstractTraverser: void traverseLocalVariableDeclarationStatement(oadd.org.codehaus.janino.Java$LocalVariableDeclarationStatement)>(v);
return;
}
}