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    }