From 2a812d372be84be4b85376546935d71c803ec5fd Mon Sep 17 00:00:00 2001 From: Hackerpilot Date: Sun, 2 Feb 2014 20:30:17 -0800 Subject: [PATCH] Fix #107 --- actypes.d | 9 +++++++++ astconverter.d | 5 ++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/actypes.d b/actypes.d index 4617e93..d4bdf4f 100644 --- a/actypes.d +++ b/actypes.d @@ -331,6 +331,13 @@ static this() s.parts ~= stringof_; } + aggregateSymbols ~= new ACSymbol("tupleof", CompletionKind.variableName); + aggregateSymbols ~= mangleof_; + aggregateSymbols ~= alignof_; + aggregateSymbols ~= sizeof_; + aggregateSymbols ~= stringof_; + aggregateSymbols ~= init; + classSymbols ~= new ACSymbol("classInfo", CompletionKind.variableName); classSymbols ~= new ACSymbol("tupleof", CompletionKind.variableName); classSymbols ~= new ACSymbol("__vptr", CompletionKind.variableName); @@ -338,6 +345,7 @@ static this() classSymbols ~= mangleof_; classSymbols ~= alignof_; classSymbols ~= sizeof_; + classSymbols ~= stringof_; classSymbols ~= init; ireal_.parts ~= new ACSymbol("im", CompletionKind.keyword, real_); @@ -379,6 +387,7 @@ static this() const(ACSymbol)*[] builtinSymbols; const(ACSymbol)*[] arraySymbols; const(ACSymbol)*[] assocArraySymbols; +const(ACSymbol)*[] aggregateSymbols; const(ACSymbol)*[] classSymbols; Type argptrType; Type argumentsType; diff --git a/astconverter.d b/astconverter.d index b9b35df..8a404aa 100644 --- a/astconverter.d +++ b/astconverter.d @@ -394,7 +394,10 @@ private: // Log.trace("visiting aggregate declaration ", dec.name.text); SemanticSymbol* symbol = new SemanticSymbol(getCached(dec.name.text), kind, symbolFile, dec.name.index); - symbol.acSymbol.parts ~= classSymbols; + if (kind == CompletionKind.className) + symbol.acSymbol.parts ~= classSymbols; + else + symbol.acSymbol.parts ~= aggregateSymbols; symbol.parent = currentSymbol; symbol.protection = protection; symbol.acSymbol.doc = formatComment(dec.comment);