Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Virtual/Tables.h

    rc6b4432 r6a896b0  
    1818#include <string>
    1919#include "AST/Fwd.hpp"
     20class Declaration;
     21class Expression;
     22class FunctionDecl;
     23class Initializer;
     24class ObjectDecl;
     25class StructDecl;
     26class StructInstType;
     27class Type;
    2028
    2129namespace Virtual {
     
    2937bool isVTableInstanceName( std::string const & name );
    3038
     39ObjectDecl * makeVtableForward(
     40        std::string const & name, StructInstType * vtableType );
    3141/* Create a forward declaration of a vtable of the given type.
    3242 * vtableType node is consumed.
     
    3646        ast::StructInstType const * vtableType );
    3747
     48ObjectDecl * makeVtableInstance(
     49        std::string const & name,
     50        StructInstType * vtableType, Type * objectType,
     51        Initializer * init = nullptr );
    3852/* Create an initialized definition of a vtable.
    3953 * vtableType and init (if provided) nodes are consumed.
     
    4761
    4862// Some special code for how exceptions interact with virtual tables.
    49 
     63FunctionDecl * makeGetExceptionForward( Type * vtableType, Type * exceptType );
    5064/* Create a forward declaration of the exception virtual function
    5165 * linking the vtableType to the exceptType. Both nodes are consumed.
     
    5670        ast::Type const * exceptType );
    5771
     72FunctionDecl * makeGetExceptionFunction(
     73        ObjectDecl * vtableInstance, Type * exceptType );
    5874/* Create the definition of the exception virtual function.
    5975 * exceptType node is consumed.
     
    6379        ast::ObjectDecl const * vtableInstance, ast::Type const * exceptType );
    6480
     81ObjectDecl * makeTypeIdInstance( StructInstType const * typeIdType );
    6582/* Build an instance of the type-id from the type of the type-id.
    6683 * TODO: Should take the parent type. Currently locked to the exception_t.
Note: See TracChangeset for help on using the changeset viewer.