class com.sun.xml.internal.xsom.impl.Util
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.xml.internal.xsom.impl.Util
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.xml.internal.xsom.impl.Util this
         0: .line 42
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.xml.internal.xsom.impl.Util this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/xml/internal/xsom/impl/Util;

  private static com.sun.xml.internal.xsom.XSType[] listDirectSubstitutables(com.sun.xml.internal.xsom.XSType);
    descriptor: (Lcom/sun/xml/internal/xsom/XSType;)[Lcom/sun/xml/internal/xsom/XSType;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // com.sun.xml.internal.xsom.XSType _this
         0: .line 44
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* r */
        start local 1 // java.util.ArrayList r
         1: .line 47
            aload 0 /* _this */
            invokeinterface com.sun.xml.internal.xsom.XSType.getOwnerSchema:()Lcom/sun/xml/internal/xsom/XSSchema;
            checkcast com.sun.xml.internal.xsom.impl.SchemaImpl
            getfield com.sun.xml.internal.xsom.impl.SchemaImpl.parent:Lcom/sun/xml/internal/xsom/impl/SchemaSetImpl;
            invokevirtual com.sun.xml.internal.xsom.impl.SchemaSetImpl.iterateTypes:()Ljava/util/Iterator;
            astore 2 /* itr */
        start local 2 // java.util.Iterator itr
         2: .line 48
            goto 6
         3: .line 49
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 2 /* itr */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.xml.internal.xsom.XSType
            astore 3 /* t */
        start local 3 // com.sun.xml.internal.xsom.XSType t
         4: .line 50
            aload 3 /* t */
            invokeinterface com.sun.xml.internal.xsom.XSType.getBaseType:()Lcom/sun/xml/internal/xsom/XSType;
            aload 0 /* _this */
            if_acmpne 6
         5: .line 51
            aload 1 /* r */
            aload 3 /* t */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.sun.xml.internal.xsom.XSType t
         6: .line 48
      StackMap locals:
      StackMap stack:
            aload 2 /* itr */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         7: .line 53
            aload 1 /* r */
            aload 1 /* r */
            invokevirtual java.util.ArrayList.size:()I
            anewarray com.sun.xml.internal.xsom.XSType
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.xml.internal.xsom.XSType[]
            areturn
        end local 2 // java.util.Iterator itr
        end local 1 // java.util.ArrayList r
        end local 0 // com.sun.xml.internal.xsom.XSType _this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  _this  Lcom/sun/xml/internal/xsom/XSType;
            1    8     1      r  Ljava/util/ArrayList;
            2    8     2    itr  Ljava/util/Iterator;
            4    6     3      t  Lcom/sun/xml/internal/xsom/XSType;
    MethodParameters:
       Name  Flags
      _this  

  public static com.sun.xml.internal.xsom.XSType[] listSubstitutables(com.sun.xml.internal.xsom.XSType);
    descriptor: (Lcom/sun/xml/internal/xsom/XSType;)[Lcom/sun/xml/internal/xsom/XSType;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.xml.internal.xsom.XSType _this
         0: .line 57
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 1 /* substitables */
        start local 1 // java.util.Set substitables
         1: .line 58
            aload 0 /* _this */
            aload 1 /* substitables */
            invokestatic com.sun.xml.internal.xsom.impl.Util.buildSubstitutables:(Lcom/sun/xml/internal/xsom/XSType;Ljava/util/Set;)V
         2: .line 59
            aload 1 /* substitables */
            aload 1 /* substitables */
            invokeinterface java.util.Set.size:()I
            anewarray com.sun.xml.internal.xsom.XSType
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.sun.xml.internal.xsom.XSType[]
            areturn
        end local 1 // java.util.Set substitables
        end local 0 // com.sun.xml.internal.xsom.XSType _this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0         _this  Lcom/sun/xml/internal/xsom/XSType;
            1    3     1  substitables  Ljava/util/Set;
    MethodParameters:
       Name  Flags
      _this  

  public static void buildSubstitutables(com.sun.xml.internal.xsom.XSType, java.util.Set);
    descriptor: (Lcom/sun/xml/internal/xsom/XSType;Ljava/util/Set;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.xml.internal.xsom.XSType _this
        start local 1 // java.util.Set substitutables
         0: .line 63
            aload 0 /* _this */
            invokeinterface com.sun.xml.internal.xsom.XSType.isLocal:()Z
            ifeq 1
            return
         1: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* _this */
            aload 0 /* _this */
            aload 1 /* substitutables */
            invokestatic com.sun.xml.internal.xsom.impl.Util.buildSubstitutables:(Lcom/sun/xml/internal/xsom/XSType;Lcom/sun/xml/internal/xsom/XSType;Ljava/util/Set;)V
         2: .line 65
            return
        end local 1 // java.util.Set substitutables
        end local 0 // com.sun.xml.internal.xsom.XSType _this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0           _this  Lcom/sun/xml/internal/xsom/XSType;
            0    3     1  substitutables  Ljava/util/Set;
    MethodParameters:
                Name  Flags
      _this           
      substitutables  

  private static void buildSubstitutables(com.sun.xml.internal.xsom.XSType, com.sun.xml.internal.xsom.XSType, java.util.Set);
    descriptor: (Lcom/sun/xml/internal/xsom/XSType;Lcom/sun/xml/internal/xsom/XSType;Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // com.sun.xml.internal.xsom.XSType head
        start local 1 // com.sun.xml.internal.xsom.XSType _this
        start local 2 // java.util.Set substitutables
         0: .line 68
            aload 0 /* head */
            aload 1 /* _this */
            invokestatic com.sun.xml.internal.xsom.impl.Util.isSubstitutable:(Lcom/sun/xml/internal/xsom/XSType;Lcom/sun/xml/internal/xsom/XSType;)Z
            ifne 2
         1: .line 69
            return
         2: .line 71
      StackMap locals:
      StackMap stack:
            aload 2 /* substitutables */
            aload 1 /* _this */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 9
         3: .line 72
            aload 1 /* _this */
            invokestatic com.sun.xml.internal.xsom.impl.Util.listDirectSubstitutables:(Lcom/sun/xml/internal/xsom/XSType;)[Lcom/sun/xml/internal/xsom/XSType;
            astore 3 /* child */
        start local 3 // com.sun.xml.internal.xsom.XSType[] child
         4: .line 73
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 8
         6: .line 74
      StackMap locals: com.sun.xml.internal.xsom.XSType[] int
      StackMap stack:
            aload 0 /* head */
            aload 3 /* child */
            iload 4 /* i */
            aaload
            aload 2 /* substitutables */
            invokestatic com.sun.xml.internal.xsom.impl.Util.buildSubstitutables:(Lcom/sun/xml/internal/xsom/XSType;Lcom/sun/xml/internal/xsom/XSType;Ljava/util/Set;)V
         7: .line 73
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* child */
            arraylength
            if_icmplt 6
        end local 4 // int i
        end local 3 // com.sun.xml.internal.xsom.XSType[] child
         9: .line 76
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.Set substitutables
        end local 1 // com.sun.xml.internal.xsom.XSType _this
        end local 0 // com.sun.xml.internal.xsom.XSType head
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0            head  Lcom/sun/xml/internal/xsom/XSType;
            0   10     1           _this  Lcom/sun/xml/internal/xsom/XSType;
            0   10     2  substitutables  Ljava/util/Set;
            4    9     3           child  [Lcom/sun/xml/internal/xsom/XSType;
            5    9     4               i  I
    MethodParameters:
                Name  Flags
      head            
      _this           
      substitutables  

  private static boolean isSubstitutable(com.sun.xml.internal.xsom.XSType, com.sun.xml.internal.xsom.XSType);
    descriptor: (Lcom/sun/xml/internal/xsom/XSType;Lcom/sun/xml/internal/xsom/XSType;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.xml.internal.xsom.XSType _base
        start local 1 // com.sun.xml.internal.xsom.XSType derived
         0: .line 86
            aload 0 /* _base */
            invokeinterface com.sun.xml.internal.xsom.XSType.isComplexType:()Z
            ifeq 8
         1: .line 87
            aload 0 /* _base */
            invokeinterface com.sun.xml.internal.xsom.XSType.asComplexType:()Lcom/sun/xml/internal/xsom/XSComplexType;
            astore 2 /* base */
        start local 2 // com.sun.xml.internal.xsom.XSComplexType base
         2: .line 89
            goto 6
         3: .line 90
      StackMap locals: com.sun.xml.internal.xsom.XSComplexType
      StackMap stack:
            aload 2 /* base */
            aload 1 /* derived */
            invokeinterface com.sun.xml.internal.xsom.XSType.getDerivationMethod:()I
            invokeinterface com.sun.xml.internal.xsom.XSComplexType.isSubstitutionProhibited:(I)Z
            ifeq 5
         4: .line 91
            iconst_0
            ireturn
         5: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* derived */
            invokeinterface com.sun.xml.internal.xsom.XSType.getBaseType:()Lcom/sun/xml/internal/xsom/XSType;
            astore 1 /* derived */
      StackMap locals:
      StackMap stack:
         6: aload 2 /* base */
            aload 1 /* derived */
            if_acmpne 3
         7: .line 93
            iconst_1
            ireturn
        end local 2 // com.sun.xml.internal.xsom.XSComplexType base
         8: .line 96
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // com.sun.xml.internal.xsom.XSType derived
        end local 0 // com.sun.xml.internal.xsom.XSType _base
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0    _base  Lcom/sun/xml/internal/xsom/XSType;
            0    9     1  derived  Lcom/sun/xml/internal/xsom/XSType;
            2    8     2     base  Lcom/sun/xml/internal/xsom/XSComplexType;
    MethodParameters:
         Name  Flags
      _base    
      derived  
}
SourceFile: "Util.java"