private async Task <object> EvaluateResolverCallback(Context context, QualifierId qualifier, FilePosition filePosition, ResolvedEntry resolvedEntry) { var qualifierValue = QualifierValue.Create(qualifier, context.QualifierValueCache, context.FrontEndContext.QualifierTable, context.StringTable); var env = InstantiateFileModuleLiteral(context.ModuleRegistry, qualifierValue); using (var args = EvaluationStackFrame.Empty()) { return(await resolvedEntry.ResolverCallback(context, env, args)); } }
private EvaluationResult EvaluateResolvedEntry(Context context, QualifierId qualifier, FilePosition filePosition, ResolvedEntry resolvedEntry) { var qualifierValue = QualifierValue.Create(qualifier, context.QualifierValueCache, context.FrontEndContext.QualifierTable, context.StringTable); var instantiatedModule = InstantiateFileModuleLiteral(context.ModuleRegistry, qualifierValue); if (resolvedEntry.Thunk == null) { return(instantiatedModule.EvaluateNonThunkedResolvedSymbol(context, instantiatedModule, resolvedEntry)); } var name = resolvedEntry.ThunkContextName; return(instantiatedModule.EvaluateByLocation(context, filePosition, name, resolvedEntry.Location)); }