public class org.hibernate.dialect.function.DB2SubstringFunction extends org.hibernate.dialect.function.StandardSQLFunction
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.dialect.function.DB2SubstringFunction
  super_class: org.hibernate.dialect.function.StandardSQLFunction
{
  private static final java.util.Set<java.lang.String> possibleStringUnits;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 33
            new java.util.HashSet
            dup
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 34
            ldc "CODEUNITS16"
            aastore
            dup
            iconst_1
            ldc "CODEUNITS32"
            aastore
            dup
            iconst_2
            ldc "OCTETS"
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
         2: .line 33
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            putstatic org.hibernate.dialect.function.DB2SubstringFunction.possibleStringUnits:Ljava/util/Set;
         3: .line 35
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.dialect.function.DB2SubstringFunction this
         0: .line 38
            aload 0 /* this */
            ldc "substring"
            getstatic org.hibernate.type.StandardBasicTypes.STRING:Lorg/hibernate/type/StringType;
            invokespecial org.hibernate.dialect.function.StandardSQLFunction.<init>:(Ljava/lang/String;Lorg/hibernate/type/Type;)V
         1: .line 39
            return
        end local 0 // org.hibernate.dialect.function.DB2SubstringFunction this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/dialect/function/DB2SubstringFunction;

  protected java.lang.String getRenderedName(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hibernate.dialect.function.DB2SubstringFunction this
        start local 1 // java.util.List arguments
         0: .line 43
            aload 1 /* arguments */
            aload 1 /* arguments */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* lastArgument */
        start local 2 // java.lang.String lastArgument
         1: .line 44
            aload 2 /* lastArgument */
            ifnull 3
            getstatic org.hibernate.dialect.function.DB2SubstringFunction.possibleStringUnits:Ljava/util/Set;
            aload 2 /* lastArgument */
            invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 45
            aload 0 /* this */
            invokevirtual org.hibernate.dialect.function.DB2SubstringFunction.getName:()Ljava/lang/String;
            areturn
         3: .line 48
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "substr"
            areturn
        end local 2 // java.lang.String lastArgument
        end local 1 // java.util.List arguments
        end local 0 // org.hibernate.dialect.function.DB2SubstringFunction this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/hibernate/dialect/function/DB2SubstringFunction;
            0    4     1     arguments  Ljava/util/List;
            1    4     2  lastArgument  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      arguments  
}
SourceFile: "DB2SubstringFunction.java"