Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/SymbolTable.hpp

    re5c3811 re67991f  
    3333class SymbolTable final : public std::enable_shared_from_this<ast::SymbolTable> {
    3434public:
    35         /// special functions stored in dedicated tables, with different lookup keys
    36         enum SpecialFunctionKind {CTOR, DTOR, ASSIGN, NUMBER_OF_KINDS};
    37         static SpecialFunctionKind getSpecialFunctionKind(const std::string & name);
    38 
    3935        /// Stored information about a declaration
    4036        struct IdData {
     
    8177        UnionTable::Ptr unionTable;    ///< union namespace
    8278        TraitTable::Ptr traitTable;    ///< trait namespace
    83         IdTable::Ptr specialFunctionTable[NUMBER_OF_KINDS];
    84 
    85         // using SpecialFuncTable = PersistentMap< std::string, IdTable::Ptr >; // fname (ctor/dtor/assign) - otypekey
    86         // SpecialFuncTable::Ptr specialFuncTable;
    8779
    8880        using Ptr = std::shared_ptr<const SymbolTable>;
     
    10395        /// Gets all declarations with the given ID
    10496        std::vector<IdData> lookupId( const std::string &id ) const;
    105         /// Gets special functions associated with a type; if no key is given, returns everything
    106         std::vector<IdData> specialLookupId( SpecialFunctionKind kind, const std::string & otypeKey = "" ) const;
    10797        /// Gets the top-most type declaration with the given ID
    10898        const NamedTypeDecl * lookupType( const std::string &id ) const;
     
    155145
    156146        /// convenience function for adding all of the declarations in a function type to the indexer
    157         void addFunction( const FunctionDecl * );
     147        void addFunctionType( const FunctionType * ftype );
    158148
    159149private:
     
    196186                const Decl * deleter = nullptr );
    197187
    198         /// common code for addId when special decls are placed into separate tables
    199         void addId(
    200                 const DeclWithType * decl, const std::string & lookupKey, IdTable::Ptr & idTable, OnConflict handleConflicts,
    201                 const Expr * baseExpr = nullptr, const Decl * deleter = nullptr);
    202        
    203188        /// adds all of the members of the Aggregate (addWith helper)
    204189        void addMembers( const AggregateDecl * aggr, const Expr * expr, OnConflict handleConflicts );
Note: See TracChangeset for help on using the changeset viewer.