public class org.hibernate.tool.hbm2ddl.SchemaValidator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.tool.hbm2ddl.SchemaValidator
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private org.hibernate.tool.hbm2ddl.ConnectionHelper connectionHelper;
    descriptor: Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.cfg.Configuration configuration;
    descriptor: Lorg/hibernate/cfg/Configuration;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.dialect.Dialect dialect;
    descriptor: Lorg/hibernate/dialect/Dialect;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 54
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/tool/hbm2ddl/SchemaValidator;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.cfg.Configuration);
    descriptor: (Lorg/hibernate/cfg/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
        start local 1 // org.hibernate.cfg.Configuration cfg
         0: .line 61
            aload 0 /* this */
            aload 1 /* cfg */
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getProperties:()Ljava/util/Properties;
            invokespecial org.hibernate.tool.hbm2ddl.SchemaValidator.<init>:(Lorg/hibernate/cfg/Configuration;Ljava/util/Properties;)V
         1: .line 62
            return
        end local 1 // org.hibernate.cfg.Configuration cfg
        end local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/tool/hbm2ddl/SchemaValidator;
            0    2     1   cfg  Lorg/hibernate/cfg/Configuration;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
      Name  Flags
      cfg   

  public void <init>(org.hibernate.cfg.Configuration, java.util.Properties);
    descriptor: (Lorg/hibernate/cfg/Configuration;Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
        start local 1 // org.hibernate.cfg.Configuration cfg
        start local 2 // java.util.Properties connectionProperties
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 65
            aload 0 /* this */
            aload 1 /* cfg */
            putfield org.hibernate.tool.hbm2ddl.SchemaValidator.configuration:Lorg/hibernate/cfg/Configuration;
         2: .line 66
            aload 0 /* this */
            aload 2 /* connectionProperties */
            invokestatic org.hibernate.dialect.Dialect.getDialect:(Ljava/util/Properties;)Lorg/hibernate/dialect/Dialect;
            putfield org.hibernate.tool.hbm2ddl.SchemaValidator.dialect:Lorg/hibernate/dialect/Dialect;
         3: .line 67
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 3 /* props */
        start local 3 // java.util.Properties props
         4: .line 68
            aload 3 /* props */
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.dialect:Lorg/hibernate/dialect/Dialect;
            invokevirtual org.hibernate.dialect.Dialect.getDefaultProperties:()Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
         5: .line 69
            aload 3 /* props */
            aload 2 /* connectionProperties */
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
         6: .line 70
            aload 0 /* this */
            new org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper
            dup
            aload 3 /* props */
            invokespecial org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.<init>:(Ljava/util/Properties;)V
            putfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
         7: .line 71
            return
        end local 3 // java.util.Properties props
        end local 2 // java.util.Properties connectionProperties
        end local 1 // org.hibernate.cfg.Configuration cfg
        end local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    8     0                  this  Lorg/hibernate/tool/hbm2ddl/SchemaValidator;
            0    8     1                   cfg  Lorg/hibernate/cfg/Configuration;
            0    8     2  connectionProperties  Ljava/util/Properties;
            4    8     3                 props  Ljava/util/Properties;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                      Name  Flags
      cfg                   
      connectionProperties  

  public void <init>(org.hibernate.service.ServiceRegistry, org.hibernate.cfg.Configuration);
    descriptor: (Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
        start local 1 // org.hibernate.service.ServiceRegistry serviceRegistry
        start local 2 // org.hibernate.cfg.Configuration cfg
         0: .line 73
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 74
            aload 0 /* this */
            aload 2 /* cfg */
            putfield org.hibernate.tool.hbm2ddl.SchemaValidator.configuration:Lorg/hibernate/cfg/Configuration;
         2: .line 75
            aload 1 /* serviceRegistry */
            ldc Lorg/hibernate/engine/jdbc/spi/JdbcServices;
            invokeinterface org.hibernate.service.ServiceRegistry.getService:(Ljava/lang/Class;)Lorg/hibernate/service/Service;
            checkcast org.hibernate.engine.jdbc.spi.JdbcServices
            astore 3 /* jdbcServices */
        start local 3 // org.hibernate.engine.jdbc.spi.JdbcServices jdbcServices
         3: .line 76
            aload 0 /* this */
            aload 3 /* jdbcServices */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getDialect:()Lorg/hibernate/dialect/Dialect;
            putfield org.hibernate.tool.hbm2ddl.SchemaValidator.dialect:Lorg/hibernate/dialect/Dialect;
         4: .line 77
            aload 0 /* this */
            new org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper
            dup
            aload 3 /* jdbcServices */
            invokeinterface org.hibernate.engine.jdbc.spi.JdbcServices.getConnectionProvider:()Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;
            invokespecial org.hibernate.tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.<init>:(Lorg/hibernate/engine/jdbc/connections/spi/ConnectionProvider;)V
            putfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
         5: .line 78
            return
        end local 3 // org.hibernate.engine.jdbc.spi.JdbcServices jdbcServices
        end local 2 // org.hibernate.cfg.Configuration cfg
        end local 1 // org.hibernate.service.ServiceRegistry serviceRegistry
        end local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/hibernate/tool/hbm2ddl/SchemaValidator;
            0    6     1  serviceRegistry  Lorg/hibernate/service/ServiceRegistry;
            0    6     2              cfg  Lorg/hibernate/cfg/Configuration;
            3    6     3     jdbcServices  Lorg/hibernate/engine/jdbc/spi/JdbcServices;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                 Name  Flags
      serviceRegistry  
      cfg              

  private static org.hibernate.boot.registry.internal.StandardServiceRegistryImpl createServiceRegistry(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Lorg/hibernate/boot/registry/internal/StandardServiceRegistryImpl;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Properties properties
         0: .line 81
            aload 0 /* properties */
            invokestatic org.hibernate.cfg.Environment.verifyProperties:(Ljava/util/Map;)V
         1: .line 82
            aload 0 /* properties */
            invokestatic org.hibernate.internal.util.config.ConfigurationHelper.resolvePlaceHolders:(Ljava/util/Map;)V
         2: .line 83
            new org.hibernate.boot.registry.StandardServiceRegistryBuilder
            dup
            invokespecial org.hibernate.boot.registry.StandardServiceRegistryBuilder.<init>:()V
            aload 0 /* properties */
            invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.applySettings:(Ljava/util/Map;)Lorg/hibernate/boot/registry/StandardServiceRegistryBuilder;
            invokevirtual org.hibernate.boot.registry.StandardServiceRegistryBuilder.build:()Lorg/hibernate/boot/registry/StandardServiceRegistry;
            checkcast org.hibernate.boot.registry.internal.StandardServiceRegistryImpl
            areturn
        end local 0 // java.util.Properties properties
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  properties  Ljava/util/Properties;
    MethodParameters:
            Name  Flags
      properties  

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String[] args
         0: .line 88
            new org.hibernate.cfg.Configuration
            dup
            invokespecial org.hibernate.cfg.Configuration.<init>:()V
            astore 1 /* cfg */
        start local 1 // org.hibernate.cfg.Configuration cfg
         1: .line 90
            aconst_null
            astore 2 /* propFile */
        start local 2 // java.lang.String propFile
         2: .line 91
            iconst_0
            istore 3 /* hasNaming */
        start local 3 // boolean hasNaming
         3: .line 92
            iconst_0
            istore 4 /* hasNamingDelegator */
        start local 4 // boolean hasNamingDelegator
         4: .line 94
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 30
         6: .line 95
      StackMap locals: java.lang.String[] org.hibernate.cfg.Configuration java.lang.String int int int
      StackMap stack:
            aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 28
         7: .line 96
            aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--properties="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 97
            aload 0 /* args */
            iload 5 /* i */
            aaload
            bipush 13
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 2 /* propFile */
         9: .line 98
            goto 29
        10: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--config="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        11: .line 100
            aload 1 /* cfg */
            aload 0 /* args */
            iload 5 /* i */
            aaload
            bipush 9
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.hibernate.cfg.Configuration.configure:(Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
        12: .line 101
            goto 29
        13: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--naming="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 20
        14: .line 103
            iconst_1
            istore 3 /* hasNaming */
        15: .line 104
            iload 3 /* hasNaming */
            iload 4 /* hasNamingDelegator */
            invokestatic org.hibernate.tool.hbm2ddl.SchemaValidator.checkNamingAndNamingDelegatorNotBothSpecified:(ZZ)V
        16: .line 105
            aload 1 /* cfg */
        17: .line 106
            aload 0 /* args */
            iload 5 /* i */
            aaload
            bipush 9
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.hibernate.internal.util.ReflectHelper.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.hibernate.cfg.NamingStrategy
        18: .line 105
            invokevirtual org.hibernate.cfg.Configuration.setNamingStrategy:(Lorg/hibernate/cfg/NamingStrategy;)Lorg/hibernate/cfg/Configuration;
            pop
        19: .line 108
            goto 29
        20: .line 109
      StackMap locals:
      StackMap stack:
            aload 0 /* args */
            iload 5 /* i */
            aaload
            ldc "--namingdelegator="
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 29
        21: .line 110
            iconst_1
            istore 4 /* hasNamingDelegator */
        22: .line 111
            iload 3 /* hasNaming */
            iload 4 /* hasNamingDelegator */
            invokestatic org.hibernate.tool.hbm2ddl.SchemaValidator.checkNamingAndNamingDelegatorNotBothSpecified:(ZZ)V
        23: .line 112
            aload 1 /* cfg */
        24: .line 113
            aload 0 /* args */
            iload 5 /* i */
            aaload
            bipush 18
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic org.hibernate.internal.util.ReflectHelper.classForName:(Ljava/lang/String;)Ljava/lang/Class;
        25: .line 114
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.hibernate.cfg.naming.NamingStrategyDelegator
        26: .line 112
            invokevirtual org.hibernate.cfg.Configuration.setNamingStrategyDelegator:(Lorg/hibernate/cfg/naming/NamingStrategyDelegator;)Lorg/hibernate/cfg/Configuration;
            pop
        27: .line 118
            goto 29
        28: .line 120
      StackMap locals:
      StackMap stack:
            aload 1 /* cfg */
            aload 0 /* args */
            iload 5 /* i */
            aaload
            invokevirtual org.hibernate.cfg.Configuration.addFile:(Ljava/lang/String;)Lorg/hibernate/cfg/Configuration;
            pop
        29: .line 94
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 5 /* i */
            aload 0 /* args */
            arraylength
            if_icmplt 6
        end local 5 // int i
        31: .line 125
            aload 2 /* propFile */
            ifnull 36
        32: .line 126
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 5 /* props */
        start local 5 // java.util.Properties props
        33: .line 127
            aload 5 /* props */
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getProperties:()Ljava/util/Properties;
            invokevirtual java.util.Properties.putAll:(Ljava/util/Map;)V
        34: .line 128
            aload 5 /* props */
            new java.io.FileInputStream
            dup
            aload 2 /* propFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
        35: .line 129
            aload 1 /* cfg */
            aload 5 /* props */
            invokevirtual org.hibernate.cfg.Configuration.setProperties:(Ljava/util/Properties;)Lorg/hibernate/cfg/Configuration;
            pop
        end local 5 // java.util.Properties props
        36: .line 132
      StackMap locals:
      StackMap stack:
            aload 1 /* cfg */
            invokevirtual org.hibernate.cfg.Configuration.getProperties:()Ljava/util/Properties;
            invokestatic org.hibernate.tool.hbm2ddl.SchemaValidator.createServiceRegistry:(Ljava/util/Properties;)Lorg/hibernate/boot/registry/internal/StandardServiceRegistryImpl;
            astore 5 /* serviceRegistry */
        start local 5 // org.hibernate.boot.registry.internal.StandardServiceRegistryImpl serviceRegistry
        37: .line 134
            new org.hibernate.tool.hbm2ddl.SchemaValidator
            dup
            aload 5 /* serviceRegistry */
            aload 1 /* cfg */
            invokespecial org.hibernate.tool.hbm2ddl.SchemaValidator.<init>:(Lorg/hibernate/service/ServiceRegistry;Lorg/hibernate/cfg/Configuration;)V
            invokevirtual org.hibernate.tool.hbm2ddl.SchemaValidator.validate:()V
        38: .line 135
            goto 42
        39: .line 136
      StackMap locals: java.lang.String[] org.hibernate.cfg.Configuration java.lang.String int int org.hibernate.boot.registry.internal.StandardServiceRegistryImpl
      StackMap stack: java.lang.Throwable
            astore 6
        40: .line 137
            aload 5 /* serviceRegistry */
            invokevirtual org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.destroy:()V
        41: .line 138
            aload 6
            athrow
        42: .line 137
      StackMap locals:
      StackMap stack:
            aload 5 /* serviceRegistry */
            invokevirtual org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.destroy:()V
        end local 5 // org.hibernate.boot.registry.internal.StandardServiceRegistryImpl serviceRegistry
        end local 4 // boolean hasNamingDelegator
        end local 3 // boolean hasNaming
        end local 2 // java.lang.String propFile
        end local 1 // org.hibernate.cfg.Configuration cfg
        43: .line 139
            goto 47
        44: .line 140
      StackMap locals: java.lang.String[]
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
        45: .line 141
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 1 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToRunSchemaUpdate:(Ljava/lang/Exception;)V
        46: .line 142
            aload 1 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 1 // java.lang.Exception e
        47: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String[] args
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   48     0                args  [Ljava/lang/String;
            1   43     1                 cfg  Lorg/hibernate/cfg/Configuration;
            2   43     2            propFile  Ljava/lang/String;
            3   43     3           hasNaming  Z
            4   43     4  hasNamingDelegator  Z
            5   31     5                   i  I
           33   36     5               props  Ljava/util/Properties;
           37   43     5     serviceRegistry  Lorg/hibernate/boot/registry/internal/StandardServiceRegistryImpl;
           45   47     1                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          37    39      39  any
           0    43      44  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      args  

  private static void checkNamingAndNamingDelegatorNotBothSpecified(boolean, boolean);
    descriptor: (ZZ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // boolean namingSpecified
        start local 1 // boolean namingDelegatorSpecified
         0: .line 147
            iload 0 /* namingSpecified */
            ifeq 2
            iload 1 /* namingDelegatorSpecified */
            ifeq 2
         1: .line 148
            new org.hibernate.HibernateException
            dup
            ldc "--naming=<naming_strategy> and --namingdelegator=<naming_strategy_delegator> cannot be used together."
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 150
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean namingDelegatorSpecified
        end local 0 // boolean namingSpecified
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0           namingSpecified  Z
            0    3     1  namingDelegatorSpecified  Z
    MethodParameters:
                          Name  Flags
      namingSpecified           
      namingDelegatorSpecified  

  public void validate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
         0: .line 157
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.runningSchemaValidator:()V
         1: .line 159
            aconst_null
            astore 1 /* connection */
        start local 1 // java.sql.Connection connection
         2: .line 165
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            invokeinterface org.hibernate.internal.CoreMessageLogger.fetchingDatabaseMetadata:()V
         3: .line 166
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
            iconst_0
            invokeinterface org.hibernate.tool.hbm2ddl.ConnectionHelper.prepare:(Z)V
         4: .line 167
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
            invokeinterface org.hibernate.tool.hbm2ddl.ConnectionHelper.getConnection:()Ljava/sql/Connection;
            astore 1 /* connection */
         5: .line 168
            new org.hibernate.tool.hbm2ddl.DatabaseMetadata
            dup
            aload 1 /* connection */
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.dialect:Lorg/hibernate/dialect/Dialect;
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.configuration:Lorg/hibernate/cfg/Configuration;
            iconst_0
            invokespecial org.hibernate.tool.hbm2ddl.DatabaseMetadata.<init>:(Ljava/sql/Connection;Lorg/hibernate/dialect/Dialect;Lorg/hibernate/cfg/Configuration;Z)V
            astore 2 /* meta */
        start local 2 // org.hibernate.tool.hbm2ddl.DatabaseMetadata meta
         6: .line 169
            goto 10
        end local 2 // org.hibernate.tool.hbm2ddl.DatabaseMetadata meta
         7: .line 170
      StackMap locals: org.hibernate.tool.hbm2ddl.SchemaValidator java.sql.Connection
      StackMap stack: java.sql.SQLException
            astore 3 /* sqle */
        start local 3 // java.sql.SQLException sqle
         8: .line 171
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* sqle */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToGetDatabaseMetadata:(Ljava/sql/SQLException;)V
         9: .line 172
            aload 3 /* sqle */
            athrow
        end local 3 // java.sql.SQLException sqle
        start local 2 // org.hibernate.tool.hbm2ddl.DatabaseMetadata meta
        10: .line 175
      StackMap locals: org.hibernate.tool.hbm2ddl.DatabaseMetadata
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.configuration:Lorg/hibernate/cfg/Configuration;
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.dialect:Lorg/hibernate/dialect/Dialect;
            aload 2 /* meta */
            invokevirtual org.hibernate.cfg.Configuration.validateSchema:(Lorg/hibernate/dialect/Dialect;Lorg/hibernate/tool/hbm2ddl/DatabaseMetadata;)V
        end local 2 // org.hibernate.tool.hbm2ddl.DatabaseMetadata meta
        11: .line 177
            goto 25
        12: .line 178
      StackMap locals: org.hibernate.tool.hbm2ddl.SchemaValidator java.sql.Connection
      StackMap stack: java.sql.SQLException
            astore 2 /* e */
        start local 2 // java.sql.SQLException e
        13: .line 179
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 2 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCompleteSchemaValidation:(Ljava/sql/SQLException;)V
        end local 2 // java.sql.SQLException e
        14: .line 184
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
            invokeinterface org.hibernate.tool.hbm2ddl.ConnectionHelper.release:()V
        15: .line 185
            goto 29
        16: .line 186
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        17: .line 187
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 5 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCloseConnection:(Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        18: goto 29
        19: .line 181
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        20: .line 184
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
            invokeinterface org.hibernate.tool.hbm2ddl.ConnectionHelper.release:()V
        21: .line 185
            goto 24
        22: .line 186
      StackMap locals: org.hibernate.tool.hbm2ddl.SchemaValidator java.sql.Connection top top java.lang.Throwable
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        23: .line 187
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 5 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCloseConnection:(Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        24: .line 190
      StackMap locals:
      StackMap stack:
            aload 4
            athrow
        25: .line 184
      StackMap locals: org.hibernate.tool.hbm2ddl.SchemaValidator java.sql.Connection
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.tool.hbm2ddl.SchemaValidator.connectionHelper:Lorg/hibernate/tool/hbm2ddl/ConnectionHelper;
            invokeinterface org.hibernate.tool.hbm2ddl.ConnectionHelper.release:()V
        26: .line 185
            goto 29
        27: .line 186
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        28: .line 187
            getstatic org.hibernate.tool.hbm2ddl.SchemaValidator.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 5 /* e */
            invokeinterface org.hibernate.internal.CoreMessageLogger.unableToCloseConnection:(Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception e
        29: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.sql.Connection connection
        end local 0 // org.hibernate.tool.hbm2ddl.SchemaValidator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   30     0        this  Lorg/hibernate/tool/hbm2ddl/SchemaValidator;
            2   30     1  connection  Ljava/sql/Connection;
            6    7     2        meta  Lorg/hibernate/tool/hbm2ddl/DatabaseMetadata;
           10   11     2        meta  Lorg/hibernate/tool/hbm2ddl/DatabaseMetadata;
            8   10     3        sqle  Ljava/sql/SQLException;
           13   14     2           e  Ljava/sql/SQLException;
           17   18     5           e  Ljava/lang/Exception;
           23   24     5           e  Ljava/lang/Exception;
           28   29     5           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       7  Class java.sql.SQLException
           2    11      12  Class java.sql.SQLException
          14    15      16  Class java.lang.Exception
           2    14      19  any
          20    21      22  Class java.lang.Exception
          25    26      27  Class java.lang.Exception
}
SourceFile: "SchemaValidator.java"