public class org.hibernate.query.criteria.internal.expression.NullifExpression<T> extends org.hibernate.query.criteria.internal.expression.ExpressionImpl<T> implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.query.criteria.internal.expression.NullifExpression
  super_class: org.hibernate.query.criteria.internal.expression.ExpressionImpl
{
  private final javax.persistence.criteria.Expression<? extends T> primaryExpression;
    descriptor: Ljavax/persistence/criteria/Expression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavax/persistence/criteria/Expression<+TT;>;

  private final javax.persistence.criteria.Expression<?> secondaryExpression;
    descriptor: Ljavax/persistence/criteria/Expression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavax/persistence/criteria/Expression<*>;

  public void <init>(org.hibernate.query.criteria.internal.CriteriaBuilderImpl, java.lang.Class<T>, javax.persistence.criteria.Expression<? extends T>, javax.persistence.criteria.Expression<?>);
    descriptor: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;Ljavax/persistence/criteria/Expression;Ljavax/persistence/criteria/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
        start local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        start local 2 // java.lang.Class javaType
        start local 3 // javax.persistence.criteria.Expression primaryExpression
        start local 4 // javax.persistence.criteria.Expression secondaryExpression
         0: .line 31
            aload 0 /* this */
            aload 1 /* criteriaBuilder */
            aload 2 /* javaType */
            aload 3 /* primaryExpression */
            invokestatic org.hibernate.query.criteria.internal.expression.NullifExpression.determineType:(Ljava/lang/Class;Ljavax/persistence/criteria/Expression;)Ljava/lang/Class;
            invokespecial org.hibernate.query.criteria.internal.expression.ExpressionImpl.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;)V
         1: .line 32
            aload 0 /* this */
            aload 3 /* primaryExpression */
            putfield org.hibernate.query.criteria.internal.expression.NullifExpression.primaryExpression:Ljavax/persistence/criteria/Expression;
         2: .line 33
            aload 0 /* this */
            aload 4 /* secondaryExpression */
            putfield org.hibernate.query.criteria.internal.expression.NullifExpression.secondaryExpression:Ljavax/persistence/criteria/Expression;
         3: .line 34
            return
        end local 4 // javax.persistence.criteria.Expression secondaryExpression
        end local 3 // javax.persistence.criteria.Expression primaryExpression
        end local 2 // java.lang.Class javaType
        end local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        end local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/hibernate/query/criteria/internal/expression/NullifExpression<TT;>;
            0    4     1      criteriaBuilder  Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            0    4     2             javaType  Ljava/lang/Class<TT;>;
            0    4     3    primaryExpression  Ljavax/persistence/criteria/Expression<+TT;>;
            0    4     4  secondaryExpression  Ljavax/persistence/criteria/Expression<*>;
    Signature: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class<TT;>;Ljavax/persistence/criteria/Expression<+TT;>;Ljavax/persistence/criteria/Expression<*>;)V
    MethodParameters:
                     Name  Flags
      criteriaBuilder      
      javaType             
      primaryExpression    
      secondaryExpression  

  public void <init>(org.hibernate.query.criteria.internal.CriteriaBuilderImpl, java.lang.Class<T>, javax.persistence.criteria.Expression<? extends T>, );
    descriptor: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;Ljavax/persistence/criteria/Expression;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
        start local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        start local 2 // java.lang.Class javaType
        start local 3 // javax.persistence.criteria.Expression primaryExpression
        start local 4 // java.lang.Object secondaryExpression
         0: .line 41
            aload 0 /* this */
            aload 1 /* criteriaBuilder */
            aload 2 /* javaType */
            aload 3 /* primaryExpression */
            invokestatic org.hibernate.query.criteria.internal.expression.NullifExpression.determineType:(Ljava/lang/Class;Ljavax/persistence/criteria/Expression;)Ljava/lang/Class;
            invokespecial org.hibernate.query.criteria.internal.expression.ExpressionImpl.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class;)V
         1: .line 42
            aload 0 /* this */
            aload 3 /* primaryExpression */
            putfield org.hibernate.query.criteria.internal.expression.NullifExpression.primaryExpression:Ljavax/persistence/criteria/Expression;
         2: .line 43
            aload 0 /* this */
            new org.hibernate.query.criteria.internal.expression.LiteralExpression
            dup
            aload 1 /* criteriaBuilder */
            aload 4 /* secondaryExpression */
            invokespecial org.hibernate.query.criteria.internal.expression.LiteralExpression.<init>:(Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Object;)V
            putfield org.hibernate.query.criteria.internal.expression.NullifExpression.secondaryExpression:Ljavax/persistence/criteria/Expression;
         3: .line 44
            return
        end local 4 // java.lang.Object secondaryExpression
        end local 3 // javax.persistence.criteria.Expression primaryExpression
        end local 2 // java.lang.Class javaType
        end local 1 // org.hibernate.query.criteria.internal.CriteriaBuilderImpl criteriaBuilder
        end local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lorg/hibernate/query/criteria/internal/expression/NullifExpression<TT;>;
            0    4     1      criteriaBuilder  Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;
            0    4     2             javaType  Ljava/lang/Class<TT;>;
            0    4     3    primaryExpression  Ljavax/persistence/criteria/Expression<+TT;>;
            0    4     4  secondaryExpression  Ljava/lang/Object;
    Signature: (Lorg/hibernate/query/criteria/internal/CriteriaBuilderImpl;Ljava/lang/Class<TT;>;Ljavax/persistence/criteria/Expression<+TT;>;Ljava/lang/Object;)V
    MethodParameters:
                     Name  Flags
      criteriaBuilder      
      javaType             
      primaryExpression    
      secondaryExpression  

  private static java.lang.Class determineType(java.lang.Class, javax.persistence.criteria.Expression);
    descriptor: (Ljava/lang/Class;Ljavax/persistence/criteria/Expression;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.Class javaType
        start local 1 // javax.persistence.criteria.Expression primaryExpression
         0: .line 47
            aload 0 /* javaType */
            ifnull 1
            aload 0 /* javaType */
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* primaryExpression */
            invokeinterface javax.persistence.criteria.Expression.getJavaType:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
         2: areturn
        end local 1 // javax.persistence.criteria.Expression primaryExpression
        end local 0 // java.lang.Class javaType
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0           javaType  Ljava/lang/Class;
            0    3     1  primaryExpression  Ljavax/persistence/criteria/Expression;
    MethodParameters:
                   Name  Flags
      javaType           
      primaryExpression  

  public javax.persistence.criteria.Expression<? extends T> getPrimaryExpression();
    descriptor: ()Ljavax/persistence/criteria/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
         0: .line 51
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.NullifExpression.primaryExpression:Ljavax/persistence/criteria/Expression;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/NullifExpression<TT;>;
    Signature: ()Ljavax/persistence/criteria/Expression<+TT;>;

  public javax.persistence.criteria.Expression<?> getSecondaryExpression();
    descriptor: ()Ljavax/persistence/criteria/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
         0: .line 55
            aload 0 /* this */
            getfield org.hibernate.query.criteria.internal.expression.NullifExpression.secondaryExpression:Ljavax/persistence/criteria/Expression;
            areturn
        end local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/query/criteria/internal/expression/NullifExpression<TT;>;
    Signature: ()Ljavax/persistence/criteria/Expression<*>;

  public void registerParameters(org.hibernate.query.criteria.internal.ParameterRegistry);
    descriptor: (Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
        start local 1 // org.hibernate.query.criteria.internal.ParameterRegistry registry
         0: .line 59
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.NullifExpression.getPrimaryExpression:()Ljavax/persistence/criteria/Expression;
            aload 1 /* registry */
            invokestatic org.hibernate.query.criteria.internal.ParameterContainer$Helper.possibleParameter:(Ljavax/persistence/criteria/Selection;Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
         1: .line 60
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.NullifExpression.getSecondaryExpression:()Ljavax/persistence/criteria/Expression;
            aload 1 /* registry */
            invokestatic org.hibernate.query.criteria.internal.ParameterContainer$Helper.possibleParameter:(Ljavax/persistence/criteria/Selection;Lorg/hibernate/query/criteria/internal/ParameterRegistry;)V
         2: .line 61
            return
        end local 1 // org.hibernate.query.criteria.internal.ParameterRegistry registry
        end local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/hibernate/query/criteria/internal/expression/NullifExpression<TT;>;
            0    3     1  registry  Lorg/hibernate/query/criteria/internal/ParameterRegistry;
    MethodParameters:
          Name  Flags
      registry  

  public java.lang.String render(org.hibernate.query.criteria.internal.compile.RenderingContext);
    descriptor: (Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
        start local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
         0: .line 64
            new java.lang.StringBuilder
            dup
            ldc "nullif("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 65
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.NullifExpression.getPrimaryExpression:()Ljavax/persistence/criteria/Expression;
            checkcast org.hibernate.query.criteria.internal.Renderable
            aload 1 /* renderingContext */
            invokeinterface org.hibernate.query.criteria.internal.Renderable.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 66
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 67
            aload 0 /* this */
            invokevirtual org.hibernate.query.criteria.internal.expression.NullifExpression.getSecondaryExpression:()Ljavax/persistence/criteria/Expression;
            checkcast org.hibernate.query.criteria.internal.Renderable
            aload 1 /* renderingContext */
            invokeinterface org.hibernate.query.criteria.internal.Renderable.render:(Lorg/hibernate/query/criteria/internal/compile/RenderingContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 68
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 64
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // org.hibernate.query.criteria.internal.compile.RenderingContext renderingContext
        end local 0 // org.hibernate.query.criteria.internal.expression.NullifExpression this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/hibernate/query/criteria/internal/expression/NullifExpression<TT;>;
            0    6     1  renderingContext  Lorg/hibernate/query/criteria/internal/compile/RenderingContext;
    MethodParameters:
                  Name  Flags
      renderingContext  
}
Signature: <T:Ljava/lang/Object;>Lorg/hibernate/query/criteria/internal/expression/ExpressionImpl<TT;>;Ljava/io/Serializable;
SourceFile: "NullifExpression.java"
InnerClasses:
  public Helper = org.hibernate.query.criteria.internal.ParameterContainer$Helper of org.hibernate.query.criteria.internal.ParameterContainer