public final class com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler
  super_class: java.lang.Object
{
  final com.sun.xml.internal.rngom.digested.DPattern grammar;
    descriptor: Lcom/sun/xml/internal/rngom/digested/DPattern;
    flags: (0x0010) ACC_FINAL

  final java.util.Set<com.sun.xml.internal.rngom.digested.DDefine> defs;
    descriptor: Ljava/util/Set;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Set<Lcom/sun/xml/internal/rngom/digested/DDefine;>;

  final com.sun.tools.internal.xjc.Options opts;
    descriptor: Lcom/sun/tools/internal/xjc/Options;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.internal.xjc.model.Model model;
    descriptor: Lcom/sun/tools/internal/xjc/model/Model;
    flags: (0x0010) ACC_FINAL

  final com.sun.codemodel.internal.JPackage pkg;
    descriptor: Lcom/sun/codemodel/internal/JPackage;
    flags: (0x0010) ACC_FINAL

  final java.util.Map<java.lang.String, com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib> datatypes;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/internal/xjc/reader/relaxng/DatatypeLib;>;

  final java.util.Map<com.sun.xml.internal.rngom.digested.DPattern, com.sun.tools.internal.xjc.model.CTypeInfo[]> classes;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/xml/internal/rngom/digested/DPattern;[Lcom/sun/tools/internal/xjc/model/CTypeInfo;>;

  final java.util.Map<com.sun.tools.internal.xjc.model.CClassInfo, com.sun.xml.internal.rngom.digested.DPattern> bindQueue;
    descriptor: Ljava/util/Map;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Map<Lcom/sun/tools/internal/xjc/model/CClassInfo;Lcom/sun/xml/internal/rngom/digested/DPattern;>;

  final com.sun.tools.internal.xjc.reader.relaxng.TypeUseBinder typeUseBinder;
    descriptor: Lcom/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder;
    flags: (0x0010) ACC_FINAL

  public static com.sun.tools.internal.xjc.model.Model build(com.sun.xml.internal.rngom.digested.DPattern, com.sun.codemodel.internal.JCodeModel, com.sun.tools.internal.xjc.Options);
    descriptor: (Lcom/sun/xml/internal/rngom/digested/DPattern;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/tools/internal/xjc/Options;)Lcom/sun/tools/internal/xjc/model/Model;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.xml.internal.rngom.digested.DPattern grammar
        start local 1 // com.sun.codemodel.internal.JCodeModel codeModel
        start local 2 // com.sun.tools.internal.xjc.Options opts
         0: .line 107
            new com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler
            dup
            aload 0 /* grammar */
            aload 1 /* codeModel */
            aload 2 /* opts */
            invokespecial com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.<init>:(Lcom/sun/xml/internal/rngom/digested/DPattern;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/tools/internal/xjc/Options;)V
            astore 3 /* compiler */
        start local 3 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler compiler
         1: .line 108
            aload 3 /* compiler */
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.compile:()V
         2: .line 109
            aload 3 /* compiler */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.model:Lcom/sun/tools/internal/xjc/model/Model;
            areturn
        end local 3 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler compiler
        end local 2 // com.sun.tools.internal.xjc.Options opts
        end local 1 // com.sun.codemodel.internal.JCodeModel codeModel
        end local 0 // com.sun.xml.internal.rngom.digested.DPattern grammar
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0    grammar  Lcom/sun/xml/internal/rngom/digested/DPattern;
            0    3     1  codeModel  Lcom/sun/codemodel/internal/JCodeModel;
            0    3     2       opts  Lcom/sun/tools/internal/xjc/Options;
            1    3     3   compiler  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
    MethodParameters:
           Name  Flags
      grammar    
      codeModel  
      opts       

  public void <init>(com.sun.xml.internal.rngom.digested.DPattern, com.sun.codemodel.internal.JCodeModel, com.sun.tools.internal.xjc.Options);
    descriptor: (Lcom/sun/xml/internal/rngom/digested/DPattern;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/tools/internal/xjc/Options;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
        start local 1 // com.sun.xml.internal.rngom.digested.DPattern grammar
        start local 2 // com.sun.codemodel.internal.JCodeModel codeModel
        start local 3 // com.sun.tools.internal.xjc.Options opts
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 83
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.datatypes:Ljava/util/Map;
         2: .line 95
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.classes:Ljava/util/Map;
         3: .line 102
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.bindQueue:Ljava/util/Map;
         4: .line 104
            aload 0 /* this */
            new com.sun.tools.internal.xjc.reader.relaxng.TypeUseBinder
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.internal.xjc.reader.relaxng.TypeUseBinder.<init>:(Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;)V
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.typeUseBinder:Lcom/sun/tools/internal/xjc/reader/relaxng/TypeUseBinder;
         5: .line 113
            aload 0 /* this */
            aload 1 /* grammar */
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.grammar:Lcom/sun/xml/internal/rngom/digested/DPattern;
         6: .line 114
            aload 0 /* this */
            aload 3 /* opts */
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.opts:Lcom/sun/tools/internal/xjc/Options;
         7: .line 115
            aload 0 /* this */
            new com.sun.tools.internal.xjc.model.Model
            dup
            aload 3 /* opts */
            aload 2 /* codeModel */
            getstatic com.sun.xml.internal.bind.api.impl.NameConverter.smart:Lcom/sun/xml/internal/bind/api/impl/NameConverter;
            aload 3 /* opts */
            getfield com.sun.tools.internal.xjc.Options.classNameAllocator:Lcom/sun/tools/internal/xjc/api/ClassNameAllocator;
            aconst_null
            invokespecial com.sun.tools.internal.xjc.model.Model.<init>:(Lcom/sun/tools/internal/xjc/Options;Lcom/sun/codemodel/internal/JCodeModel;Lcom/sun/xml/internal/bind/api/impl/NameConverter;Lcom/sun/tools/internal/xjc/api/ClassNameAllocator;Lcom/sun/xml/internal/xsom/XSSchemaSet;)V
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.model:Lcom/sun/tools/internal/xjc/model/Model;
         8: .line 117
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.datatypes:Ljava/util/Map;
            ldc ""
            getstatic com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib.BUILTIN:Lcom/sun/tools/internal/xjc/reader/relaxng/DatatypeLib;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 118
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.datatypes:Ljava/util/Map;
            ldc "http://www.w3.org/2001/XMLSchema-datatypes"
            getstatic com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib.XMLSCHEMA:Lcom/sun/tools/internal/xjc/reader/relaxng/DatatypeLib;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 121
            new com.sun.tools.internal.xjc.reader.relaxng.DefineFinder
            dup
            invokespecial com.sun.tools.internal.xjc.reader.relaxng.DefineFinder.<init>:()V
            astore 4 /* deff */
        start local 4 // com.sun.tools.internal.xjc.reader.relaxng.DefineFinder deff
        11: .line 122
            aload 1 /* grammar */
            aload 4 /* deff */
            invokevirtual com.sun.xml.internal.rngom.digested.DPattern.accept:(Lcom/sun/xml/internal/rngom/digested/DPatternVisitor;)Ljava/lang/Object;
            pop
        12: .line 123
            aload 0 /* this */
            aload 4 /* deff */
            getfield com.sun.tools.internal.xjc.reader.relaxng.DefineFinder.defs:Ljava/util/Set;
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.defs:Ljava/util/Set;
        13: .line 125
            aload 3 /* opts */
            getfield com.sun.tools.internal.xjc.Options.defaultPackage2:Ljava/lang/String;
            ifnull 15
        14: .line 126
            aload 0 /* this */
            aload 2 /* codeModel */
            aload 3 /* opts */
            getfield com.sun.tools.internal.xjc.Options.defaultPackage2:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JCodeModel._package:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JPackage;
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.pkg:Lcom/sun/codemodel/internal/JPackage;
            goto 18
        15: .line 128
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler com.sun.xml.internal.rngom.digested.DPattern com.sun.codemodel.internal.JCodeModel com.sun.tools.internal.xjc.Options com.sun.tools.internal.xjc.reader.relaxng.DefineFinder
      StackMap stack:
            aload 3 /* opts */
            getfield com.sun.tools.internal.xjc.Options.defaultPackage:Ljava/lang/String;
            ifnull 17
        16: .line 129
            aload 0 /* this */
            aload 2 /* codeModel */
            aload 3 /* opts */
            getfield com.sun.tools.internal.xjc.Options.defaultPackage:Ljava/lang/String;
            invokevirtual com.sun.codemodel.internal.JCodeModel._package:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JPackage;
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.pkg:Lcom/sun/codemodel/internal/JPackage;
            goto 18
        17: .line 131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* codeModel */
            invokevirtual com.sun.codemodel.internal.JCodeModel.rootPackage:()Lcom/sun/codemodel/internal/JPackage;
            putfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.pkg:Lcom/sun/codemodel/internal/JPackage;
        18: .line 132
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.sun.tools.internal.xjc.reader.relaxng.DefineFinder deff
        end local 3 // com.sun.tools.internal.xjc.Options opts
        end local 2 // com.sun.codemodel.internal.JCodeModel codeModel
        end local 1 // com.sun.xml.internal.rngom.digested.DPattern grammar
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
            0   19     1    grammar  Lcom/sun/xml/internal/rngom/digested/DPattern;
            0   19     2  codeModel  Lcom/sun/codemodel/internal/JCodeModel;
            0   19     3       opts  Lcom/sun/tools/internal/xjc/Options;
           11   19     4       deff  Lcom/sun/tools/internal/xjc/reader/relaxng/DefineFinder;
    MethodParameters:
           Name  Flags
      grammar    
      codeModel  
      opts       

  private void compile();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
         0: .line 136
            aload 0 /* this */
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.promoteElementDefsToClasses:()V
         1: .line 137
            aload 0 /* this */
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.promoteTypeSafeEnums:()V
         2: .line 140
            aload 0 /* this */
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.promoteTypePatternsToClasses:()V
         3: .line 142
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.bindQueue:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler top java.util.Iterator
      StackMap stack:
         4: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 1 /* e */
        start local 1 // java.util.Map$Entry e
         5: .line 143
            aload 0 /* this */
            aload 1 /* e */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast com.sun.tools.internal.xjc.model.CClassInfo
            aload 1 /* e */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.rngom.digested.DPattern
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.bindContentModel:(Lcom/sun/tools/internal/xjc/model/CClassInfo;Lcom/sun/xml/internal/rngom/digested/DPattern;)V
        end local 1 // java.util.Map$Entry e
         6: .line 142
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 144
            return
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
            5    6     1     e  Ljava/util/Map$Entry<Lcom/sun/tools/internal/xjc/model/CClassInfo;Lcom/sun/xml/internal/rngom/digested/DPattern;>;

  private void bindContentModel(com.sun.tools.internal.xjc.model.CClassInfo, com.sun.xml.internal.rngom.digested.DPattern);
    descriptor: (Lcom/sun/tools/internal/xjc/model/CClassInfo;Lcom/sun/xml/internal/rngom/digested/DPattern;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
        start local 1 // com.sun.tools.internal.xjc.model.CClassInfo clazz
        start local 2 // com.sun.xml.internal.rngom.digested.DPattern pattern
         0: .line 150
            aload 2 /* pattern */
            new com.sun.tools.internal.xjc.reader.relaxng.ContentModelBinder
            dup
            aload 0 /* this */
            aload 1 /* clazz */
            invokespecial com.sun.tools.internal.xjc.reader.relaxng.ContentModelBinder.<init>:(Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;Lcom/sun/tools/internal/xjc/model/CClassInfo;)V
            invokevirtual com.sun.xml.internal.rngom.digested.DPattern.accept:(Lcom/sun/xml/internal/rngom/digested/DPatternVisitor;)Ljava/lang/Object;
            pop
         1: .line 151
            return
        end local 2 // com.sun.xml.internal.rngom.digested.DPattern pattern
        end local 1 // com.sun.tools.internal.xjc.model.CClassInfo clazz
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
            0    2     1    clazz  Lcom/sun/tools/internal/xjc/model/CClassInfo;
            0    2     2  pattern  Lcom/sun/xml/internal/rngom/digested/DPattern;
    MethodParameters:
         Name  Flags
      clazz    
      pattern  

  private void promoteTypeSafeEnums();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=11, locals=10, args_size=1
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
         0: .line 157
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* members */
        start local 1 // java.util.List members
         1: .line 160
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.defs:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 36
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.rngom.digested.DDefine
            astore 2 /* def */
        start local 2 // com.sun.xml.internal.rngom.digested.DDefine def
         3: .line 161
            aload 2 /* def */
            invokevirtual com.sun.xml.internal.rngom.digested.DDefine.getPattern:()Lcom/sun/xml/internal/rngom/digested/DPattern;
            astore 4 /* p */
        start local 4 // com.sun.xml.internal.rngom.digested.DPattern p
         4: .line 162
            aload 4 /* p */
            instanceof com.sun.xml.internal.rngom.digested.DChoicePattern
            ifeq 36
         5: .line 163
            aload 4 /* p */
            checkcast com.sun.xml.internal.rngom.digested.DChoicePattern
            astore 5 /* cp */
        start local 5 // com.sun.xml.internal.rngom.digested.DChoicePattern cp
         6: .line 165
            aload 1 /* members */
            invokeinterface java.util.List.clear:()V
         7: .line 169
            aconst_null
            astore 6 /* vp */
        start local 6 // com.sun.xml.internal.rngom.digested.DValuePattern vp
         8: .line 171
            aload 5 /* cp */
            invokevirtual com.sun.xml.internal.rngom.digested.DChoicePattern.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler java.util.List com.sun.xml.internal.rngom.digested.DDefine java.util.Iterator com.sun.xml.internal.rngom.digested.DPattern com.sun.xml.internal.rngom.digested.DChoicePattern com.sun.xml.internal.rngom.digested.DValuePattern top java.util.Iterator
      StackMap stack:
         9: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.rngom.digested.DPattern
            astore 7 /* child */
        start local 7 // com.sun.xml.internal.rngom.digested.DPattern child
        10: .line 172
            aload 7 /* child */
            instanceof com.sun.xml.internal.rngom.digested.DValuePattern
            ifeq 36
        11: .line 173
            aload 7 /* child */
            checkcast com.sun.xml.internal.rngom.digested.DValuePattern
            astore 9 /* c */
        start local 9 // com.sun.xml.internal.rngom.digested.DValuePattern c
        12: .line 174
            aload 6 /* vp */
            ifnonnull 14
        13: .line 175
            aload 9 /* c */
            astore 6 /* vp */
            goto 17
        14: .line 177
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler java.util.List com.sun.xml.internal.rngom.digested.DDefine java.util.Iterator com.sun.xml.internal.rngom.digested.DPattern com.sun.xml.internal.rngom.digested.DChoicePattern com.sun.xml.internal.rngom.digested.DValuePattern com.sun.xml.internal.rngom.digested.DPattern java.util.Iterator com.sun.xml.internal.rngom.digested.DValuePattern
      StackMap stack:
            aload 6 /* vp */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getDatatypeLibrary:()Ljava/lang/String;
            aload 9 /* c */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getDatatypeLibrary:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 36
        15: .line 178
            aload 6 /* vp */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getType:()Ljava/lang/String;
            aload 9 /* c */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 179
            goto 36
        17: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* members */
            new com.sun.tools.internal.xjc.model.CEnumConstant
            dup
        18: .line 183
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.model:Lcom/sun/tools/internal/xjc/model/Model;
            invokevirtual com.sun.tools.internal.xjc.model.Model.getNameConverter:()Lcom/sun/xml/internal/bind/api/impl/NameConverter;
            aload 9 /* c */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getValue:()Ljava/lang/String;
            invokeinterface com.sun.xml.internal.bind.api.impl.NameConverter.toConstantName:(Ljava/lang/String;)Ljava/lang/String;
        19: .line 184
            aconst_null
            aload 9 /* c */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getValue:()Ljava/lang/String;
            aconst_null
            aconst_null
            aload 9 /* c */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getLocation:()Lorg/xml/sax/Locator;
            invokespecial com.sun.tools.internal.xjc.model.CEnumConstant.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/sun/xml/internal/xsom/XSComponent;Lcom/sun/tools/internal/xjc/model/CCustomizations;Lorg/xml/sax/Locator;)V
        20: .line 182
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // com.sun.xml.internal.rngom.digested.DValuePattern c
        end local 7 // com.sun.xml.internal.rngom.digested.DPattern child
        21: .line 171
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler java.util.List com.sun.xml.internal.rngom.digested.DDefine java.util.Iterator com.sun.xml.internal.rngom.digested.DPattern com.sun.xml.internal.rngom.digested.DChoicePattern com.sun.xml.internal.rngom.digested.DValuePattern top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        22: .line 190
            aload 1 /* members */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 24
        23: .line 191
            goto 36
        24: .line 193
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler java.util.List com.sun.xml.internal.rngom.digested.DDefine java.util.Iterator com.sun.xml.internal.rngom.digested.DPattern com.sun.xml.internal.rngom.digested.DChoicePattern com.sun.xml.internal.rngom.digested.DValuePattern
      StackMap stack:
            getstatic com.sun.tools.internal.xjc.model.CBuiltinLeafInfo.STRING:Lcom/sun/tools/internal/xjc/model/CBuiltinLeafInfo;
            astore 7 /* base */
        start local 7 // com.sun.tools.internal.xjc.model.CNonElement base
        25: .line 195
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.datatypes:Ljava/util/Map;
            aload 6 /* vp */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getNs:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib
            astore 8 /* lib */
        start local 8 // com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib lib
        26: .line 196
            aload 8 /* lib */
            ifnull 30
        27: .line 197
            aload 8 /* lib */
            aload 6 /* vp */
            invokevirtual com.sun.xml.internal.rngom.digested.DValuePattern.getType:()Ljava/lang/String;
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib.get:(Ljava/lang/String;)Lcom/sun/tools/internal/xjc/model/TypeUse;
            astore 9 /* use */
        start local 9 // com.sun.tools.internal.xjc.model.TypeUse use
        28: .line 198
            aload 9 /* use */
            instanceof com.sun.tools.internal.xjc.model.CNonElement
            ifeq 30
        29: .line 199
            aload 9 /* use */
            checkcast com.sun.tools.internal.xjc.model.CNonElement
            astore 7 /* base */
        end local 9 // com.sun.tools.internal.xjc.model.TypeUse use
        30: .line 202
      StackMap locals: com.sun.tools.internal.xjc.model.CNonElement com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib
      StackMap stack:
            new com.sun.tools.internal.xjc.model.CEnumLeafInfo
            dup
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.model:Lcom/sun/tools/internal/xjc/model/Model;
            aconst_null
        31: .line 203
            new com.sun.tools.internal.xjc.model.CClassInfoParent$Package
            dup
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.pkg:Lcom/sun/codemodel/internal/JPackage;
            invokespecial com.sun.tools.internal.xjc.model.CClassInfoParent$Package.<init>:(Lcom/sun/codemodel/internal/JPackage;)V
            aload 2 /* def */
            invokevirtual com.sun.xml.internal.rngom.digested.DDefine.getName:()Ljava/lang/String;
            aload 7 /* base */
        32: .line 204
            new java.util.ArrayList
            dup
            aload 1 /* members */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
        33: .line 205
            aconst_null
            aconst_null
            aload 5 /* cp */
            invokevirtual com.sun.xml.internal.rngom.digested.DChoicePattern.getLocation:()Lorg/xml/sax/Locator;
        34: .line 202
            invokespecial com.sun.tools.internal.xjc.model.CEnumLeafInfo.<init>:(Lcom/sun/tools/internal/xjc/model/Model;Ljavax/xml/namespace/QName;Lcom/sun/tools/internal/xjc/model/CClassInfoParent;Ljava/lang/String;Lcom/sun/tools/internal/xjc/model/CNonElement;Ljava/util/Collection;Lcom/sun/xml/internal/xsom/XSComponent;Lcom/sun/tools/internal/xjc/model/CCustomizations;Lorg/xml/sax/Locator;)V
            astore 9 /* xducer */
        start local 9 // com.sun.tools.internal.xjc.model.CEnumLeafInfo xducer
        35: .line 207
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.classes:Ljava/util/Map;
            aload 5 /* cp */
            iconst_1
            anewarray com.sun.tools.internal.xjc.model.CTypeInfo
            dup
            iconst_0
            aload 9 /* xducer */
            aastore
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // com.sun.tools.internal.xjc.model.CEnumLeafInfo xducer
        end local 8 // com.sun.tools.internal.xjc.reader.relaxng.DatatypeLib lib
        end local 7 // com.sun.tools.internal.xjc.model.CNonElement base
        end local 6 // com.sun.xml.internal.rngom.digested.DValuePattern vp
        end local 5 // com.sun.xml.internal.rngom.digested.DChoicePattern cp
        end local 4 // com.sun.xml.internal.rngom.digested.DPattern p
        end local 2 // com.sun.xml.internal.rngom.digested.DDefine def
        36: .line 160
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        37: .line 210
            return
        end local 1 // java.util.List members
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   38     0     this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
            1   38     1  members  Ljava/util/List<Lcom/sun/tools/internal/xjc/model/CEnumConstant;>;
            3   36     2      def  Lcom/sun/xml/internal/rngom/digested/DDefine;
            4   36     4        p  Lcom/sun/xml/internal/rngom/digested/DPattern;
            6   36     5       cp  Lcom/sun/xml/internal/rngom/digested/DChoicePattern;
            8   36     6       vp  Lcom/sun/xml/internal/rngom/digested/DValuePattern;
           10   21     7    child  Lcom/sun/xml/internal/rngom/digested/DPattern;
           12   21     9        c  Lcom/sun/xml/internal/rngom/digested/DValuePattern;
           25   36     7     base  Lcom/sun/tools/internal/xjc/model/CNonElement;
           26   36     8      lib  Lcom/sun/tools/internal/xjc/reader/relaxng/DatatypeLib;
           28   30     9      use  Lcom/sun/tools/internal/xjc/model/TypeUse;
           35   36     9   xducer  Lcom/sun/tools/internal/xjc/model/CEnumLeafInfo;

  private void promoteElementDefsToClasses();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
         0: .line 215
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.defs:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 6
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.rngom.digested.DDefine
            astore 1 /* def */
        start local 1 // com.sun.xml.internal.rngom.digested.DDefine def
         2: .line 216
            aload 1 /* def */
            invokevirtual com.sun.xml.internal.rngom.digested.DDefine.getPattern:()Lcom/sun/xml/internal/rngom/digested/DPattern;
            astore 3 /* p */
        start local 3 // com.sun.xml.internal.rngom.digested.DPattern p
         3: .line 217
            aload 3 /* p */
            instanceof com.sun.xml.internal.rngom.digested.DElementPattern
            ifeq 6
         4: .line 218
            aload 3 /* p */
            checkcast com.sun.xml.internal.rngom.digested.DElementPattern
            astore 4 /* ep */
        start local 4 // com.sun.xml.internal.rngom.digested.DElementPattern ep
         5: .line 220
            aload 0 /* this */
            aload 4 /* ep */
            invokevirtual com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.mapToClass:(Lcom/sun/xml/internal/rngom/digested/DElementPattern;)V
        end local 4 // com.sun.xml.internal.rngom.digested.DElementPattern ep
        end local 3 // com.sun.xml.internal.rngom.digested.DPattern p
        end local 1 // com.sun.xml.internal.rngom.digested.DDefine def
         6: .line 215
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 225
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.grammar:Lcom/sun/xml/internal/rngom/digested/DPattern;
            new com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler$1
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler$1.<init>:(Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;)V
            invokevirtual com.sun.xml.internal.rngom.digested.DPattern.accept:(Lcom/sun/xml/internal/rngom/digested/DPatternVisitor;)Ljava/lang/Object;
            pop
         8: .line 235
            return
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
            2    6     1   def  Lcom/sun/xml/internal/rngom/digested/DDefine;
            3    6     3     p  Lcom/sun/xml/internal/rngom/digested/DPattern;
            5    6     4    ep  Lcom/sun/xml/internal/rngom/digested/DElementPattern;

  private void mapToClass(com.sun.xml.internal.rngom.digested.DElementPattern);
    descriptor: (Lcom/sun/xml/internal/rngom/digested/DElementPattern;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=13, locals=9, args_size=2
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
        start local 1 // com.sun.xml.internal.rngom.digested.DElementPattern p
         0: .line 238
            aload 1 /* p */
            invokevirtual com.sun.xml.internal.rngom.digested.DElementPattern.getName:()Lcom/sun/xml/internal/rngom/nc/NameClass;
            astore 2 /* nc */
        start local 2 // com.sun.xml.internal.rngom.nc.NameClass nc
         1: .line 239
            aload 2 /* nc */
            invokevirtual com.sun.xml.internal.rngom.nc.NameClass.isOpen:()Z
            ifeq 3
         2: .line 240
            return
         3: .line 242
      StackMap locals: com.sun.xml.internal.rngom.nc.NameClass
      StackMap stack:
            aload 2 /* nc */
            invokevirtual com.sun.xml.internal.rngom.nc.NameClass.listNames:()Ljava/util/Set;
            astore 3 /* names */
        start local 3 // java.util.Set names
         4: .line 244
            aload 3 /* names */
            invokeinterface java.util.Set.size:()I
            anewarray com.sun.tools.internal.xjc.model.CClassInfo
            astore 4 /* types */
        start local 4 // com.sun.tools.internal.xjc.model.CClassInfo[] types
         5: .line 245
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: .line 246
            aload 3 /* names */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler com.sun.xml.internal.rngom.digested.DElementPattern com.sun.xml.internal.rngom.nc.NameClass java.util.Set com.sun.tools.internal.xjc.model.CClassInfo[] int top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.xml.namespace.QName
            astore 6 /* n */
        start local 6 // javax.xml.namespace.QName n
         8: .line 248
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.model:Lcom/sun/tools/internal/xjc/model/Model;
            invokevirtual com.sun.tools.internal.xjc.model.Model.getNameConverter:()Lcom/sun/xml/internal/bind/api/impl/NameConverter;
            aload 6 /* n */
            invokevirtual javax.xml.namespace.QName.getLocalPart:()Ljava/lang/String;
            invokeinterface com.sun.xml.internal.bind.api.impl.NameConverter.toClassName:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* name */
        start local 8 // java.lang.String name
         9: .line 250
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.bindQueue:Ljava/util/Map;
        10: .line 251
            aload 4 /* types */
            iload 5 /* i */
            iinc 5 /* i */ 1
            new com.sun.tools.internal.xjc.model.CClassInfo
            dup
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.model:Lcom/sun/tools/internal/xjc/model/Model;
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.pkg:Lcom/sun/codemodel/internal/JPackage;
            aload 8 /* name */
            aload 1 /* p */
            invokevirtual com.sun.xml.internal.rngom.digested.DElementPattern.getLocation:()Lorg/xml/sax/Locator;
            aconst_null
            aload 6 /* n */
            aconst_null
            aconst_null
            invokespecial com.sun.tools.internal.xjc.model.CClassInfo.<init>:(Lcom/sun/tools/internal/xjc/model/Model;Lcom/sun/codemodel/internal/JPackage;Ljava/lang/String;Lorg/xml/sax/Locator;Ljavax/xml/namespace/QName;Ljavax/xml/namespace/QName;Lcom/sun/xml/internal/xsom/XSComponent;Lcom/sun/tools/internal/xjc/model/CCustomizations;)V
            dup_x2
            aastore
        11: .line 252
            aload 1 /* p */
            invokevirtual com.sun.xml.internal.rngom.digested.DElementPattern.getChild:()Lcom/sun/xml/internal/rngom/digested/DPattern;
        12: .line 250
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // java.lang.String name
        end local 6 // javax.xml.namespace.QName n
        13: .line 246
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        14: .line 255
            aload 0 /* this */
            getfield com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler.classes:Ljava/util/Map;
            aload 1 /* p */
            aload 4 /* types */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 256
            return
        end local 5 // int i
        end local 4 // com.sun.tools.internal.xjc.model.CClassInfo[] types
        end local 3 // java.util.Set names
        end local 2 // com.sun.xml.internal.rngom.nc.NameClass nc
        end local 1 // com.sun.xml.internal.rngom.digested.DElementPattern p
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
            0   16     1      p  Lcom/sun/xml/internal/rngom/digested/DElementPattern;
            1   16     2     nc  Lcom/sun/xml/internal/rngom/nc/NameClass;
            4   16     3  names  Ljava/util/Set<Ljavax/xml/namespace/QName;>;
            5   16     4  types  [Lcom/sun/tools/internal/xjc/model/CClassInfo;
            6   16     5      i  I
            8   13     6      n  Ljavax/xml/namespace/QName;
            9   13     8   name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      p     

  private void promoteTypePatternsToClasses();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
         0: .line 269
            return
        end local 0 // com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/internal/xjc/reader/relaxng/RELAXNGCompiler;
}
SourceFile: "RELAXNGCompiler.java"
NestMembers:
  com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler$1
InnerClasses:
  public final Package = com.sun.tools.internal.xjc.model.CClassInfoParent$Package of com.sun.tools.internal.xjc.model.CClassInfoParent
  com.sun.tools.internal.xjc.reader.relaxng.RELAXNGCompiler$1
  public abstract Entry = java.util.Map$Entry of java.util.Map