1 22 package org.aspectj.debugger.gui; 23 24 import org.aspectj.debugger.base.*; 25 import com.sun.jdi.*; 26 27 public class AJReferenceTypeMemberValueGetter implements AJValueGetter, FieldGetter { 28 29 private ReferenceType refType; 30 private Field field; 31 32 public AJReferenceTypeMemberValueGetter(ReferenceType refType, Field field) { 33 this.refType = refType; 34 this.field = field; 35 } 36 37 public Value getValue() { 38 return refType.getValue(field); 39 } 40 41 public Value getValue(String s) { 42 return getValue(); 43 } 44 45 public void setValue(Value v) throws ClassNotLoadedException, 46 InvalidTypeException { 47 refType.classObject().setValue(field, v); 48 } 49 50 public ThreadReference getThread() throws ClassNotLoadedException, 51 IncompatibleThreadStateException { 52 return refType.classObject().owningThread(); 53 } 54 55 public String getName() { 56 return refType.name() + "." + field.name(); 57 } 58 59 public Type getTypeRef() throws ClassNotLoadedException { 60 return field.type(); 61 } 62 public String getTypeName() throws ClassNotLoadedException { 63 return getTypeRef().name(); 64 } 65 66 public ReferenceType getDeclaringClass() { 67 return refType; 68 } 69 70 public Field getField() { 71 return field; 72 } 73 } 74 | Popular Tags |