Update libdparse

This commit is contained in:
Hackerpilot 2015-01-27 02:44:57 -08:00
parent be3903bf1f
commit 387a65e4f1
2 changed files with 16 additions and 10 deletions

@ -1 +1 @@
Subproject commit b64fb8c91efa17a895567403969d4fc87adaa42a Subproject commit e8d87d6791890176ce5077f1c079d0453d45f02a

View File

@ -314,15 +314,8 @@ final class FirstPass : ASTVisitor
currentSymbol.addChild(symbol); currentSymbol.addChild(symbol);
} }
override void visit(const EnumMember member) mixin visitEnumMember!EnumMember;
{ mixin visitEnumMember!AnonymousEnumMember;
// Log.trace(__FUNCTION__, " ", typeof(member).stringof);
SemanticSymbol* symbol = allocateSemanticSymbol(member.name.text,
CompletionKind.enumMember, symbolFile, member.name.index, member.type);
symbol.parent = currentSymbol;
symbol.acSymbol.doc = internString(member.comment);
currentSymbol.addChild(symbol);
}
override void visit(const ModuleDeclaration moduleDeclaration) override void visit(const ModuleDeclaration moduleDeclaration)
{ {
@ -514,6 +507,19 @@ final class FirstPass : ASTVisitor
private: private:
template visitEnumMember(T)
{
override void visit(const T member)
{
// Log.trace(__FUNCTION__, " ", typeof(member).stringof);
SemanticSymbol* symbol = allocateSemanticSymbol(member.name.text,
CompletionKind.enumMember, symbolFile, member.name.index, member.type);
symbol.parent = currentSymbol;
symbol.acSymbol.doc = internString(member.comment);
currentSymbol.addChild(symbol);
}
}
void visitAggregateDeclaration(AggType)(AggType dec, CompletionKind kind) void visitAggregateDeclaration(AggType)(AggType dec, CompletionKind kind)
{ {
// Log.trace("visiting aggregate declaration ", dec.name.text); // Log.trace("visiting aggregate declaration ", dec.name.text);