- public class Body extends HasFlags {
- public final int flags;
- public Body(int flags) { this.flags = flags; }
- public int getFlags() { return flags; }
+ public String toString() { return getDeclaringClass().toString()+"."+name+"["+type.toString()+"]"; }
+ public class Body extends HasAttributes {
+ public Field getField() { return Field.this; }
+ public Body(int flags, ClassFile.AttrGen attrs) {
+ super(flags, attrs);
+ if ((flags & ~VALID_FIELD_FLAGS) != 0) throw new IllegalArgumentException("invalid flags");
+ }
+ }
+ public int hashCode() {
+ return type.hashCode() ^ name.hashCode() ^ getDeclaringClass().hashCode();
+ }
+ public boolean equals(Object o_) {
+ if(o_ == this) return true;
+ if(!(o_ instanceof Field)) return false;
+ Field o = (Field) o_;
+ return o.getDeclaringClass() == getDeclaringClass() && o.type == type && o.name.equals(name);