Skip to content

Commit bcc919a

Browse files
committed
Faster resolution
1 parent e8f7008 commit bcc919a

1 file changed

Lines changed: 6 additions & 9 deletions

File tree

‎External/Plugins/ASCompletion/Completion/ASComplete.cs‎

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2504,7 +2504,6 @@ static private ASResult EvalVariable(string token, ASExpr local, FileModel inFil
25042504
if (var.Type == null && (var.Flags & FlagType.LocalVar) > 0
25052505
&& context.Features.hasInference /*&& !context.Features.externalCompletion*/)
25062506
InferVariableType(local, var);
2507-
result.Type = ResolveType(var.Type, inFile);
25082507

25092508
if ((var.Flags & FlagType.Function) > 0)
25102509
result.Type = ResolveType("Function", null);
@@ -2680,20 +2679,18 @@ private static ClassModel ResolveType(string qname, FileModel inFile)
26802679
{
26812680
IASContext context = ASContext.Context;
26822681

2683-
TraceManager.Add("resolve " + qname);
2684-
26852682
if (inFile == null || inFile == context.CurrentModel)
26862683
foreach (MemberModel aDecl in context.GetVisibleExternalElements())
26872684
{
26882685
if (aDecl.Name == qname || aDecl.Type == qname)
26892686
{
2690-
ClassModel friendClass;
26912687
if (aDecl.InFile != null)
2692-
friendClass = context.GetModel(aDecl.InFile.Package, qname, inFile != null ? inFile.Package : null);
2693-
else
2694-
friendClass = context.ResolveType(aDecl.Type, inFile);
2695-
2696-
return friendClass;
2688+
{
2689+
foreach (ClassModel aClass in aDecl.InFile.Classes)
2690+
if (aClass.Name == aDecl.Name) return aClass;
2691+
return context.GetModel(aDecl.InFile.Package, qname, inFile != null ? inFile.Package : null);
2692+
}
2693+
else return context.ResolveType(aDecl.Type, inFile);
26972694
}
26982695
}
26992696

0 commit comments

Comments
 (0)