Changeset 8568319


Ignore:
Timestamp:
Jun 5, 2019, 4:57:48 PM (5 years ago)
Author:
Michael Brooks <mlbrooks@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
3cd5fdd
Parents:
54d4c0e
Message:

fixed string constants getting extra quotes on roundtrip conversion

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Convert.cpp

    r54d4c0e r8568319  
    749749                        break;
    750750                case ast::ConstantExpr::String:
    751                         rslt = new ConstantExpr{Constant::from_string( node->rep )};
     751                        rslt = new ConstantExpr{Constant{
     752                                get<Type>().accept1( node->result ),
     753                                node->rep,
     754                                (long long unsigned int)0
     755                        }};
    752756                        break;
    753757                }
     
    21502154                                GET_ACCEPT_1(result, Type),
    21512155                                old->constant.get_value(),
    2152                                 (unsigned long long) old->intValue()
     2156                                (unsigned long long) old->intValue(),
     2157                                ast::ConstantExpr::Kind::Integer
    21532158                        );
    21542159                } else if (isFloatlikeConstantType(old->result)) {
     
    21602165                        );
    21612166                } else if (isStringlikeConstantType(old->result)) {
    2162                         rslt = ast::ConstantExpr::from_string(
    2163                                 old->location,
    2164                                 old->constant.get_value()
     2167                        rslt = new ast::ConstantExpr(
     2168                                old->location,
     2169                                GET_ACCEPT_1(result, Type),
     2170                                old->constant.get_value(),
     2171                                0,
     2172                                ast::ConstantExpr::Kind::String
    21652173                        );
    21662174                }
Note: See TracChangeset for help on using the changeset viewer.