public class org.testng.Converter
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.testng.Converter
  super_class: java.lang.Object
{
  private java.util.List<java.lang.String> m_files;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(description = "file1 [file2 file3...]", required = true)

  private java.lang.String m_outputDirectory;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.beust.jcommander.Parameter(names = {"-d"}, description = "The directory where the file(s) will be created")

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.testng.Converter this
         0: .line 25
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            ldc "."
            putfield org.testng.Converter.m_outputDirectory:Ljava/lang/String;
         2: .line 25
            return
        end local 0 // org.testng.Converter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/testng/Converter;

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 34
            new org.testng.Converter
            dup
            invokespecial org.testng.Converter.<init>:()V
            astore 1 /* c */
        start local 1 // org.testng.Converter c
         1: .line 35
            aload 1 /* c */
            aload 0 /* args */
            invokevirtual org.testng.Converter.run:([Ljava/lang/String;)V
         2: .line 36
            return
        end local 1 // org.testng.Converter c
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  args  [Ljava/lang/String;
            1    3     1     c  Lorg/testng/Converter;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      args  

  private void findAllSuites(java.util.Collection<org.testng.xml.XmlSuite>, java.util.Set<org.testng.xml.XmlSuite>);
    descriptor: (Ljava/util/Collection;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.testng.Converter this
        start local 1 // java.util.Collection suites
        start local 2 // java.util.Set result
         0: .line 39
            aload 1 /* suites */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.testng.Converter java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 3 /* s */
        start local 3 // org.testng.xml.XmlSuite s
         2: .line 40
            aload 2 /* result */
            aload 3 /* s */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 41
            aload 3 /* s */
            invokevirtual org.testng.xml.XmlSuite.getChildSuites:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 6
      StackMap locals: org.testng.Converter java.util.Collection java.util.Set org.testng.xml.XmlSuite java.util.Iterator top java.util.Iterator
      StackMap stack:
         4: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 5 /* xs */
        start local 5 // org.testng.xml.XmlSuite xs
         5: .line 42
            aload 0 /* this */
            aload 5 /* xs */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            aload 2 /* result */
            invokevirtual org.testng.Converter.findAllSuites:(Ljava/util/Collection;Ljava/util/Set;)V
        end local 5 // org.testng.xml.XmlSuite xs
         6: .line 41
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // org.testng.xml.XmlSuite s
         7: .line 39
      StackMap locals: org.testng.Converter java.util.Collection java.util.Set top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 45
            return
        end local 2 // java.util.Set result
        end local 1 // java.util.Collection suites
        end local 0 // org.testng.Converter this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/testng/Converter;
            0    9     1  suites  Ljava/util/Collection<Lorg/testng/xml/XmlSuite;>;
            0    9     2  result  Ljava/util/Set<Lorg/testng/xml/XmlSuite;>;
            2    7     3       s  Lorg/testng/xml/XmlSuite;
            5    6     5      xs  Lorg/testng/xml/XmlSuite;
    Signature: (Ljava/util/Collection<Lorg/testng/xml/XmlSuite;>;Ljava/util/Set<Lorg/testng/xml/XmlSuite;>;)V
    MethodParameters:
        Name  Flags
      suites  
      result  

  private void run(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // org.testng.Converter this
        start local 1 // java.lang.String[] args
         0: .line 48
            new com.beust.jcommander.JCommander
            dup
            aload 0 /* this */
            invokespecial com.beust.jcommander.JCommander.<init>:(Ljava/lang/Object;)V
            astore 2 /* jc */
        start local 2 // com.beust.jcommander.JCommander jc
         1: .line 50
            aload 2 /* jc */
            aload 1 /* args */
            invokevirtual com.beust.jcommander.JCommander.parse:([Ljava/lang/String;)V
         2: .line 51
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.testng.Converter.m_outputDirectory:Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 3 /* f */
        start local 3 // java.io.File f
         3: .line 52
            aload 3 /* f */
            invokevirtual java.io.File.exists:()Z
            ifne 4
            aload 3 /* f */
            invokevirtual java.io.File.mkdir:()Z
            pop
         4: .line 54
      StackMap locals: com.beust.jcommander.JCommander java.io.File
      StackMap stack:
            aload 0 /* this */
            getfield org.testng.Converter.m_files:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 27
      StackMap locals: org.testng.Converter java.lang.String[] com.beust.jcommander.JCommander java.io.File top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* file */
        start local 4 // java.lang.String file
         6: .line 55
            invokestatic org.testng.collections.Sets.newHashSet:()Ljava/util/Set;
            astore 6 /* allSuites */
        start local 6 // java.util.Set allSuites
         7: .line 56
            new org.testng.xml.Parser
            dup
            aload 4 /* file */
            invokespecial org.testng.xml.Parser.<init>:(Ljava/lang/String;)V
            astore 7 /* parser */
        start local 7 // org.testng.xml.Parser parser
         8: .line 57
            aload 7 /* parser */
            iconst_0
            invokevirtual org.testng.xml.Parser.setLoadClasses:(Z)V
         9: .line 58
            aload 0 /* this */
            aload 7 /* parser */
            invokevirtual org.testng.xml.Parser.parse:()Ljava/util/Collection;
            aload 6 /* allSuites */
            invokevirtual org.testng.Converter.findAllSuites:(Ljava/util/Collection;Ljava/util/Set;)V
        10: .line 60
            aload 6 /* allSuites */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 26
      StackMap locals: org.testng.Converter java.lang.String[] com.beust.jcommander.JCommander java.io.File java.lang.String java.util.Iterator java.util.Set org.testng.xml.Parser top java.util.Iterator
      StackMap stack:
        11: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.testng.xml.XmlSuite
            astore 8 /* suite */
        start local 8 // org.testng.xml.XmlSuite suite
        12: .line 61
            aload 8 /* suite */
            invokevirtual org.testng.xml.XmlSuite.getFileName:()Ljava/lang/String;
            astore 10 /* fileName */
        start local 10 // java.lang.String fileName
        13: .line 62
            aload 10 /* fileName */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 11 /* ind */
        start local 11 // int ind
        14: .line 63
            aload 10 /* fileName */
            iconst_0
            iload 11 /* ind */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 12 /* bn */
        start local 12 // java.lang.String bn
        15: .line 64
            aload 12 /* bn */
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 13 /* ind2 */
        start local 13 // int ind2
        16: .line 65
            aload 12 /* bn */
            iload 13 /* ind2 */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 14 /* baseName */
        start local 14 // java.lang.String baseName
        17: .line 67
            aload 4 /* file */
            ldc ".xml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 21
        18: .line 68
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.testng.Converter.m_outputDirectory:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 14 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".yaml"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 15 /* newFile */
        start local 15 // java.io.File newFile
        19: .line 69
            aload 0 /* this */
            aload 15 /* newFile */
            aload 8 /* suite */
            invokestatic org.testng.internal.Yaml.toYaml:(Lorg/testng/xml/XmlSuite;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.testng.Converter.writeFile:(Ljava/io/File;Ljava/lang/String;)V
        end local 15 // java.io.File newFile
        20: .line 70
            goto 26
      StackMap locals: org.testng.Converter java.lang.String[] com.beust.jcommander.JCommander java.io.File java.lang.String java.util.Iterator java.util.Set org.testng.xml.Parser org.testng.xml.XmlSuite java.util.Iterator java.lang.String int java.lang.String int java.lang.String
      StackMap stack:
        21: aload 4 /* file */
            ldc ".yaml"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 25
        22: .line 71
            new java.io.File
            dup
            aload 0 /* this */
            getfield org.testng.Converter.m_outputDirectory:Ljava/lang/String;
            new java.lang.StringBuilder
            dup
            aload 14 /* baseName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".xml"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 15 /* newFile */
        start local 15 // java.io.File newFile
        23: .line 72
            aload 0 /* this */
            aload 15 /* newFile */
            aload 8 /* suite */
            invokevirtual org.testng.xml.XmlSuite.toXml:()Ljava/lang/String;
            invokevirtual org.testng.Converter.writeFile:(Ljava/io/File;Ljava/lang/String;)V
        end local 15 // java.io.File newFile
        24: .line 73
            goto 26
        25: .line 74
      StackMap locals:
      StackMap stack:
            new org.testng.TestNGException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown file type:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.testng.TestNGException.<init>:(Ljava/lang/String;)V
            athrow
        end local 14 // java.lang.String baseName
        end local 13 // int ind2
        end local 12 // java.lang.String bn
        end local 11 // int ind
        end local 10 // java.lang.String fileName
        end local 8 // org.testng.xml.XmlSuite suite
        26: .line 60
      StackMap locals: org.testng.Converter java.lang.String[] com.beust.jcommander.JCommander java.io.File java.lang.String java.util.Iterator java.util.Set org.testng.xml.Parser top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 7 // org.testng.xml.Parser parser
        end local 6 // java.util.Set allSuites
        end local 4 // java.lang.String file
        27: .line 54
      StackMap locals: org.testng.Converter java.lang.String[] com.beust.jcommander.JCommander java.io.File top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        end local 3 // java.io.File f
        28: .line 78
            goto 32
      StackMap locals: org.testng.Converter java.lang.String[] com.beust.jcommander.JCommander
      StackMap stack: com.beust.jcommander.ParameterException
        29: astore 3 /* ex */
        start local 3 // com.beust.jcommander.ParameterException ex
        30: .line 79
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ex */
            invokevirtual com.beust.jcommander.ParameterException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        31: .line 80
            aload 2 /* jc */
            invokevirtual com.beust.jcommander.JCommander.usage:()V
        end local 3 // com.beust.jcommander.ParameterException ex
        32: .line 82
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.beust.jcommander.JCommander jc
        end local 1 // java.lang.String[] args
        end local 0 // org.testng.Converter this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lorg/testng/Converter;
            0   33     1       args  [Ljava/lang/String;
            1   33     2         jc  Lcom/beust/jcommander/JCommander;
            3   28     3          f  Ljava/io/File;
            6   27     4       file  Ljava/lang/String;
            7   27     6  allSuites  Ljava/util/Set<Lorg/testng/xml/XmlSuite;>;
            8   27     7     parser  Lorg/testng/xml/Parser;
           12   26     8      suite  Lorg/testng/xml/XmlSuite;
           13   26    10   fileName  Ljava/lang/String;
           14   26    11        ind  I
           15   26    12         bn  Ljava/lang/String;
           16   26    13       ind2  I
           17   26    14   baseName  Ljava/lang/String;
           19   20    15    newFile  Ljava/io/File;
           23   24    15    newFile  Ljava/io/File;
           30   32     3         ex  Lcom/beust/jcommander/ParameterException;
      Exception table:
        from    to  target  type
           1    28      29  Class com.beust.jcommander.ParameterException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      args  

  private void writeFile(java.io.File, java.lang.String);
    descriptor: (Ljava/io/File;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.testng.Converter this
        start local 1 // java.io.File newFile
        start local 2 // java.lang.String content
         0: .line 85
            aconst_null
            astore 3
            aconst_null
            astore 4
         1: new java.io.FileWriter
            dup
            aload 1 /* newFile */
            invokespecial java.io.FileWriter.<init>:(Ljava/io/File;)V
            astore 5 /* bw */
        start local 5 // java.io.FileWriter bw
         2: .line 86
            aload 5 /* bw */
            aload 2 /* content */
            invokevirtual java.io.FileWriter.write:(Ljava/lang/String;)V
         3: .line 87
            aload 5 /* bw */
            ifnull 9
            aload 5 /* bw */
            invokevirtual java.io.FileWriter.close:()V
            goto 9
      StackMap locals: org.testng.Converter java.io.File java.lang.String java.lang.Throwable java.lang.Throwable java.io.FileWriter
      StackMap stack: java.lang.Throwable
         4: astore 3
            aload 5 /* bw */
            ifnull 5
            aload 5 /* bw */
            invokevirtual java.io.FileWriter.close:()V
        end local 5 // java.io.FileWriter bw
      StackMap locals:
      StackMap stack:
         5: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: astore 4
            aload 3
            ifnonnull 7
            aload 4
            astore 3
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 3
            aload 4
            if_acmpeq 8
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
         8: aload 3
            athrow
         9: .line 88
      StackMap locals:
      StackMap stack:
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Wrote "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* newFile */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        10: .line 89
            return
        end local 2 // java.lang.String content
        end local 1 // java.io.File newFile
        end local 0 // org.testng.Converter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/testng/Converter;
            0   11     1  newFile  Ljava/io/File;
            0   11     2  content  Ljava/lang/String;
            2    5     5       bw  Ljava/io/FileWriter;
      Exception table:
        from    to  target  type
           2     3       4  any
           1     6       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      newFile  
      content  
}
SourceFile: "Converter.java"