Esempio n. 1
0
        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));
            }
        }
Esempio n. 2
0
        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));
        }