public void Resolve(VBAParser.ICS_B_ProcedureCallContext context) { if (_alreadyResolved.Contains(context)) { return; } ResolveInternal(context); }
private Declaration ResolveInternal(VBAParser.ICS_B_ProcedureCallContext context) { if (context == null) { return(null); } var identifierContext = context.certainIdentifier(); var callee = ResolveInternal(identifierContext, _currentScope); if (callee == null) { return(null); } var reference = CreateReference(identifierContext, callee); callee.AddReference(reference); _alreadyResolved.Add(reference.Context); return(callee); }
public override void EnterICS_B_ProcedureCall(VBAParser.ICS_B_ProcedureCallContext context) { _resolver.Resolve(context); }