diff options
author | John Hodge <tpg@mutabah.net> | 2016-08-29 14:09:51 +0800 |
---|---|---|
committer | John Hodge <tpg@mutabah.net> | 2016-08-29 14:09:51 +0800 |
commit | d717794c3a9e97579bb89e54a13346cf4b1af4f4 (patch) | |
tree | 7c3d3e43ead05a599c2114e6d5fdcc33c852af48 | |
parent | b53dfacdea84c2da1d7842dbc4e1e8b7b13fd802 (diff) | |
download | mrust-d717794c3a9e97579bb89e54a13346cf4b1af4f4.tar.gz |
Expand format_args - Add detection for ::std/::core
-rw-r--r-- | src/expand/format_args.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/expand/format_args.cpp b/src/expand/format_args.cpp index dacef203..7ac04dc5 100644 --- a/src/expand/format_args.cpp +++ b/src/expand/format_args.cpp @@ -5,6 +5,7 @@ #include "../parse/parseerror.hpp" #include "../parse/tokentree.hpp" #include "../parse/lex.hpp" +#include <ast/crate.hpp> // for m_load_std namespace { @@ -308,8 +309,20 @@ class CFormatArgsExpander: { // TODO: Figure out what path to use (::fmt, ::core::fmt, or ::std::fmt) - //toks.push_back( TokenTree(TOK_DOUBLE_COLON) ); - //toks.push_back( Token(TOK_IDENT, "std") ); //toks.push_back( Token(TOK_STRING, "core") ); + + switch(crate.m_load_std) + { + case ::AST::Crate::LOAD_NONE: + break; + case ::AST::Crate::LOAD_CORE: + toks.push_back( TokenTree(TOK_DOUBLE_COLON) ); + toks.push_back( Token(TOK_STRING, "core") ); + break; + case ::AST::Crate::LOAD_STD: + toks.push_back( TokenTree(TOK_DOUBLE_COLON) ); + toks.push_back( Token(TOK_IDENT, "std") ); + break; + } toks.push_back( TokenTree(TOK_DOUBLE_COLON) ); toks.push_back( Token(TOK_IDENT, "fmt") ); toks.push_back( TokenTree(TOK_DOUBLE_COLON) ); |