cpp: CppItem::using_namespaces was not serialized #1122

git-svn-id: svn://ultimatepp.org/upp/trunk@8547 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2015-06-15 15:33:40 +00:00
parent a3d484f501
commit cf19293869
5 changed files with 19 additions and 5 deletions

View file

@ -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 {

View file

@ -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));
}
}
}
}

View file

@ -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<String>& param, const char *s, const char *e)
{
@ -234,6 +234,8 @@ void Cpp::Do(const String& sourcefile, Stream& in, const String& currentfile, bo
if(get_macros)
return;
DDUMP(namespace_using);
LTIMING("Expand");
incomment = false;
prefix_macro.Clear();

View file

@ -10,7 +10,7 @@
#define CLOG(x) RLOG(x)
#define CPP_CODEBASE_VERSION 3141
#define CPP_CODEBASE_VERSION 31415
ArrayMap<String, SourceFileInfo> source_file;

View file

@ -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<String> AssistEditor::ExpressionType(const Parser& parser, const Vector<String>& xp)
{
DDUMP(xp);
String type;
Index<String> typeset;
if(xp.GetCount() == 0)