Changes in src/InitTweak/GenInit.h [bfd4974:d180746]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/InitTweak/GenInit.h
rbfd4974 rd180746 16 16 #pragma once 17 17 18 #include <list> 19 #include <string> 18 #include <list> // for list 19 #include <string> // for string 20 20 21 #include "SynTree/SynTree.h" // for Visitor Nodes 22 23 #include "GenPoly/ScopedSet.h" // for ScopedSet 21 #include "SynTree/SynTree.h" // for Visitor Nodes 24 22 25 23 namespace InitTweak { … … 27 25 void genInit( std::list< Declaration * > & translationUnit ); 28 26 29 /// Converts return statements into copy constructor calls on the hidden return variable 30 void fixReturnStatements( std::list< Declaration * > & translationUnit ); 31 32 /// generates a single ctor/dtor statement using objDecl as the 'this' parameter and arg as the optional argument 33 ImplicitCtorDtorStmt * genCtorDtor( const std::string & fname, ObjectDecl * objDecl, Expression * arg = nullptr ); 27 /// generates a single ctor/dtor statement using objDecl as the 'this' parameter and arg as the optional argument 28 ImplicitCtorDtorStmt * genCtorDtor( const std::string & fname, ObjectDecl * objDecl, Expression * arg = nullptr ); 34 29 35 30 /// creates an appropriate ConstructorInit node which contains a constructor, destructor, and C-initializer 36 31 ConstructorInit * genCtorInit( ObjectDecl * objDecl ); 37 38 class ManagedTypes {39 public:40 bool isManaged( ObjectDecl * objDecl ) const ; // determine if object is managed41 bool isManaged( Type * type ) const; // determine if type is managed42 43 void handleDWT( DeclarationWithType * dwt ); // add type to managed if ctor/dtor44 void handleStruct( StructDecl * aggregateDecl ); // add type to managed if child is managed45 46 void beginScope();47 void endScope();48 private:49 GenPoly::ScopedSet< std::string > managedTypes;50 };51 32 } // namespace 52 33
Note:
See TracChangeset
for help on using the changeset viewer.