1 19 20 package org.netbeans.modules.debugger.jpda.models; 21 22 import com.sun.jdi.ClassType; 23 import com.sun.jdi.ObjectReference; 24 25 import org.netbeans.api.debugger.jpda.Super; 26 import org.netbeans.modules.debugger.jpda.JPDADebuggerImpl; 27 28 29 32 class SuperVariable extends AbstractVariable implements Super { 33 34 private ClassType classType; 36 37 38 SuperVariable ( 39 JPDADebuggerImpl debugger, 40 ObjectReference value, 41 ClassType classType, 42 String parentID 43 ) { 44 super ( 45 debugger, 46 value, 47 parentID + ".super^" 48 ); 49 this.classType = classType; 50 } 51 52 53 55 public Super getSuper () { 56 if (getInnerValue () == null) 57 return null; 58 ClassType superType = this.classType.superclass (); 59 if (superType == null) 60 return null; 61 return new SuperVariable( 62 this.getDebugger(), 63 (ObjectReference) this.getInnerValue(), 64 superType, 65 this.getID() 66 ); 67 } 68 69 public SuperVariable clone() { 70 return new SuperVariable(getDebugger(), (ObjectReference) getJDIValue(), classType, 71 getID().substring(0, getID().length() - ".super^".length())); 72 } 73 74 76 public String toString () { 77 return "SuperVariable " + getType(); 78 } 79 80 public String getType () { 81 return this.classType.name (); 82 } 83 } 84 | Popular Tags |