/// <inheritdoc /> public override bool TryProject(Context context, SymbolAtom name, ModuleLiteral origin, out EvaluationResult result, LineInfo location) { if (name == context.ContextTree.CommonConstants.Length) { result = EvaluationResult.Create(Length); return(true); } var resolvedMember = ((ModuleRegistry)context.FrontEndHost.ModuleRegistry).PredefinedTypes.AmbientArray.ResolveMember(this, name); if (resolvedMember == null) { // Array literals could not have arbitrary members. // So if the name was not resolved, reporting an error. // var locationForLogging = LocationForLogging(context, origin); var locationForLogging = UniversalLocation.FromLineInfo(location, origin.Path, context.PathTable); context.Logger.ReportMissingInstanceMember( context.LoggingContext, locationForLogging.AsLoggingLocation(), name.ToDisplayString(context), DisplayStringHelper.TypeToString(GetType(), context), context.GetStackTraceAsString(locationForLogging)); result = EvaluationResult.Error; } else { result = EvaluationResult.Create(resolvedMember); } return(true); }
private EvaluationResult ReportError(Context context, UnaryExpression spread) { var location = UniversalLocation.FromLineInfo(spread.Location, m_path, context.PathTable); context.Logger.ReportFailResolveSelectorDueToUndefined( context.LoggingContext, location.AsLoggingLocation(), spread.Expression.ToDisplayString(context), spread.ToDisplayString(context), context.GetStackTraceAsString(location)); return(EvaluationResult.Error); }
public void TestImportAliasExpression() { ImportAliasExpression node = new ImportAliasExpression(GetAbsolutePath(), UniversalLocation.FromLineInfo(DefaultLineInfo, GetAbsolutePath(), m_pathTable)); CheckSerializationRoundTrip(node); }
public void TestCoerceQualifierTypeExpression() { CoerceQualifierTypeExpression node = new CoerceQualifierTypeExpression(GetExpression1(), m_qualifierSpaceId, false, DefaultLineInfo, UniversalLocation.FromLineInfo(DefaultLineInfo, GetAbsolutePath(), m_pathTable)); CheckSerializationRoundTrip(node); }
/// <inheritdoc/> public override void ReportError(EvaluationErrors errors, ModuleLiteral environment, LineInfo location, Expression expression, Context context) { errors.ReportContractFail(environment, Message, location, context.GetStackTraceAsString(UniversalLocation.FromLineInfo(location, environment.Path, context.PathTable))); }