Changes in src/ResolvExpr/Resolver.cpp [8315947:ed96731]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ResolvExpr/Resolver.cpp
r8315947 red96731 201 201 && typesCompatible( castExpr->arg->result, castExpr->result ) 202 202 ) { 203 auto argAsEnum = castExpr->arg.as<ast::EnumInstType>(); 204 auto resultAsEnum = castExpr->result.as<ast::EnumInstType>(); 205 if (argAsEnum && resultAsEnum) { 206 if (argAsEnum->base->name != resultAsEnum->base->name) { 207 std::cerr << "Enum Cast: " << argAsEnum->base->name << " to " << resultAsEnum->base->name << std::endl; 208 return castExpr; 209 } 203 ast::EnumInstType const * arg, * result; 204 if ( ( result = castExpr->result.as<ast::EnumInstType>() ) && 205 ( arg = castExpr->arg.as<ast::EnumInstType>() ) && 206 arg->base->name != result->base->name) { 207 return castExpr; 210 208 } 211 209 // generated cast is the same type as its argument, remove it after keeping env … … 377 375 : public ast::WithSymbolTable, public ast::WithGuards, 378 376 public ast::WithVisitorRef<Resolver>, public ast::WithShortCircuiting, 379 public ast::WithStmtsToAdd <>{377 public ast::WithStmtsToAdd { 380 378 381 379 ast::ptr< ast::Type > functionReturn = nullptr;
Note:
See TracChangeset
for help on using the changeset viewer.