public class org.jvnet.hk.config.generator.ConfigInjectorGenerator extends javax.'annotation'.processing.AbstractProcessor
{
private com.sun.codemodel.JCodeModel cm;
private org.jvnet.hk.config.generator.TypeMath math;
private javax.lang.model.element.TypeElement configBeanProxy;
private final org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor visitor;
final javax.lang.model.util.SimpleTypeVisitor toJtype;
public void <init>()
{
org.jvnet.hk.config.generator.ConfigInjectorGenerator$1 v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
specialinvoke v.<javax.'annotation'.processing.AbstractProcessor: void <init>()>();
v = new org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor;
specialinvoke v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor: void <init>(org.jvnet.hk.config.generator.ConfigInjectorGenerator)>(v);
v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor visitor> = v;
v = new org.jvnet.hk.config.generator.ConfigInjectorGenerator$1;
specialinvoke v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator$1: void <init>(org.jvnet.hk.config.generator.ConfigInjectorGenerator)>(v);
v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: javax.lang.model.util.SimpleTypeVisitor toJtype> = v;
return;
}
public javax.lang.model.SourceVersion getSupportedSourceVersion()
{
javax.lang.model.SourceVersion v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v = staticinvoke <javax.lang.model.SourceVersion: javax.lang.model.SourceVersion latest()>();
return v;
}
public java.util.Set getSupportedAnnotationTypes()
{
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
java.util.Set v;
java.lang.Class v;
java.lang.String v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v = class "Lorg/jvnet/hk2/config/Configured;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = staticinvoke <java.util.Collections: java.util.Set singleton(java.lang.Object)>(v);
return v;
}
public synchronized void init(javax.'annotation'.processing.ProcessingEnvironment)
{
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
org.jvnet.hk.config.generator.TypeMath v;
javax.'annotation'.processing.ProcessingEnvironment v;
java.lang.Class v;
javax.lang.model.element.TypeElement v;
java.lang.String v;
javax.lang.model.util.Elements v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v := @parameter: javax.'annotation'.processing.ProcessingEnvironment;
specialinvoke v.<javax.'annotation'.processing.AbstractProcessor: void init(javax.'annotation'.processing.ProcessingEnvironment)>(v);
v = new org.jvnet.hk.config.generator.TypeMath;
specialinvoke v.<org.jvnet.hk.config.generator.TypeMath: void <init>(javax.'annotation'.processing.ProcessingEnvironment)>(v);
v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: org.jvnet.hk.config.generator.TypeMath math> = v;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Elements getElementUtils()>();
v = class "Lorg/jvnet/hk2/config/ConfigBeanProxy;";
v = virtualinvoke v.<java.lang.Class: java.lang.String getName()>();
v = interfaceinvoke v.<javax.lang.model.util.Elements: javax.lang.model.element.TypeElement getTypeElement(java.lang.CharSequence)>(v);
v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: javax.lang.model.element.TypeElement configBeanProxy> = v;
return;
}
public boolean process(java.util.Set, javax.'annotation'.processing.RoundEnvironment)
{
com.sun.codemodel.JCodeModel v, v;
java.lang.Error v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
boolean v, v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor v;
java.util.Iterator v, v;
java.util.Set v, v;
java.io.IOException v;
javax.'annotation'.processing.RoundEnvironment v;
javax.'annotation'.processing.Filer v;
javax.'annotation'.processing.ProcessingEnvironment v;
java.lang.Object v, v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator$FilerCodeWriter v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v := @parameter: java.util.Set;
v := @parameter: javax.'annotation'.processing.RoundEnvironment;
v = new com.sun.codemodel.JCodeModel;
specialinvoke v.<com.sun.codemodel.JCodeModel: void <init>()>();
v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: com.sun.codemodel.JCodeModel cm> = v;
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.<javax.'annotation'.processing.RoundEnvironment: java.util.Set getElementsAnnotatedWith(javax.lang.model.element.TypeElement)>(v);
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 = v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: org.jvnet.hk.config.generator.ConfigInjectorGenerator$GeneratorVisitor visitor>;
interfaceinvoke v.<javax.lang.model.element.Element: java.lang.Object accept(javax.lang.model.element.ElementVisitor,java.lang.Object)>(v, null);
goto label;
label:
v = v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: com.sun.codemodel.JCodeModel cm>;
v = new org.jvnet.hk.config.generator.ConfigInjectorGenerator$FilerCodeWriter;
v = v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: javax.'annotation'.processing.ProcessingEnvironment processingEnv>;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.'annotation'.processing.Filer getFiler()>();
specialinvoke v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator$FilerCodeWriter: void <init>(javax.'annotation'.processing.Filer)>(v);
virtualinvoke v.<com.sun.codemodel.JCodeModel: void build(com.sun.codemodel.CodeWriter)>(v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.Error;
specialinvoke v.<java.lang.Error: void <init>(java.lang.Throwable)>(v);
throw v;
label:
return 1;
catch java.io.IOException from label to label with label;
}
private boolean isSubType(javax.lang.model.element.TypeElement, javax.lang.model.element.TypeElement)
{
javax.lang.model.type.TypeMirror[] v, v;
javax.lang.model.element.TypeElement v, v;
javax.lang.model.util.Types v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
javax.lang.model.type.DeclaredType v, v;
javax.'annotation'.processing.ProcessingEnvironment v;
boolean v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v := @parameter: javax.lang.model.element.TypeElement;
v := @parameter: javax.lang.model.element.TypeElement;
v = v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: javax.'annotation'.processing.ProcessingEnvironment processingEnv>;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Types getTypeUtils()>();
v = newarray (javax.lang.model.type.TypeMirror)[0];
v = interfaceinvoke v.<javax.lang.model.util.Types: javax.lang.model.type.DeclaredType getDeclaredType(javax.lang.model.element.TypeElement,javax.lang.model.type.TypeMirror[])>(v, v);
v = newarray (javax.lang.model.type.TypeMirror)[0];
v = interfaceinvoke v.<javax.lang.model.util.Types: javax.lang.model.type.DeclaredType getDeclaredType(javax.lang.model.element.TypeElement,javax.lang.model.type.TypeMirror[])>(v, v);
v = interfaceinvoke v.<javax.lang.model.util.Types: boolean isSubtype(javax.lang.model.type.TypeMirror,javax.lang.model.type.TypeMirror)>(v, v);
return v;
}
private static void addToMetadata(java.util.TreeMap, java.lang.String, java.lang.String)
{
java.util.TreeMap v;
java.lang.Object v;
java.lang.String v, v;
java.util.LinkedList v;
v := @parameter: java.util.TreeMap;
v := @parameter: java.lang.String;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.util.TreeMap: java.lang.Object get(java.lang.Object)>(v);
if v != null goto label;
v = new java.util.LinkedList;
specialinvoke v.<java.util.LinkedList: void <init>()>();
v = v;
virtualinvoke v.<java.util.TreeMap: java.lang.Object put(java.lang.Object,java.lang.Object)>(v, v);
label:
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
return;
}
private static java.lang.String toCommaSeparatedString(java.util.TreeMap)
{
java.util.Iterator v, v;
java.util.Set v;
java.util.TreeMap v;
int v;
java.lang.Object v, v, v, v;
java.lang.StringBuilder v, v, v;
java.lang.String v;
boolean v, v;
v := @parameter: java.util.TreeMap;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<java.util.TreeMap: 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 getValue()>();
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.<java.lang.StringBuilder: int length()>();
if v <= 0 goto label;
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(44);
label:
v = interfaceinvoke v.<java.util.Map$Entry: java.lang.Object getKey()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(char)>(61);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
goto label;
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
private static java.lang.String getCanonicalTypeFrom(javax.lang.model.type.MirroredTypeException)
{
javax.lang.model.type.TypeMirror v;
javax.lang.model.type.MirroredTypeException v;
javax.lang.model.element.Element v;
java.lang.String v;
javax.lang.model.element.Name v;
javax.lang.model.type.TypeKind v, v;
v := @parameter: javax.lang.model.type.MirroredTypeException;
v = virtualinvoke v.<javax.lang.model.type.MirroredTypeException: javax.lang.model.type.TypeMirror getTypeMirror()>();
v = interfaceinvoke v.<javax.lang.model.type.TypeMirror: javax.lang.model.type.TypeKind getKind()>();
v = <javax.lang.model.type.TypeKind: javax.lang.model.type.TypeKind DECLARED>;
if v != v goto label;
v = interfaceinvoke v.<javax.lang.model.type.DeclaredType: javax.lang.model.element.Element asElement()>();
v = interfaceinvoke v.<javax.lang.model.element.TypeElement: javax.lang.model.element.Name getQualifiedName()>();
v = virtualinvoke v.<java.lang.Object: java.lang.String toString()>();
return v;
label:
return "";
}
private javax.lang.model.type.TypeMirror erasure(javax.lang.model.type.TypeMirror)
{
javax.lang.model.type.TypeMirror v, v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
javax.'annotation'.processing.ProcessingEnvironment v;
javax.lang.model.util.Types v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v := @parameter: javax.lang.model.type.TypeMirror;
v = v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: javax.'annotation'.processing.ProcessingEnvironment processingEnv>;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.lang.model.util.Types getTypeUtils()>();
v = interfaceinvoke v.<javax.lang.model.util.Types: javax.lang.model.type.TypeMirror erasure(javax.lang.model.type.TypeMirror)>(v);
return v;
}
private void printError(java.lang.String, javax.lang.model.element.Element)
{
javax.tools.Diagnostic$Kind v;
org.jvnet.hk.config.generator.ConfigInjectorGenerator v;
javax.'annotation'.processing.ProcessingEnvironment v;
javax.lang.model.element.Element v;
java.lang.String v;
javax.'annotation'.processing.Messager v;
v := @this: org.jvnet.hk.config.generator.ConfigInjectorGenerator;
v := @parameter: java.lang.String;
v := @parameter: javax.lang.model.element.Element;
v = v.<org.jvnet.hk.config.generator.ConfigInjectorGenerator: javax.'annotation'.processing.ProcessingEnvironment processingEnv>;
v = interfaceinvoke v.<javax.'annotation'.processing.ProcessingEnvironment: javax.'annotation'.processing.Messager getMessager()>();
v = <javax.tools.Diagnostic$Kind: javax.tools.Diagnostic$Kind ERROR>;
interfaceinvoke v.<javax.'annotation'.processing.Messager: void printMessage(javax.tools.Diagnostic$Kind,java.lang.CharSequence,javax.lang.model.element.Element)>(v, v, v);
return;
}
}