diff options
Diffstat (limited to 'xsde/cxx/parser/elements.cxx')
-rw-r--r-- | xsde/cxx/parser/elements.cxx | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/xsde/cxx/parser/elements.cxx b/xsde/cxx/parser/elements.cxx index 2261abd..fafcd52 100644 --- a/xsde/cxx/parser/elements.cxx +++ b/xsde/cxx/parser/elements.cxx @@ -206,6 +206,7 @@ namespace CXX // Support for weak (forward) inclusion used in the file-per-type // compilation model. // + SemanticGraph::Schema& s (u.schema ()); Boolean weak (u.context ().count ("weak")); if (weak && (type_ == header || type_ == impl_header)) @@ -214,7 +215,7 @@ namespace CXX // in the impl files. // if (type_ == header) - schema_.dispatch (u.schema ()); + schema_.dispatch (s); return; } @@ -222,7 +223,10 @@ namespace CXX if (type_ == source && !weak) return; - SemanticGraph::Path path (u.path ()); + SemanticGraph::Path path ( + s.context ().count ("renamed") + ? s.context ().get<SemanticGraph::Path> ("renamed") + : u.path ()); // Try to use the portable representation of the path. If that // fails, fall back to the native representation. |