public class com.sun.codemodel.internal.JFieldRef extends com.sun.codemodel.internal.JExpressionImpl implements com.sun.codemodel.internal.JAssignmentTarget
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.codemodel.internal.JFieldRef
  super_class: com.sun.codemodel.internal.JExpressionImpl
{
  private com.sun.codemodel.internal.JGenerable object;
    descriptor: Lcom/sun/codemodel/internal/JGenerable;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String name;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private com.sun.codemodel.internal.JVar var;
    descriptor: Lcom/sun/codemodel/internal/JVar;
    flags: (0x0002) ACC_PRIVATE

  private boolean explicitThis;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  void <init>(com.sun.codemodel.internal.JExpression, java.lang.String);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JExpression object
        start local 2 // java.lang.String name
         0: .line 66
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* name */
            iconst_0
            invokespecial com.sun.codemodel.internal.JFieldRef.<init>:(Lcom/sun/codemodel/internal/JGenerable;Ljava/lang/String;Z)V
         1: .line 67
            return
        end local 2 // java.lang.String name
        end local 1 // com.sun.codemodel.internal.JExpression object
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/codemodel/internal/JFieldRef;
            0    2     1  object  Lcom/sun/codemodel/internal/JExpression;
            0    2     2    name  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      object  
      name    

  void <init>(com.sun.codemodel.internal.JExpression, com.sun.codemodel.internal.JVar);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;Lcom/sun/codemodel/internal/JVar;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JExpression object
        start local 2 // com.sun.codemodel.internal.JVar v
         0: .line 70
            aload 0 /* this */
            aload 1 /* object */
            aload 2 /* v */
            iconst_0
            invokespecial com.sun.codemodel.internal.JFieldRef.<init>:(Lcom/sun/codemodel/internal/JGenerable;Lcom/sun/codemodel/internal/JVar;Z)V
         1: .line 71
            return
        end local 2 // com.sun.codemodel.internal.JVar v
        end local 1 // com.sun.codemodel.internal.JExpression object
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/codemodel/internal/JFieldRef;
            0    2     1  object  Lcom/sun/codemodel/internal/JExpression;
            0    2     2       v  Lcom/sun/codemodel/internal/JVar;
    MethodParameters:
        Name  Flags
      object  
      v       

  void <init>(com.sun.codemodel.internal.JType, java.lang.String);
    descriptor: (Lcom/sun/codemodel/internal/JType;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JType type
        start local 2 // java.lang.String name
         0: .line 77
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* name */
            iconst_0
            invokespecial com.sun.codemodel.internal.JFieldRef.<init>:(Lcom/sun/codemodel/internal/JGenerable;Ljava/lang/String;Z)V
         1: .line 78
            return
        end local 2 // java.lang.String name
        end local 1 // com.sun.codemodel.internal.JType type
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFieldRef;
            0    2     1  type  Lcom/sun/codemodel/internal/JType;
            0    2     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
      name  

  void <init>(com.sun.codemodel.internal.JType, com.sun.codemodel.internal.JVar);
    descriptor: (Lcom/sun/codemodel/internal/JType;Lcom/sun/codemodel/internal/JVar;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JType type
        start local 2 // com.sun.codemodel.internal.JVar v
         0: .line 81
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* v */
            iconst_0
            invokespecial com.sun.codemodel.internal.JFieldRef.<init>:(Lcom/sun/codemodel/internal/JGenerable;Lcom/sun/codemodel/internal/JVar;Z)V
         1: .line 82
            return
        end local 2 // com.sun.codemodel.internal.JVar v
        end local 1 // com.sun.codemodel.internal.JType type
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/codemodel/internal/JFieldRef;
            0    2     1  type  Lcom/sun/codemodel/internal/JType;
            0    2     2     v  Lcom/sun/codemodel/internal/JVar;
    MethodParameters:
      Name  Flags
      type  
      v     

  void <init>(com.sun.codemodel.internal.JGenerable, java.lang.String, boolean);
    descriptor: (Lcom/sun/codemodel/internal/JGenerable;Ljava/lang/String;Z)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JGenerable object
        start local 2 // java.lang.String name
        start local 3 // boolean explicitThis
         0: .line 84
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JExpressionImpl.<init>:()V
         1: .line 85
            aload 0 /* this */
            iload 3 /* explicitThis */
            putfield com.sun.codemodel.internal.JFieldRef.explicitThis:Z
         2: .line 86
            aload 0 /* this */
            aload 1 /* object */
            putfield com.sun.codemodel.internal.JFieldRef.object:Lcom/sun/codemodel/internal/JGenerable;
         3: .line 87
            aload 2 /* name */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 5
         4: .line 88
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Field name contains '.': "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 89
      StackMap locals: com.sun.codemodel.internal.JFieldRef com.sun.codemodel.internal.JGenerable java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* name */
            putfield com.sun.codemodel.internal.JFieldRef.name:Ljava/lang/String;
         6: .line 90
            return
        end local 3 // boolean explicitThis
        end local 2 // java.lang.String name
        end local 1 // com.sun.codemodel.internal.JGenerable object
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lcom/sun/codemodel/internal/JFieldRef;
            0    7     1        object  Lcom/sun/codemodel/internal/JGenerable;
            0    7     2          name  Ljava/lang/String;
            0    7     3  explicitThis  Z
    MethodParameters:
              Name  Flags
      object        
      name          
      explicitThis  

  void <init>(com.sun.codemodel.internal.JGenerable, com.sun.codemodel.internal.JVar, boolean);
    descriptor: (Lcom/sun/codemodel/internal/JGenerable;Lcom/sun/codemodel/internal/JVar;Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JGenerable object
        start local 2 // com.sun.codemodel.internal.JVar var
        start local 3 // boolean explicitThis
         0: .line 92
            aload 0 /* this */
            invokespecial com.sun.codemodel.internal.JExpressionImpl.<init>:()V
         1: .line 93
            aload 0 /* this */
            iload 3 /* explicitThis */
            putfield com.sun.codemodel.internal.JFieldRef.explicitThis:Z
         2: .line 94
            aload 0 /* this */
            aload 1 /* object */
            putfield com.sun.codemodel.internal.JFieldRef.object:Lcom/sun/codemodel/internal/JGenerable;
         3: .line 95
            aload 0 /* this */
            aload 2 /* var */
            putfield com.sun.codemodel.internal.JFieldRef.var:Lcom/sun/codemodel/internal/JVar;
         4: .line 96
            return
        end local 3 // boolean explicitThis
        end local 2 // com.sun.codemodel.internal.JVar var
        end local 1 // com.sun.codemodel.internal.JGenerable object
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/sun/codemodel/internal/JFieldRef;
            0    5     1        object  Lcom/sun/codemodel/internal/JGenerable;
            0    5     2           var  Lcom/sun/codemodel/internal/JVar;
            0    5     3  explicitThis  Z
    MethodParameters:
              Name  Flags
      object        
      var           
      explicitThis  

  public void generate(com.sun.codemodel.internal.JFormatter);
    descriptor: (Lcom/sun/codemodel/internal/JFormatter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JFormatter f
         0: .line 99
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFieldRef.name:Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 100
            aload 2 /* name */
            ifnonnull 2
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFieldRef.var:Lcom/sun/codemodel/internal/JVar;
            invokevirtual com.sun.codemodel.internal.JVar.name:()Ljava/lang/String;
            astore 2 /* name */
         2: .line 102
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFieldRef.object:Lcom/sun/codemodel/internal/JGenerable;
            ifnull 5
         3: .line 103
            aload 1 /* f */
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFieldRef.object:Lcom/sun/codemodel/internal/JGenerable;
            invokevirtual com.sun.codemodel.internal.JFormatter.g:(Lcom/sun/codemodel/internal/JGenerable;)Lcom/sun/codemodel/internal/JFormatter;
            bipush 46
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(C)Lcom/sun/codemodel/internal/JFormatter;
            aload 2 /* name */
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         4: .line 104
            goto 9
         5: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.codemodel.internal.JFieldRef.explicitThis:Z
            ifeq 8
         6: .line 106
            aload 1 /* f */
            ldc "this."
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            aload 2 /* name */
            invokevirtual com.sun.codemodel.internal.JFormatter.p:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         7: .line 107
            goto 9
         8: .line 108
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            aload 2 /* name */
            invokevirtual com.sun.codemodel.internal.JFormatter.id:(Ljava/lang/String;)Lcom/sun/codemodel/internal/JFormatter;
            pop
         9: .line 111
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String name
        end local 1 // com.sun.codemodel.internal.JFormatter f
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/codemodel/internal/JFieldRef;
            0   10     1     f  Lcom/sun/codemodel/internal/JFormatter;
            1   10     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      f     

  public com.sun.codemodel.internal.JExpression assign(com.sun.codemodel.internal.JExpression);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JExpression rhs
         0: .line 114
            aload 0 /* this */
            aload 1 /* rhs */
            invokestatic com.sun.codemodel.internal.JExpr.assign:(Lcom/sun/codemodel/internal/JAssignmentTarget;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            areturn
        end local 1 // com.sun.codemodel.internal.JExpression rhs
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JFieldRef;
            0    1     1   rhs  Lcom/sun/codemodel/internal/JExpression;
    MethodParameters:
      Name  Flags
      rhs   

  public com.sun.codemodel.internal.JExpression assignPlus(com.sun.codemodel.internal.JExpression);
    descriptor: (Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.codemodel.internal.JFieldRef this
        start local 1 // com.sun.codemodel.internal.JExpression rhs
         0: .line 117
            aload 0 /* this */
            aload 1 /* rhs */
            invokestatic com.sun.codemodel.internal.JExpr.assignPlus:(Lcom/sun/codemodel/internal/JAssignmentTarget;Lcom/sun/codemodel/internal/JExpression;)Lcom/sun/codemodel/internal/JExpression;
            areturn
        end local 1 // com.sun.codemodel.internal.JExpression rhs
        end local 0 // com.sun.codemodel.internal.JFieldRef this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/codemodel/internal/JFieldRef;
            0    1     1   rhs  Lcom/sun/codemodel/internal/JExpression;
    MethodParameters:
      Name  Flags
      rhs   
}
SourceFile: "JFieldRef.java"