Changeset 2ae845e9 for src


Ignore:
Timestamp:
Nov 11, 2024, 3:30:11 PM (2 days ago)
Author:
Andrew Beach <ajbeach@…>
Branches:
master
Children:
2295320
Parents:
b766c9b7
Message:

Removed debug output from resolver. Also made the early decision happen a bit earlier since it is a rare case.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/ResolvExpr/Resolver.cpp

    rb766c9b7 r2ae845e9  
    201201                                && typesCompatible( castExpr->arg->result, castExpr->result )
    202202                        ) {
    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;
    210208                                }
    211209                                // generated cast is the same type as its argument, remove it after keeping env
Note: See TracChangeset for help on using the changeset viewer.