From d717794c3a9e97579bb89e54a13346cf4b1af4f4 Mon Sep 17 00:00:00 2001 From: John Hodge Date: Mon, 29 Aug 2016 14:09:51 +0800 Subject: Expand format_args - Add detection for ::std/::core --- src/expand/format_args.cpp | 17 +++++++++++++++-- 1 file 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 // 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) ); -- cgit v1.2.3