diff options
author | John Hodge <tpg@mutabah.net> | 2016-06-04 12:33:35 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-06-04 12:33:35 +0800 |
commit | e33d210a4a85e91abe04f1874f460b6e60c6b5e0 (patch) | |
tree | 96668e07ac5972f3f25b1a5369831a0edea3ea35 /src/parse/expr.cpp | |
parent | ef9d2edb3752a19b827240e91ef3fea7bc354586 (diff) | |
download | mrust-e33d210a4a85e91abe04f1874f460b6e60c6b5e0.tar.gz |
Byte string literals in AST, infrastructure for coercions
Diffstat (limited to 'src/parse/expr.cpp')
-rw-r--r-- | src/parse/expr.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/src/parse/expr.cpp b/src/parse/expr.cpp index 37bc03e7..3dbdd1d3 100644 --- a/src/parse/expr.cpp +++ b/src/parse/expr.cpp @@ -1064,15 +1064,8 @@ ExprNodeP Parse_ExprVal(TokenStream& lex) return NEWNODE( AST::ExprNode_Float, tok.floatval(), tok.datatype() );
case TOK_STRING:
return NEWNODE( AST::ExprNode_String, tok.str() );
- case TOK_BYTESTRING: {
- ::std::vector<ExprNodeP> items;
- for(char b: tok.str()) {
- items.push_back( NEWNODE( AST::ExprNode_Integer, b, CORETYPE_U8 ) );
- }
- return NEWNODE( AST::ExprNode_Array, ::std::move(items) );
- }
- // TODO: Correct type here
- return NEWNODE( AST::ExprNode_String, tok.str() );
+ case TOK_BYTESTRING:
+ return NEWNODE( AST::ExprNode_ByteString, tok.str() );
case TOK_RWORD_TRUE:
return NEWNODE( AST::ExprNode_Bool, true );
case TOK_RWORD_FALSE:
|