Class InterfaceEntry

    • Field Detail

      • _derivedFromNames

        private java.util.Vector<java.lang.String> _derivedFromNames
      • _derivedFrom

        private java.util.Vector<SymtabEntry> _derivedFrom
      • _methods

        private java.util.Vector<MethodEntry> _methods
      • _allMethods

        java.util.Vector<MethodEntry> _allMethods
      • forwardedDerivers

        java.util.Vector<InterfaceEntry> forwardedDerivers
      • _contained

        private java.util.Vector<SymtabEntry> _contained
      • _interfaceType

        private int _interfaceType
    • Constructor Detail

      • InterfaceEntry

        protected InterfaceEntry()
    • Method Detail

      • isAbstract

        public boolean isAbstract()
      • isLocal

        public boolean isLocal()
      • isLocalServant

        public boolean isLocalServant()
      • isLocalSignature

        public boolean isLocalSignature()
      • clone

        public java.lang.Object clone()
        Description copied from class: SymtabEntry
        This is a shallow copy clone
        Overrides:
        clone in class SymtabEntry
      • generate

        public void generate​(java.util.Hashtable symbolTable,
                             java.io.PrintWriter stream)
        Invoke the interface generator.
        Overrides:
        generate in class SymtabEntry
        Parameters:
        symbolTable - the symbol table is a hash table whose key is a fully qualified type name and whose value is a SymtabEntry or a subclass of SymtabEntry.
        stream - the stream to which the generator should sent its output.
        See Also:
        SymtabEntry
      • generator

        public Generator generator()
        Access the interface generator.
        Overrides:
        generator in class SymtabEntry
        Returns:
        an object which implements the InterfaceGen interface.
        See Also:
        InterfaceGen
      • addDerivedFrom

        public void addDerivedFrom​(SymtabEntry derivedFrom)
        Add an InterfaceEntry to the list of interfaces which this interface is derivedFrom. During parsing, the parameter to this method COULD be a ForwardEntry, but when parsing is complete, calling derivedFrom will return a vector which only contains InterfaceEntry's.
        Parameters:
        derivedFrom - a ForwardEntry or InterfaceEntry
      • addDerivedFromName

        public void addDerivedFromName​(java.lang.String name)
        Add to the list of derivedFrom names.
      • derivedFromNames

        public java.util.Vector<java.lang.String> derivedFromNames()
        This method returns a vector of Strings, each of which is a fully qualified name of an interface. This vector corresponds to the derivedFrom vector. The first element of this vector is the name of the first element of the derivedFrom vector, etc.
        Returns:
        Vector of Strings
      • addMethod

        public void addMethod​(MethodEntry method)
        Add a method/attribute to the list of methods.
        Parameters:
        method - method or attribute to add
      • methods

        public java.util.Vector<MethodEntry> methods()
        This is a vector of MethodEntry's. These are the methods and attributes contained within this Interface.
        Returns:
        Vector of MethodEntry
      • addContained

        public void addContained​(SymtabEntry entry)
        Add a symbol table entry to this interface's contained vector.
        Parameters:
        entry - new SymtabEntry to add
      • contained

        public java.util.Vector<SymtabEntry> contained()
        This is a vector of SymtabEntry's. Valid entries in this vector are: AttributeEntry, ConstEntry, EnumEntry, ExceptionEntry, MethodEntry, StructEntry, NativeEntry, TypedefEntry, UnionEntry. Note that the methods vector is a subset of this vector.
        Returns:
        Vector of SymtabEntry
        See Also:
        methods()
      • addToForwardedAllMethods

        void addToForwardedAllMethods​(MethodEntry method,
                                      Scanner scanner)
      • verifyMethod

        private boolean verifyMethod​(MethodEntry method,
                                     Scanner scanner,
                                     boolean clash)
      • addToDerivers

        private void addToDerivers​(ForwardEntry forward)
      • state

        public java.util.Vector<InterfaceState> state()
        This method returns a vector of the elements in the state block. If it is null, this is not a stateful interface. If it is non-null, but of zero length, then it is still stateful; it has no state entries itself, but it has an ancestor which does.
        Returns:
        Vector of InterfaceState
      • initState

        public void initState()
      • allMethods

        public java.util.Vector<MethodEntry> allMethods()
        Get the allMethods vector.
        Returns:
        Vector of all methods in the interface
        See Also:
        MethodEntry