Changeset 7c3f3be
- Timestamp:
 - Sep 27, 2017, 3:51:01 PM (8 years ago)
 - Branches:
 - ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
 - Children:
 - 7ca84116
 - Parents:
 - 2b7bf59
 - Location:
 - src/InitTweak
 - Files:
 - 
      
- 2 edited
 
- 
          
  InitTweak.cc (modified) (1 diff)
 - 
          
  InitTweak.h (modified) (1 diff)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
src/InitTweak/InitTweak.cc
r2b7bf59 r7c3f3be 270 270 } 271 271 272 Type * getThisType( FunctionType * ftype ) { 273 assertf( ftype, "getThisType: nullptr ftype" ); 274 ObjectDecl * thisParam = getThisParam( ftype ); 275 ReferenceType * refType = strict_dynamic_cast< ReferenceType * >( thisParam->type ); 276 return refType->base; 277 } 278 279 ObjectDecl * getThisParam( FunctionType * ftype ) { 280 assertf( ftype, "getThisParam: nullptr ftype" ); 281 auto & params = ftype->parameters; 282 assertf( ! params.empty(), "getThisParam: ftype with 0 parameters: %s", toString( ftype ).c_str() ); 283 return strict_dynamic_cast< ObjectDecl * >( params.front() ); 284 } 285 272 286 bool tryConstruct( DeclarationWithType * dwt ) { 273 287 ObjectDecl * objDecl = dynamic_cast< ObjectDecl * >( dwt );  - 
      
src/InitTweak/InitTweak.h
r2b7bf59 r7c3f3be 29 29 FunctionDecl * isCopyConstructor( Declaration * decl ); 30 30 FunctionDecl * isCopyFunction( Declaration * decl, const std::string & fname ); 31 32 /// returns the base type of the first parameter to a constructor/destructor/assignment function 33 Type * getThisType( FunctionType * ftype ); 34 35 /// returns the first parameter of a constructor/destructor/assignment function 36 ObjectDecl * getThisParam( FunctionType * ftype ); 31 37 32 38 /// transform Initializer into an argument list that can be passed to a call expression  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.