Changes in src/Virtual/Tables.h [c6b4432:6a896b0]
- File:
-
- 1 edited
-
src/Virtual/Tables.h (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Virtual/Tables.h
rc6b4432 r6a896b0 18 18 #include <string> 19 19 #include "AST/Fwd.hpp" 20 class Declaration; 21 class Expression; 22 class FunctionDecl; 23 class Initializer; 24 class ObjectDecl; 25 class StructDecl; 26 class StructInstType; 27 class Type; 20 28 21 29 namespace Virtual { … … 29 37 bool isVTableInstanceName( std::string const & name ); 30 38 39 ObjectDecl * makeVtableForward( 40 std::string const & name, StructInstType * vtableType ); 31 41 /* Create a forward declaration of a vtable of the given type. 32 42 * vtableType node is consumed. … … 36 46 ast::StructInstType const * vtableType ); 37 47 48 ObjectDecl * makeVtableInstance( 49 std::string const & name, 50 StructInstType * vtableType, Type * objectType, 51 Initializer * init = nullptr ); 38 52 /* Create an initialized definition of a vtable. 39 53 * vtableType and init (if provided) nodes are consumed. … … 47 61 48 62 // Some special code for how exceptions interact with virtual tables. 49 63 FunctionDecl * makeGetExceptionForward( Type * vtableType, Type * exceptType ); 50 64 /* Create a forward declaration of the exception virtual function 51 65 * linking the vtableType to the exceptType. Both nodes are consumed. … … 56 70 ast::Type const * exceptType ); 57 71 72 FunctionDecl * makeGetExceptionFunction( 73 ObjectDecl * vtableInstance, Type * exceptType ); 58 74 /* Create the definition of the exception virtual function. 59 75 * exceptType node is consumed. … … 63 79 ast::ObjectDecl const * vtableInstance, ast::Type const * exceptType ); 64 80 81 ObjectDecl * makeTypeIdInstance( StructInstType const * typeIdType ); 65 82 /* Build an instance of the type-id from the type of the type-id. 66 83 * TODO: Should take the parent type. Currently locked to the exception_t.
Note:
See TracChangeset
for help on using the changeset viewer.