Fix #12
This commit is contained in:
parent
692b6bc261
commit
74f93610c2
|
@ -1 +1 @@
|
||||||
Subproject commit 2a72525f649850f452f21e7f362f70440f487a61
|
Subproject commit 74b394404947f8c1ea9c6e769fdb413db049d27d
|
|
@ -69,11 +69,6 @@ private:
|
||||||
case className:
|
case className:
|
||||||
case interfaceName:
|
case interfaceName:
|
||||||
resolveInheritance(currentSymbol);
|
resolveInheritance(currentSymbol);
|
||||||
goto case structName;
|
|
||||||
case structName:
|
|
||||||
case unionName:
|
|
||||||
resolveAliasThis(currentSymbol);
|
|
||||||
resolveMixinTemplates(currentSymbol);
|
|
||||||
break;
|
break;
|
||||||
case variableName:
|
case variableName:
|
||||||
case memberVariableName:
|
case memberVariableName:
|
||||||
|
@ -85,6 +80,8 @@ private:
|
||||||
t = t.type;
|
t = t.type;
|
||||||
currentSymbol.acSymbol.type = t;
|
currentSymbol.acSymbol.type = t;
|
||||||
break;
|
break;
|
||||||
|
case structName:
|
||||||
|
case unionName:
|
||||||
case enumName:
|
case enumName:
|
||||||
case keyword:
|
case keyword:
|
||||||
case enumMember:
|
case enumMember:
|
||||||
|
@ -97,10 +94,24 @@ private:
|
||||||
case mixinTemplateName:
|
case mixinTemplateName:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach (child; currentSymbol.children)
|
foreach (child; currentSymbol.children)
|
||||||
{
|
{
|
||||||
thirdPass(child);
|
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)
|
void resolveInheritance(SemanticSymbol* currentSymbol)
|
||||||
|
@ -129,10 +140,16 @@ private:
|
||||||
|
|
||||||
void resolveAliasThis(SemanticSymbol* currentSymbol)
|
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:
|
// TODO:
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue