This commit is contained in:
Hackerpilot 2014-07-09 17:06:56 -07:00
parent 692b6bc261
commit 74f93610c2
2 changed files with 25 additions and 8 deletions

@ -1 +1 @@
Subproject commit 2a72525f649850f452f21e7f362f70440f487a61
Subproject commit 74b394404947f8c1ea9c6e769fdb413db049d27d

View File

@ -69,11 +69,6 @@ private:
case className:
case interfaceName:
resolveInheritance(currentSymbol);
goto case structName;
case structName:
case unionName:
resolveAliasThis(currentSymbol);
resolveMixinTemplates(currentSymbol);
break;
case variableName:
case memberVariableName:
@ -85,6 +80,8 @@ private:
t = t.type;
currentSymbol.acSymbol.type = t;
break;
case structName:
case unionName:
case enumName:
case keyword:
case enumMember:
@ -97,10 +94,24 @@ private:
case mixinTemplateName:
break;
}
foreach (child; currentSymbol.children)
{
thirdPass(child);
}
with (CompletionKind) switch (currentSymbol.acSymbol.kind)
{
case className:
case interfaceName:
case structName:
case unionName:
resolveAliasThis(currentSymbol);
resolveMixinTemplates(currentSymbol);
break;
default:
break;
}
}
void resolveInheritance(SemanticSymbol* currentSymbol)
@ -129,10 +140,16 @@ private:
void resolveAliasThis(SemanticSymbol* currentSymbol)
{
// TODO:
foreach (aliasThis; currentSymbol.aliasThis)
{
auto parts = currentSymbol.acSymbol.getPartsByName(aliasThis);
if (parts.length == 0 || parts[0].type is null)
continue;
currentSymbol.acSymbol.parts.insert(parts[0].type.parts[]);
}
}
void resolveMixinTemplates(SemanticSymbol* currentSymbol)
void resolveMixinTemplates(SemanticSymbol*)
{
// TODO:
}