diff --git a/uppsrc/CppBase/Base.cpp b/uppsrc/CppBase/Base.cpp index 0e8152646..8b224524f 100644 --- a/uppsrc/CppBase/Base.cpp +++ b/uppsrc/CppBase/Base.cpp @@ -9,7 +9,8 @@ void CppItem::Serialize(Stream& s) { s % kind % access % item % name % natural % at % tparam % param % pname - % tname % ctname % type % ptype % virt % filetype % file % line % impl; + % tname % ctname % type % ptype % virt % filetype % file % line % impl + % using_namespaces; } struct CmpItem { diff --git a/uppsrc/CppBase/Qualify.cpp b/uppsrc/CppBase/Qualify.cpp index b9fd9b827..76cdcea47 100644 --- a/uppsrc/CppBase/Qualify.cpp +++ b/uppsrc/CppBase/Qualify.cpp @@ -1,5 +1,7 @@ #include "CppBase.h" +Upp::String GetSourceFilePath(int file); _DBG_ + NAMESPACE_UPP #define LLOG(x) // DLOG(x) @@ -237,6 +239,13 @@ void QualifyPass2(CppBase& base) m.qptype = QualifyIds(nf, m.ptype, m.using_namespaces, true); m.qitem = m.IsCode() ? QualifyIds(nf, m.item, m.using_namespaces, false) : m.item; + if(m.name == "CodeBase") { + DDUMP(m.using_namespaces); + DDUMP(m.qitem); + DDUMP(m.type); + DDUMP(m.qtype); + DDUMP(GetSourceFilePath(m.file)); + } } } } diff --git a/uppsrc/CppBase/cpp.cpp b/uppsrc/CppBase/cpp.cpp index f7befe67d..1f60d0d64 100644 --- a/uppsrc/CppBase/cpp.cpp +++ b/uppsrc/CppBase/cpp.cpp @@ -3,7 +3,7 @@ NAMESPACE_UPP #define LTIMING(x) // RTIMING(x) -#define LLOG(x) // DLOG(x) +#define LLOG(x) DLOG(x) void Cpp::ParamAdd(Vector& param, const char *s, const char *e) { @@ -233,6 +233,8 @@ void Cpp::Do(const String& sourcefile, Stream& in, const String& currentfile, bo if(get_macros) return; + + DDUMP(namespace_using); LTIMING("Expand"); incomment = false; diff --git a/uppsrc/ide/Browser/Base.cpp b/uppsrc/ide/Browser/Base.cpp index ed4d736fd..b56cfb2a0 100644 --- a/uppsrc/ide/Browser/Base.cpp +++ b/uppsrc/ide/Browser/Base.cpp @@ -10,7 +10,7 @@ #define CLOG(x) RLOG(x) -#define CPP_CODEBASE_VERSION 3141 +#define CPP_CODEBASE_VERSION 31415 ArrayMap source_file; diff --git a/uppsrc/ide/Cpp.cpp b/uppsrc/ide/Cpp.cpp index 6afe96b0b..960b55994 100644 --- a/uppsrc/ide/Cpp.cpp +++ b/uppsrc/ide/Cpp.cpp @@ -1,6 +1,6 @@ #include "ide.h" -#if 0 +#if 1 #define LDUMP(x) DDUMP(x) #define LDUMPC(x) DDUMPC(x) #define LLOG(x) DLOG(x) @@ -174,6 +174,7 @@ void AssistEditor::ExpressionType(const String& ttype, const String& usings, int lvl) { LLOG("--- ExpressionType " << scan_counter); + DDUMP(ttype); if(++scan_counter > 500 || lvl > 30) // sort of ugly limitation of parsing permutations return; if(ii >= xp.GetCount()) { @@ -208,7 +209,7 @@ void AssistEditor::ExpressionType(const String& ttype, const String& usings, for(int i = 0; i < n.GetCount(); i++) { const CppItem& m = n[i]; if(m.name == id) { - LLOG("Member " << m.qtype << "'" << m.name << "'"); + LLOG("Member " << m.qtype << " " << m.name); mtype.FindAdd(MakeTuple(m.qtype, m.IsData() && !m.isptr)); } } @@ -241,6 +242,7 @@ void AssistEditor::ExpressionType(const String& type, const String& usings, cons Index AssistEditor::ExpressionType(const Parser& parser, const Vector& xp) { + DDUMP(xp); String type; Index typeset; if(xp.GetCount() == 0)