summaryrefslogtreecommitdiff
path: root/src/parse/root.cpp
diff options
context:
space:
mode:
authorJohn Hodge <tpg@ucc.asn.au>2018-12-30 15:08:38 +0800
committerJohn Hodge <tpg@ucc.asn.au>2018-12-30 15:08:38 +0800
commit44d040f6d4325f713b9fefeadb1ee533a0fd5294 (patch)
tree5224110d351c7b7158c72d2119e19f0f6041dcf0 /src/parse/root.cpp
parent852050a97d8304d30d1ea51b7acacf1ece387973 (diff)
downloadmrust-44d040f6d4325f713b9fefeadb1ee533a0fd5294.tar.gz
Parse/Macro - Handle `crate` as a visibility specifier
Diffstat (limited to 'src/parse/root.cpp')
-rw-r--r--src/parse/root.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/parse/root.cpp b/src/parse/root.cpp
index 61218326..5fc90f0c 100644
--- a/src/parse/root.cpp
+++ b/src/parse/root.cpp
@@ -48,7 +48,6 @@ AST::Attribute Parse_MetaItem(TokenStream& lex);
void Parse_ModRoot(TokenStream& lex, AST::Module& mod, AST::AttributeList& mod_attrs);
bool Parse_MacroInvocation_Opt(TokenStream& lex, AST::MacroInvocation& out_inv);
-//::AST::Path Parse_Publicity(TokenStream& lex)
::AST::Visibility Parse_Publicity(TokenStream& lex, bool allow_restricted/*=true*/)
{
Token tok;
@@ -57,6 +56,12 @@ bool Parse_MacroInvocation_Opt(TokenStream& lex, AST::MacroInvocation& out_inv)
GET_TOK(tok, lex);
return tok.take_frag_vis();
}
+ if( LOOK_AHEAD(lex) == TOK_RWORD_CRATE )
+ {
+ // TODO: Return a path that indicates the entire current crate
+ GET_TOK(tok, lex);
+ return true;
+ }
if( LOOK_AHEAD(lex) == TOK_RWORD_PUB )
{
GET_TOK(tok, lex);