001 package daikon.chicory;
002
003 import java.util.*;
004
005
006 /**
007 * The StaticObjInfo class is a subtype of DaikonVariableInfo used as
008 * a root for static variables within a class (which are the only
009 * variables visible to static methods). Nothing is printed for this
010 * variable in either the decl or dtrace file, it exists only so that the
011 * static variables of a class can be nested within it and not
012 * directly under the root.
013 */
014 public class StaticObjInfo extends DaikonVariableInfo
015 {
016 public Class<?> type;
017
018 public StaticObjInfo()
019 {
020 super("this");
021 }
022
023 public StaticObjInfo (Class<?> type)
024 {
025 super ("this");
026 this.type = type;
027 typeName = type.getName();
028 repTypeName = getRepName (type, false);
029 }
030
031 /* (non-Javadoc)
032 * @see daikon.chicory.DaikonVariableInfo#getChildValue(java.lang.Object)
033 */
034 @Override
035 public /*@Nullable*/ Object getMyValFromParentVal(Object val)
036 {
037 return null;
038 }
039
040 /** 'this' is a top level variable **/
041 public VarKind get_var_kind() {
042 return VarKind.VARIABLE;
043 }
044
045 }