src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java

changeset 283
cd0630109de5
parent 229
03bcd66bd8e7
child 554
9d9f26857129
     1.1 --- a/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java	Tue May 19 11:43:50 2009 -0700
     1.2 +++ b/src/share/classes/com/sun/tools/classfile/StackMapTable_attribute.java	Tue May 19 11:50:54 2009 -0700
     1.3 @@ -107,6 +107,8 @@
     1.4              return 1;
     1.5          }
     1.6  
     1.7 +        public abstract int getOffsetDelta();
     1.8 +
     1.9          public abstract <R,D> R accept(Visitor<R,D> visitor, D data);
    1.10  
    1.11          public final int frame_type;
    1.12 @@ -130,6 +132,10 @@
    1.13          public <R, D> R accept(Visitor<R, D> visitor, D data) {
    1.14              return visitor.visit_same_frame(this, data);
    1.15          }
    1.16 +
    1.17 +        public int getOffsetDelta() {
    1.18 +            return frame_type;
    1.19 +        }
    1.20      }
    1.21  
    1.22      public static class same_locals_1_stack_item_frame extends stack_map_frame {
    1.23 @@ -149,6 +155,10 @@
    1.24              return visitor.visit_same_locals_1_stack_item_frame(this, data);
    1.25          }
    1.26  
    1.27 +        public int getOffsetDelta() {
    1.28 +            return frame_type - 64;
    1.29 +        }
    1.30 +
    1.31          public final verification_type_info[] stack;
    1.32      }
    1.33  
    1.34 @@ -170,6 +180,10 @@
    1.35              return visitor.visit_same_locals_1_stack_item_frame_extended(this, data);
    1.36          }
    1.37  
    1.38 +        public int getOffsetDelta() {
    1.39 +            return offset_delta;
    1.40 +        }
    1.41 +
    1.42          public final int offset_delta;
    1.43          public final verification_type_info[] stack;
    1.44      }
    1.45 @@ -189,6 +203,10 @@
    1.46              return visitor.visit_chop_frame(this, data);
    1.47          }
    1.48  
    1.49 +        public int getOffsetDelta() {
    1.50 +            return offset_delta;
    1.51 +        }
    1.52 +
    1.53          public final int offset_delta;
    1.54      }
    1.55  
    1.56 @@ -207,6 +225,10 @@
    1.57              return visitor.visit_same_frame_extended(this, data);
    1.58          }
    1.59  
    1.60 +        public int getOffsetDelta() {
    1.61 +            return offset_delta;
    1.62 +        }
    1.63 +
    1.64          public final int offset_delta;
    1.65      }
    1.66  
    1.67 @@ -232,6 +254,10 @@
    1.68              return visitor.visit_append_frame(this, data);
    1.69          }
    1.70  
    1.71 +        public int getOffsetDelta() {
    1.72 +            return offset_delta;
    1.73 +        }
    1.74 +
    1.75          public final int offset_delta;
    1.76          public final verification_type_info[] locals;
    1.77      }
    1.78 @@ -266,6 +292,10 @@
    1.79              return visitor.visit_full_frame(this, data);
    1.80          }
    1.81  
    1.82 +        public int getOffsetDelta() {
    1.83 +            return offset_delta;
    1.84 +        }
    1.85 +
    1.86          public final int offset_delta;
    1.87          public final int number_of_locals;
    1.88          public final verification_type_info[] locals;
    1.89 @@ -308,7 +338,7 @@
    1.90              }
    1.91          }
    1.92  
    1.93 -        verification_type_info(int tag) {
    1.94 +        protected verification_type_info(int tag) {
    1.95              this.tag = tag;
    1.96          }
    1.97  

mercurial