public void Begin(MagicNumber tagClass, StringId classStringId, TagLayoutGuess layout) { if (_writer != null) throw new InvalidOperationException("Cannot begin a new tag while another is still in progress"); // Convert the class name to a pascal case string and use that as the file name var name = _stringIds.GetString(classStringId); if (string.IsNullOrEmpty(name)) throw new InvalidOperationException("Unable to look up the tag class name"); name = ConvertToPascalCase(name); var path = Path.Combine(_outDir, name + ".hpp"); _writer = new StreamWriter(File.Open(path, FileMode.Create, FileAccess.Write)); // Write the C++ header _writer.WriteLine("#pragma once"); _writer.WriteLine("#include \"Tags.hpp\""); _writer.WriteLine(); _writer.WriteLine("namespace Blam"); _writer.WriteLine("{"); _writer.WriteLine("\tnamespace Tags"); _writer.WriteLine("\t{"); _builder = new StructBuilder(_writer, 2, name); _builder.Begin(tagClass, classStringId, layout); }
/// <summary> /// Gets the string corresponding to a stringID. /// </summary> /// <param name="stringId">The stringID.</param> /// <returns>The string corresponding to the stringID, or <c>null</c> if not found.</returns> public string GetString(StringId stringId) { var strIndex = Resolver.StringIdToIndex(stringId); if (strIndex < 0 || strIndex >= _strings.Count) return null; return _strings[strIndex]; }
public void Begin(MagicNumber tagClass, StringId classStringId, TagLayoutGuess layout) { if (_writer != null) throw new InvalidOperationException("Cannot begin a new tag while another is still in progress"); // Convert the class name to a pascal case string and use that as the file name var name = _stringIds.GetString(classStringId); if (string.IsNullOrEmpty(name)) throw new InvalidOperationException("Unable to look up the tag class name"); name = ConvertToPascalCase(name); var path = Path.Combine(_outDir, name + ".cs"); _writer = new StreamWriter(File.Open(path, FileMode.Create, FileAccess.Write)); // Write the C# header _writer.WriteLine("using System;"); _writer.WriteLine("using System.Collections.Generic;"); _writer.WriteLine("using System.Linq;"); _writer.WriteLine("using System.Text;"); _writer.WriteLine("using System.Threading.Tasks;"); _writer.WriteLine("using HaloOnlineTagTool.Serialization;"); _writer.WriteLine(); _writer.WriteLine("namespace HaloOnlineTagTool.TagStructures"); _writer.WriteLine("{"); _builder = new ClassBuilder(_writer, 1, name); _builder.Begin(tagClass, classStringId, layout); }
public LocalizedString() { StringId = StringId.Null; StringIdStr = ""; Offsets = new int[12]; for (var i = 0; i < Offsets.Length; i++) Offsets[i] = -1; }
public WeblogConfigurationWizardHeader(StringId label) { // This call is required by the Windows.Forms Form Designer. InitializeComponent(); this.Font = Res.GetFont(FontSize.GiantHeading, FontStyle.Regular); TabStop = false; _label = Res.Get(label); }
public override string GetLocalizedString(StringId id) { string localized = BaumaxLocalizer.GetLocalized(StrStringId + id); if (String.IsNullOrEmpty(localized)) { localized = base.GetLocalizedString(id); } return localized; }
/// <summary> /// Begins building a new model region. /// </summary> /// <param name="name">The name stringID.</param> /// <exception cref="System.InvalidOperationException">Cannot begin a new region while another is active</exception> public void BeginRegion(StringId name) { if (_currentRegion != null) throw new InvalidOperationException("Cannot begin a new region while another is active"); _currentRegion = new RenderModel.Region { Name = name, Permutations = new List<RenderModel.Region.Permutation>(), }; }
public override string GetLocalizedString(StringId id) { if (id == StringId.XtraMessageBoxAbortButtonText) return this.Abort; if (id == StringId.XtraMessageBoxCancelButtonText) return this.Cancel; if (id == StringId.XtraMessageBoxIgnoreButtonText) return this.Ignore; if (id == StringId.XtraMessageBoxNoButtonText) return this.No; if (id == StringId.XtraMessageBoxOkButtonText) return this.Ok; if (id == StringId.XtraMessageBoxRetryButtonText) return this.Retry; if (id == StringId.XtraMessageBoxYesButtonText) return this.Yes; return base.GetLocalizedString(id); }
public override string GetLocalizedString(StringId id) { if (dicGridStringIdValues.ContainsKey(id.ToString())) { return dicGridStringIdValues[id.ToString()]; } else { string str = base.GetLocalizedString(id); File.AppendAllText("D:\\temp.txt", string.Format(" <data name='{0}' value='{1}'/>\r\n", id, str)); return str; } }
/// <summary> /// Converts a stringID value to a string list index. /// </summary> /// <param name="stringId">The stringID.</param> /// <returns>The string list index, or -1 if none.</returns> public int StringIdToIndex(StringId stringId) { var setMin = GetMinSetStringIndex(); var setMax = GetMaxSetStringIndex(); var setOffsets = GetSetOffsets(); var set = stringId.Set; var index = stringId.Index; if (set == 0 && (index < setMin || index > setMax)) { // Value does not go into a set, so the index is the same as the ID return index; } if (set < 0 || set >= setOffsets.Length) return -1; // Invalid set number // Convert the index part of the ID into a string index based on its set if (set == 0) index -= setMin; return index + setOffsets[set]; }
public Node(Experience owner, StringId id, string command, SQMDataId sqmCountID) : base(owner, Shell.LoadString(id), null) { this._command = command; this._sqmCountID = sqmCountID; }
public void Begin(MagicNumber tagClass, StringId classStringId, TagLayoutGuess layout) { if (classStringId != StringId.Null) _writer.WriteLine("{0}[TagStructure(Class = \"{1}\", Size = 0x{2:X})]", _indent, tagClass, layout.Size); else _writer.WriteLine("{0}[TagStructure(Size = 0x{1:X})]", _indent, layout.Size); _writer.WriteLine("{0}public class {1}", _indent, _name); _writer.WriteLine("{0}{{", _indent); SetIndent(_indentLevel + 1); }
private bool TryConfigureProcessBuilder( ProcessBuilder processBuilder, PipConstructionHelper pipConstructionHelper, ProjectWithPredictions project, QualifierId qualifierId, out AbsolutePath outputResultCacheFile, out string failureDetail) { outputResultCacheFile = AbsolutePath.Invalid; if (!TrySetBuildToolExecutor(pipConstructionHelper, processBuilder, project)) { failureDetail = "Failed to construct tooldefinition"; return(false); } // Working directory - the directory where the project file lives. processBuilder.WorkingDirectory = DirectoryArtifact.CreateWithZeroPartialSealId(project.FullPath.GetParent(PathTable)); // We allow undeclared inputs to be read processBuilder.Options |= Process.Options.AllowUndeclaredSourceReads; // Run in a container if specified if (m_resolverSettings.RunInContainer) { processBuilder.Options |= Process.Options.NeedsToRunInContainer; processBuilder.ContainerIsolationLevel = ContainerIsolationLevel.IsolateAllOutputs; } // Until we can deal with double writes in a better way, this unsafe option allows the build to progress and // prints warnings processBuilder.DoubleWritePolicy |= DoubleWritePolicy.UnsafeFirstDoubleWriteWins; SetUntrackedFilesAndDirectories(processBuilder); // Add the log directory and its corresponding files var qualifier = m_context.QualifierTable.GetQualifier(qualifierId); AbsolutePath logDirectory = GetLogDirectory(project, qualifier); processBuilder.AddOutputFile(logDirectory.Combine(PathTable, "msbuild.log"), FileExistence.Optional); processBuilder.AddOutputFile(logDirectory.Combine(PathTable, "msbuild.wrn"), FileExistence.Optional); processBuilder.AddOutputFile(logDirectory.Combine(PathTable, "msbuild.err"), FileExistence.Optional); processBuilder.AddOutputFile(logDirectory.Combine(PathTable, "msbuild.prf"), FileExistence.Optional); if (m_resolverSettings.EnableBinLogTracing == true) { processBuilder.AddOutputFile(logDirectory.Combine(PathTable, "msbuild.binlog"), FileExistence.Optional); } // Unless the legacy non-isolated mode is explicitly specified, the project builds in isolation, and therefore // it produces an output cache file. This file is placed on the (unique) object directory for this project if (m_resolverSettings.UseLegacyProjectIsolation != true) { var objectDirectory = pipConstructionHelper.GetUniqueObjectDirectory(project.FullPath.GetName(PathTable)); outputResultCacheFile = objectDirectory.Path.Combine(PathTable, PathAtom.Create(PathTable.StringTable, OutputCacheFileName)); processBuilder.AddOutputFile(outputResultCacheFile, FileExistence.Required); } // Path to the project processBuilder.ArgumentsBuilder.Add(PipDataAtom.FromAbsolutePath(project.FullPath)); // Response file with the rest of the arguments var rspFileSpec = ResponseFileSpecification.Builder() .AllowForRemainingArguments(processBuilder.ArgumentsBuilder.CreateCursor()) .ForceCreation(true) .Prefix("@") .Build(); processBuilder.SetResponseFileSpecification(rspFileSpec); if (!TryAddMsBuildArguments(project, processBuilder.ArgumentsBuilder, logDirectory, outputResultCacheFile, out failureDetail)) { return(false); } // Q_SESSION_GUID is used to provide a unique build GUID to build tools and scripts. // It'll cause full cache misses if we try to hash it as an input, however, so exclude. processBuilder.SetPassthroughEnvironmentVariable(StringId.Create(m_context.StringTable, BuildEnvironmentConstants.QSessionGuidEnvVar)); // mspdbsrv: _MSPDBSRV_ENDPOINT_ sets up one mspdbsrv.exe instance per build target execution. // However this process will live beyond the build.cmd or msbuild.exe call. // Allow the pip job object to clean the process without complaint. // // vctip.exe: On any compile error this telemetry upload exe will be run as a detached process. // Just let it be killed. // TODO: Can we stop it running? https://stackoverflow.microsoft.com/questions/74425/how-to-disable-vctip-exe-in-vc14 // // conhost.exe: This process needs a little bit more time to finish after the main process. We shouldn't be allowing // this one to survive, we just need the timeout to be slightly more than zero. This will also be beneficial to other // arbitrary processeses that need a little bit more time. But, apparently, setting a timeout has a perf impact that is // being investigated. TODO: revisit this once this is fixed. // // All child processes: Don't wait to kill the processes. // CODESYNC: CloudBuild repo TrackerExecutor.cs "info.NestedProcessTerminationTimeout = TimeSpan.Zero" processBuilder.AllowedSurvivingChildProcessNames = ReadOnlyArray <PathAtom> .FromWithoutCopy( PathAtom.Create(m_context.StringTable, "mspdbsrv.exe"), PathAtom.Create(m_context.StringTable, "vctip.exe"), PathAtom.Create(m_context.StringTable, "conhost.exe")); processBuilder.NestedProcessTerminationTimeout = TimeSpan.Zero; SetProcessEnvironmentVariables(CreateEnvironment(logDirectory, project), processBuilder); failureDetail = string.Empty; return(true); }
/// <summary> /// Returns whether this object literal has a given key. /// </summary> public abstract bool HasKey(StringId key);
/// <summary> /// Gets or evaluates field. /// </summary> /// <returns> /// Returns evaluated field or <see cref="UndefinedValue.Instance"/> if member is not found. /// Unfortunately there is no way to distinguish between type error or missing member, so in both /// cases this method will return the same - undefined. /// </returns> /// <remarks> /// Fields may need to be evaluated. This happens in the case of module fields that have thunked expressions. /// </remarks> public abstract EvaluationResult GetOrEvalField([NotNull] Context context, StringId name, bool recurs, [NotNull] ModuleLiteral origin, LineInfo location);
/// <summary> /// Creates a new Wizard step. /// </summary> /// <param name="header">The image and label header to assign this step</param> /// <param name="control">The control to display when this step is activated.</param> /// <param name="verify">A verification callback that will be triggered prior to advancing /// past this step. If this callback returns false, the step will not advance.</param> /// <param name="next">A callback that will be triggered after the step has been verified /// and just before advancing to the next step. Steps can use this callback to add additional /// substeps prior to moving past this step.</param> /// <param name="back">A callback that will be triggered when the Wizard is going back one step. /// WizardSteps can use this callback to rollback any stateful side effects that may have occurred /// as a result of previously executing this step.</param> public WizardStep(UserControl control, StringId? header, WizardController.DisplayCallback display, WizardController.VerifyStepCallback verify, WizardController.NextCallback next, WizardController.NextCallback undoNext, WizardController.BackCallback back) { Control = control; Header = header; DisplayHandler = display; VerifyHandler = verify; NextHandler = next; UndoNextHandler = undoNext; BackHandler = back; }
public bool IsStringDefined(StringId id) => _modApplier.LoadAsset(id.Id) switch {
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.None: return(""); case StringId.CaptionError: return("错误"); case StringId.InvalidValueText: return("无效值"); case StringId.CheckChecked: return("校验"); case StringId.CheckUnchecked: return("非校验"); case StringId.CheckIndeterminate: return("不确定"); case StringId.DateEditToday: return("今天"); case StringId.DateEditClear: return("清除"); case StringId.OK: return("确定(&O)"); case StringId.Cancel: return("取消"); case StringId.NavigatorFirstButtonHint: return("第一个"); case StringId.NavigatorPreviousButtonHint: return("前一个"); case StringId.NavigatorPreviousPageButtonHint: return("前一页"); case StringId.NavigatorNextButtonHint: return("下一个"); case StringId.NavigatorNextPageButtonHint: return("下一页"); case StringId.NavigatorLastButtonHint: return("最后一个"); case StringId.NavigatorAppendButtonHint: return("追加"); case StringId.NavigatorRemoveButtonHint: return("删除"); case StringId.NavigatorEditButtonHint: return("编辑"); case StringId.NavigatorEndEditButtonHint: return("结束编辑"); case StringId.NavigatorCancelEditButtonHint: return("取消编辑"); case StringId.NavigatorTextStringFormat: return("记录 {0} of {1}"); case StringId.PictureEditMenuCut: return("剪切"); case StringId.PictureEditMenuCopy: return("复制"); case StringId.PictureEditMenuPaste: return("粘贴"); case StringId.PictureEditMenuDelete: return("删除"); case StringId.PictureEditMenuLoad: return("调用"); case StringId.PictureEditMenuSave: return("保存"); case StringId.PictureEditOpenFileFilter: return(";*.ico;*.位图文件 (*.bmp)|*.bmp|GIF文件 (*.gif)|*.gif|JPEG文件 (*.jpg;*.jpeg)|*.jpg;*.jpeg|Icon 文件 (*.ico)|*.ico|所有图像文件 |*.bmp;*.gif;*.jpg;*.jpeg;*.ico;*.png;*.tif|所有文件 |*.*"); case StringId.PictureEditSaveFileFilter: return("位图文件 (*.bmp)|*.bmp|GIF文件 (*.gif)|*.gif|JPEG 文件 (*.jpg)|*.jpg"); case StringId.PictureEditOpenFileTitle: return("打开"); case StringId.PictureEditSaveFileTitle: return("另存为"); case StringId.PictureEditOpenFileError: return("错误的图像格式"); case StringId.PictureEditOpenFileErrorCaption: return("打开错误"); case StringId.PictureEditCopyImageError: return("不能拷贝图像"); case StringId.LookUpEditValueIsNull: return("[编辑值为空]"); case StringId.LookUpInvalidEditValueType: return("无效的 LookUpEdit 编辑值类型。"); case StringId.LookUpColumnDefaultName: return("名称"); case StringId.MaskBoxValidateError: return("输入值不完整,是否修正?\r\n\t\r\n\t\r\n\t是 - 返回编辑器,修正该值.\r\n\t否 -保留该值.\r\n\t取消 - 重设为原来的值.\r\n\t"); case StringId.UnknownPictureFormat: return("未知的图形格式"); case StringId.DataEmpty: return("没有图像数据"); case StringId.NotValidArrayLength: return("无效的数组长度。"); case StringId.ImagePopupEmpty: return("(空)"); case StringId.ImagePopupPicture: return("(图像)"); case StringId.ColorTabCustom: return("自定义"); case StringId.ColorTabWeb: return("网页"); case StringId.ColorTabSystem: return("系统"); case StringId.CalcButtonMC: return("MC"); case StringId.CalcButtonMR: return("MR"); case StringId.CalcButtonMS: return("MS"); case StringId.CalcButtonMx: return("M+"); case StringId.CalcButtonSqrt: return("平方根"); case StringId.CalcButtonBack: return("后退"); case StringId.CalcButtonCE: return("CE"); case StringId.CalcButtonC: return("C"); case StringId.CalcError: return("计算错误"); case StringId.TabHeaderButtonPrev: return("向左滚动"); case StringId.TabHeaderButtonNext: return("向右滚动"); case StringId.TabHeaderButtonClose: return("关闭"); case StringId.TabHeaderSelectorButton: return("Show Window List"); case StringId.XtraMessageBoxOkButtonText: return("确定(&O)"); case StringId.XtraMessageBoxCancelButtonText: return("取消"); case StringId.XtraMessageBoxYesButtonText: return("是(&Y)"); case StringId.XtraMessageBoxNoButtonText: return("否(&N)"); case StringId.XtraMessageBoxAbortButtonText: return("中断(&A)"); case StringId.XtraMessageBoxRetryButtonText: return("重试(&R)"); case StringId.XtraMessageBoxIgnoreButtonText: return("忽略(&I)"); case StringId.TextEditMenuUndo: return("撤销(&U)"); case StringId.TextEditMenuCut: return("剪切(&t)"); case StringId.TextEditMenuCopy: return("复制(&C)"); case StringId.TextEditMenuPaste: return("粘贴(&P)"); case StringId.TextEditMenuDelete: return("删除(&D)"); case StringId.TextEditMenuSelectAll: return("全选(&A)"); case StringId.FilterEditorTabText: return("文本"); case StringId.FilterEditorTabVisual: return("可视"); case StringId.FilterShowAll: return("(全部显示)"); case StringId.FilterGroupAnd: return("与"); case StringId.FilterGroupNotAnd: return("非与"); case StringId.FilterGroupNotOr: return("非或"); case StringId.FilterGroupOr: return("或"); case StringId.FilterClauseAnyOf: return("所有"); case StringId.FilterClauseBeginsWith: return("以...开头"); case StringId.FilterClauseBetween: return("在...之间"); case StringId.FilterClauseBetweenAnd: return("在...与...之间"); case StringId.FilterClauseContains: return("包含..."); case StringId.FilterClauseEndsWith: return("以...结尾"); case StringId.FilterClauseEquals: return("等于"); case StringId.FilterClauseGreater: return("大于"); case StringId.FilterClauseGreaterOrEqual: return("大于等于"); case StringId.FilterClauseIsNotNull: return("不为空"); case StringId.FilterClauseIsNull: return("为空"); case StringId.FilterClauseIsNotNullOrEmpty: return("Is not blank"); case StringId.FilterClauseIsNullOrEmpty: return("Is blank"); case StringId.FilterClauseLess: return("小于"); case StringId.FilterClauseLessOrEqual: return("小于等于"); case StringId.FilterClauseLike: return("与...相符"); case StringId.FilterClauseNoneOf: return("一个也没有"); case StringId.FilterClauseNotBetween: return("不在...之间"); case StringId.FilterClauseDoesNotContain: return("不包含"); case StringId.FilterClauseDoesNotEqual: return("不等于"); case StringId.FilterClauseNotLike: return("不相符"); case StringId.FilterEmptyEnter: return("<输入值>"); case StringId.FilterEmptyParameter: return("<输入参数>"); case StringId.FilterMenuAddNewParameter: return("增加参数"); case StringId.FilterEmptyValue: return("<空>"); case StringId.FilterMenuConditionAdd: return("添加条件"); case StringId.FilterMenuGroupAdd: return("添加组"); case StringId.FilterMenuClearAll: return("清除所有"); case StringId.FilterMenuRowRemove: return("删除组"); case StringId.FilterToolTipNodeAdd: return("添加一个新的条件到组"); case StringId.FilterToolTipNodeRemove: return("删除这个条件"); case StringId.FilterToolTipNodeAction: return("操作"); case StringId.FilterToolTipValueType: return("比较值(另一个字段值)"); case StringId.FilterToolTipElementAdd: return("添加一个新的项目到列表"); case StringId.FilterToolTipKeysAdd: return("(使用插入或新增键)"); case StringId.FilterToolTipKeysRemove: return("(使用删除或削减键)"); case StringId.ContainerAccessibleEditName: return("编辑控制"); case StringId.FilterCriteriaToStringGroupOperatorAnd: return("And"); case StringId.FilterCriteriaToStringGroupOperatorOr: return("Or"); case StringId.FilterCriteriaToStringUnaryOperatorBitwiseNot: return("~"); case StringId.FilterCriteriaToStringUnaryOperatorIsNull: return("Is Null"); case StringId.FilterCriteriaToStringUnaryOperatorMinus: return("-"); case StringId.FilterCriteriaToStringUnaryOperatorNot: return("Not"); case StringId.FilterCriteriaToStringUnaryOperatorPlus: return("+"); case StringId.FilterCriteriaToStringBinaryOperatorBitwiseAnd: return("&"); case StringId.FilterCriteriaToStringBinaryOperatorBitwiseOr: return("|"); case StringId.FilterCriteriaToStringBinaryOperatorBitwiseXor: return("^"); case StringId.FilterCriteriaToStringBinaryOperatorDivide: return("/"); case StringId.FilterCriteriaToStringBinaryOperatorEqual: return("="); case StringId.FilterCriteriaToStringBinaryOperatorGreater: return(">"); case StringId.FilterCriteriaToStringBinaryOperatorGreaterOrEqual: return(">="); case StringId.FilterCriteriaToStringBinaryOperatorLess: return("<"); case StringId.FilterCriteriaToStringBinaryOperatorLessOrEqual: return("<="); case StringId.FilterCriteriaToStringBinaryOperatorLike: return("Like"); case StringId.FilterCriteriaToStringBinaryOperatorMinus: return("-"); case StringId.FilterCriteriaToStringBinaryOperatorModulo: return("%"); case StringId.FilterCriteriaToStringBinaryOperatorMultiply: return("*"); case StringId.FilterCriteriaToStringBinaryOperatorNotEqual: return("<>"); case StringId.FilterCriteriaToStringBinaryOperatorPlus: return("+"); case StringId.FilterCriteriaToStringBetween: return("Between"); case StringId.FilterCriteriaToStringIn: return("In"); case StringId.FilterCriteriaToStringIsNotNull: return("Is Not Null"); case StringId.FilterCriteriaToStringNotLike: return("Not Like"); case StringId.FilterCriteriaToStringFunctionIif: return("Iif"); case StringId.FilterCriteriaToStringFunctionIsNull: return("为空"); case StringId.FilterCriteriaToStringFunctionLen: return("长度"); case StringId.FilterCriteriaToStringFunctionLower: return("小写"); case StringId.FilterCriteriaToStringFunctionNone: return("无"); case StringId.FilterCriteriaToStringFunctionSubstring: return("切割字符串"); case StringId.FilterCriteriaToStringFunctionTrim: return("去空格"); case StringId.FilterCriteriaToStringFunctionUpper: return("大写"); case StringId.FilterCriteriaToStringFunctionIsThisYear: return("今天"); case StringId.FilterCriteriaToStringFunctionIsThisMonth: return("本月"); case StringId.FilterCriteriaToStringFunctionIsThisWeek: return("本周"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeThisYear: return("今年"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeThisMonth: return("本月"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeLastWeek: return("上周"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeThisWeek: return("本周"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeYesterday: return("昨天"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeToday: return("今天"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeNow: return("现在"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeTomorrow: return("明天"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeDayAfterTomorrow: return("后天"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeNextWeek: return("下周"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeTwoWeeksAway: return("两周"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeNextMonth: return("下个月"); case StringId.FilterCriteriaToStringFunctionLocalDateTimeNextYear: return("明年"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalBeyondThisYear: return("除了今年"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLaterThisYear: return("今年晚些时候"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLaterThisMonth: return("本月晚些时候"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalNextWeek: return("下周"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLaterThisWeek: return("这周晚些时候"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalTomorrow: return("明天"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalToday: return("今天"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalYesterday: return("昨天"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalEarlierThisWeek: return("这周早些时候"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLastWeek: return("最后一周"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalEarlierThisMonth: return("本月早些时候"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalEarlierThisYear: return("今年早些时候"); case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalPriorThisYear: return("在此之前一年"); case StringId.FilterCriteriaToStringFunctionCustom: return("自定义"); case StringId.FilterCriteriaToStringFunctionCustomNonDeterministic: return("常规不确定"); case StringId.FilterCriteriaToStringFunctionIsNullOrEmpty: return("空或空格"); case StringId.FilterCriteriaToStringFunctionConcat: return("串接"); case StringId.FilterCriteriaToStringFunctionAscii: return("Ascii"); case StringId.FilterCriteriaToStringFunctionChar: return("Char"); case StringId.FilterCriteriaToStringFunctionToInt: return("To int"); case StringId.FilterCriteriaToStringFunctionToLong: return("To long"); case StringId.FilterCriteriaToStringFunctionToFloat: return("To float"); case StringId.FilterCriteriaToStringFunctionToDouble: return("To double"); case StringId.FilterCriteriaToStringFunctionToDecimal: return("To decimal"); case StringId.FilterCriteriaToStringFunctionToStr: return("To str"); case StringId.FilterCriteriaToStringFunctionReplace: return("替换"); case StringId.FilterCriteriaToStringFunctionReverse: return("逆转"); case StringId.FilterCriteriaToStringFunctionInsert: return("插入"); case StringId.FilterCriteriaToStringFunctionCharIndex: return("字符索引"); case StringId.FilterCriteriaToStringFunctionRemove: return("移除"); case StringId.FilterCriteriaToStringFunctionAbs: return("Abs"); case StringId.FilterCriteriaToStringFunctionSqr: return("Sqr"); case StringId.FilterCriteriaToStringFunctionCos: return("Cos"); case StringId.FilterCriteriaToStringFunctionSin: return("Sin"); case StringId.FilterCriteriaToStringFunctionAtn: return("Atn"); case StringId.FilterCriteriaToStringFunctionExp: return("Exp"); case StringId.FilterCriteriaToStringFunctionLog: return("Log"); case StringId.FilterCriteriaToStringFunctionRnd: return("Rnd"); case StringId.FilterCriteriaToStringFunctionTan: return("Tan"); case StringId.FilterCriteriaToStringFunctionPower: return("Power"); case StringId.FilterCriteriaToStringFunctionSign: return("Sign"); case StringId.FilterCriteriaToStringFunctionRound: return("Round"); case StringId.FilterCriteriaToStringFunctionCeiling: return("Ceiling"); case StringId.FilterCriteriaToStringFunctionFloor: return("Floor"); case StringId.FilterCriteriaToStringFunctionMax: return("Max"); case StringId.FilterCriteriaToStringFunctionMin: return("Min"); case StringId.FilterCriteriaToStringFunctionAcos: return("Acos"); case StringId.FilterCriteriaToStringFunctionAsin: return("Asin"); case StringId.FilterCriteriaToStringFunctionAtn2: return("Atn2"); case StringId.FilterCriteriaToStringFunctionBigMul: return("Big mul"); case StringId.FilterCriteriaToStringFunctionCosh: return("Cosh"); case StringId.FilterCriteriaToStringFunctionLog10: return("Log10"); case StringId.FilterCriteriaToStringFunctionSinh: return("Sinh"); case StringId.FilterCriteriaToStringFunctionTanh: return("Tanh"); case StringId.FilterCriteriaToStringFunctionPadLeft: return("左对齐"); case StringId.FilterCriteriaToStringFunctionPadRight: return("右对齐"); case StringId.FilterCriteriaToStringFunctionDateDiffTick: return("时间差(刻度)"); case StringId.FilterCriteriaToStringFunctionDateDiffSecond: return("时间差(秒)"); case StringId.FilterCriteriaToStringFunctionDateDiffMilliSecond: return("时间差(毫秒)"); case StringId.FilterCriteriaToStringFunctionDateDiffMinute: return("时间差(分钟)"); case StringId.FilterCriteriaToStringFunctionDateDiffHour: return("时间差(小时)"); case StringId.FilterCriteriaToStringFunctionDateDiffDay: return("时间差(天)"); case StringId.FilterCriteriaToStringFunctionDateDiffMonth: return("时间差(月)"); case StringId.FilterCriteriaToStringFunctionDateDiffYear: return("时间差(年)"); case StringId.FilterCriteriaToStringFunctionGetDate: return("获取日期"); case StringId.FilterCriteriaToStringFunctionGetMilliSecond: return("获取毫秒"); case StringId.FilterCriteriaToStringFunctionGetSecond: return("获取秒"); case StringId.FilterCriteriaToStringFunctionGetMinute: return("获取分钟"); case StringId.FilterCriteriaToStringFunctionGetHour: return("获取小时"); case StringId.FilterCriteriaToStringFunctionGetDay: return("获取天"); case StringId.FilterCriteriaToStringFunctionGetMonth: return("获取月"); case StringId.FilterCriteriaToStringFunctionGetYear: return("获取年"); case StringId.FilterCriteriaToStringFunctionGetDayOfWeek: return("获取星期几"); case StringId.FilterCriteriaToStringFunctionGetDayOfYear: return("获取一年中的天"); case StringId.FilterCriteriaToStringFunctionGetTimeOfDay: return("获取时间"); case StringId.FilterCriteriaToStringFunctionNow: return("获取现在时间"); case StringId.FilterCriteriaToStringFunctionUtcNow: return("获取现在时间(UTC)"); case StringId.FilterCriteriaToStringFunctionToday: return("获取今天的日期"); case StringId.FilterCriteriaToStringFunctionAddTimeSpan: return("增加时间跨度"); case StringId.FilterCriteriaToStringFunctionAddTicks: return("增加刻度"); case StringId.FilterCriteriaToStringFunctionAddMilliSeconds: return("增加毫秒"); case StringId.FilterCriteriaToStringFunctionAddSeconds: return("增加秒"); case StringId.FilterCriteriaToStringFunctionAddMinutes: return("增加分钟"); case StringId.FilterCriteriaToStringFunctionAddHours: return("增加小时"); case StringId.FilterCriteriaToStringFunctionAddDays: return("增加天数"); case StringId.FilterCriteriaToStringFunctionAddMonths: return("增加月数"); case StringId.FilterCriteriaToStringFunctionAddYears: return("增加年数"); case StringId.FilterCriteriaToStringFunctionStartsWith: return("从这里开始"); case StringId.FilterCriteriaToStringFunctionEndsWith: return("到这里结束"); case StringId.FilterCriteriaToStringFunctionContains: return("包含"); case StringId.FilterCriteriaInvalidExpression: return("指定的表达包含无效符号(第{0}行,第{1}列)"); case StringId.FilterCriteriaInvalidExpressionEx: return("指定的表达式是无效的"); case StringId.Apply: return("应用"); case StringId.PreviewPanelText: return("预览:"); case StringId.TransparentBackColorNotSupported: return("此控件不支持透明的背景色"); case StringId.FilterOutlookDateText: return("查看全部|显示空值|过滤器的具体日期: |除了今年|今年晚些时候|本月晚些时候|下周|本星期晚些时候|明天|今天|昨天|本周|上周|本月|今年|在此之前一年"); case StringId.FilterDateTimeConstantMenuCaption: return("日期常量"); case StringId.FilterDateTimeOperatorMenuCaption: return("日期运算符"); case StringId.FilterDateTextAlt: return("查看全部|显示空值|过滤器的具体日期:|较远的|下周|今天|本周|本月|最近的|{0:yyyy}, {0:MMMM}"); case StringId.FilterFunctionsMenuCaption: return("Functions"); case StringId.DefaultBooleanTrue: return("真"); case StringId.DefaultBooleanFalse: return("假"); case StringId.DefaultBooleanDefault: return("默认"); case StringId.ProgressExport: return("导出"); case StringId.ProgressPrinting: return("打印"); case StringId.ProgressCreateDocument: return("创建文件"); case StringId.ProgressCancel: return("取消"); case StringId.ProgressCancelPending: return("取消等待"); case StringId.ProgressLoadingData: return("加载数据"); case StringId.FilterAggregateAvg: return("平均"); case StringId.FilterAggregateCount: return("计数"); case StringId.FilterAggregateExists: return("存在"); case StringId.FilterAggregateMax: return("最大值"); case StringId.FilterAggregateMin: return("最小值"); case StringId.FilterAggregateSum: return("合计"); case StringId.FieldListName: return("字段列表 ({0})"); case StringId.RestoreLayoutDialogFileFilter: return("XML 文件 (*.xml)|*.xml|所有文件|*.*"); case StringId.SaveLayoutDialogFileFilter: return("XML 文件 (*.xml)|*.xml"); case StringId.RestoreLayoutDialogTitle: return("还原布局"); case StringId.SaveLayoutDialogTitle: return("保存布局"); case StringId.PictureEditMenuZoom: return("缩放"); case StringId.PictureEditMenuFullSize: return("全屏"); case StringId.PictureEditMenuFitImage: return("图像填充"); case StringId.PictureEditMenuZoomIn: return("放大"); case StringId.PictureEditMenuZoomOut: return("缩小"); case StringId.PictureEditMenuZoomTo: return("放大到,"); case StringId.PictureEditMenuZoomToolTip: return("{0}%"); } return(base.GetLocalizedString(id)); }
/// <summary> /// Try acquire given resources on the worker. This must be called from a thread-safe context to prevent race conditions. /// </summary> internal bool TryAcquire(RunnablePip runnablePip, out WorkerResource?limitingResource, double loadFactor = 1, bool moduleAffinityEnabled = false) { Contract.Requires(runnablePip.PipType == PipType.Ipc || runnablePip.PipType == PipType.Process); Contract.Ensures(Contract.Result <bool>() == (limitingResource == null), "Must set a limiting resource when resources cannot be acquired"); using (EarlyReleaseLock.AcquireReadLock()) { if (!IsAvailable) { limitingResource = WorkerResource.Status; return(false); } if (runnablePip.PipType == PipType.Ipc) { Interlocked.Increment(ref m_acquiredIpcSlots); runnablePip.AcquiredResourceWorker = this; limitingResource = null; return(true); } if (IsLocal && !moduleAffinityEnabled) { // Local worker does not use load factor as it may be down throttle by the // scheduler in order to handle remote requests. // When ModuleAffinity is enabled, we want to oversubscribe the local worker as well // to prevent a new worker from adding to the list. loadFactor = 1; } var processRunnablePip = runnablePip as ProcessRunnablePip; // If a process has a weight higher than the total number of process slots, still allow it to run as long as there are no other // processes running (the number of acquired slots is 0) if (AcquiredProcessSlots != 0 && AcquiredProcessSlots + processRunnablePip.Weight > (EffectiveTotalProcessSlots * loadFactor)) { limitingResource = MemoryResourceAvailable ? WorkerResource.AvailableProcessSlots : WorkerResource.MemoryResourceAvailable; return(false); } if (AcquiredMaterializeInputSlots >= TotalMaterializeInputSlots) { limitingResource = WorkerResource.AvailableMaterializeInputSlots; return(false); } StringId limitingResourceName = StringId.Invalid; var expectedMemoryCounters = GetExpectedMemoryCounters(processRunnablePip); if (processRunnablePip.TryAcquireResources(m_workerSemaphores, GetAdditionalResourceInfo(processRunnablePip, expectedMemoryCounters), out limitingResourceName)) { Interlocked.Add(ref m_acquiredProcessSlots, processRunnablePip.Weight); OnWorkerResourcesChanged(WorkerResource.AvailableProcessSlots, increased: false); Interlocked.Add(ref m_acquiredPostProcessSlots, 1); runnablePip.AcquiredResourceWorker = this; processRunnablePip.ExpectedMemoryCounters = expectedMemoryCounters; limitingResource = null; if (runnablePip.Environment.InputsLazilyMaterialized) { // If inputs are lazily materialized, we need to acquire MaterializeInput slots. // Then, we can stop ChooseWorkerCpu queue when the materialize slots are full. // If inputs are not lazily materialized, there is no need to acquire MaterializeInput slots // because we do not execute MaterializeInput step for those builds such as single-machine builds. // Otherwise, the hang occurs for single machine builds where we do not lazily materialize inputs. Interlocked.Add(ref m_acquiredMaterializeInputSlots, 1); } return(true); } if (limitingResourceName == m_ramSemaphoreNameId) { limitingResource = WorkerResource.AvailableMemoryMb; } else if (limitingResourceName == m_commitSemaphoreNameId) { limitingResource = WorkerResource.AvailableCommitMb; } else { limitingResource = WorkerResource.CreateSemaphoreResource(limitingResourceName.ToString(runnablePip.Environment.Context.StringTable)); } return(false); } }
/// <nodoc/> public static QualifierSpaceEntry Create(StringId key, StringId[] values) { return(new QualifierSpaceEntry(key, values)); }
private bool TryConfigureProcessBuilder(ProcessBuilder processBuilder, NinjaNode node, QualifierId qualifierId) { SeparateExecutableFromCommands(node.Command, out string executable, out string args); if (!TryFindExecutablePath(executable, out AbsolutePath exePath)) { Tracing.Logger.Log.InvalidExecutablePath(m_context.LoggingContext, Location.FromFile(m_specPath.ToString(m_context.PathTable)), node.Command); return(false); } FileArtifact prExeArtifact = FileArtifact.CreateSourceFile(exePath); processBuilder.Executable = prExeArtifact; processBuilder.AddInputFile(prExeArtifact); using (var pipDataBuilderWrapper = m_context.GetPipDataBuilder()) { var pipDataBuilder = pipDataBuilderWrapper.Instance; pipDataBuilder.Add(args); processBuilder.ArgumentsBuilder.Add(pipDataBuilder.ToPipData(string.Empty, PipDataFragmentEscaping.NoEscaping)); } if (node.ResponseFile.HasValue) { using (var pipDataBuilderWrapper = m_context.GetPipDataBuilder()) { var pipDataBuilder = pipDataBuilderWrapper.Instance; pipDataBuilder.Add(node.ResponseFile?.Content); PipData responseFileData = pipDataBuilder.ToPipData(string.Empty, PipDataFragmentEscaping.NoEscaping); // We tell the process builder to write the response file but to not add any arguments to the process (requiresExplicitArgument = false) // because that information is already in node.Command var rspFileSpec = ResponseFileSpecification.Builder() .ExplicitData(responseFileData) .RequiresArgument(false) .ExplicitPath((AbsolutePath)node.ResponseFile?.Path) .Build(); processBuilder.SetResponseFileSpecification(rspFileSpec); } } // TODO: Maybe a better description. Add ninja description or change command for input/outputs processBuilder.ToolDescription = StringId.Create(m_context.StringTable, I($"{m_moduleDefinition.Descriptor.Name} - {node.Rule} - {executable} :: [{node.Command}]")); processBuilder.Options |= Process.Options.AllowUndeclaredSourceReads | Process.Options.OutputsMustRemainWritable | Process.Options.OutputsMustRemainWritable; processBuilder.EnableTempDirectory(); // Working directory - the directory containing the ninja spec file // Ninja generators may express paths relative to this processBuilder.WorkingDirectory = DirectoryArtifact.CreateWithZeroPartialSealId(m_specPath.GetParent(m_context.PathTable)); // Untrack directories UntrackFilesAndDirectories(processBuilder); // Allow some surviving child process AddRequiredSurvivingChildren(processBuilder); // Environment variables SetEnvironmentVariables(processBuilder, node); return(true); }
/// <summary> /// Creates a qualifier from a given input qualifier such that the resulting qualifier respects this qualifier space. /// </summary> internal bool TryCreateQualifierForQualifierSpace( StringTable stringTable, PathTable pathTable, LoggingContext loggingContext, Qualifier currentQualifier, out Qualifier qualifier, out UnsupportedQualifierValue error, bool useDefaults) { Contract.Requires(stringTable != null); Contract.Requires(pathTable != null); Contract.Requires(loggingContext != null); StringId[] keys; StringId[] values; currentQualifier.GetInternalKeyValueArrays(out keys, out values); var targetKeys = new StringId[m_keys.Length]; var targetValues = new StringId[m_keys.Length]; int qIndex = 0; int sIndex = 0; while (sIndex < m_keys.Length) { var sKey = m_keys[sIndex]; if (qIndex < keys.Length && keys[qIndex] == sKey) { var qValue = values[qIndex]; if (m_valueValues[sIndex].Contains(qValue)) { targetKeys[sIndex] = keys[qIndex]; targetValues[sIndex] = qValue; qIndex++; sIndex++; } else { error = new UnsupportedQualifierValue { QualifierKey = sKey.ToString(stringTable), InvalidValue = qValue.ToString(stringTable), LegalValues = string.Join(", ", m_valueValues[sIndex].Select(id => id.ToString(stringTable))), }; qualifier = Qualifier.Empty; return(false); } } else { // Check if we have any key from the currentQualifier left. If not, we'll 'trick' the compare below be a 'missing' // value we can treat it to insert the default value for the remaining space keys var compare = qIndex < keys.Length ? stringTable.OrdinalComparer.Compare(keys[qIndex], sKey) : 1; Contract.Assume(compare != 0, "expected above equals to handle that case"); if (compare < 0) { // Given that the lists are sorted and the qualifier key is less than the space key, it means that key is not in the target space. // so we can skip it. qIndex++; } else { if (useDefaults == false) { qualifier = Qualifier.Empty; // var lineInfo = location.Value.ToLogLocation(pathTable); // TODO: Consider adding a more specific exception for the no defaults case error = new UnsupportedQualifierValue { // Location = lineInfo, QualifierKey = sKey.ToString(stringTable), InvalidValue = string.Empty, LegalValues = string.Join(", ", m_valueValues[sIndex].Select(id => id.ToString(stringTable))), }; return(false); } // It is larger, so we need to add the default value of the space to the target if enabled. targetKeys[sIndex] = sKey; targetValues[sIndex] = m_defaults[sIndex]; sIndex++; } } } qualifier = new Qualifier(targetKeys, targetValues); error = default(UnsupportedQualifierValue); return(true); }
/// <summary> /// Class constructor /// </summary> public Process( FileArtifact executable, AbsolutePath workingDirectory, PipData arguments, FileArtifact responseFile, PipData responseFileData, ReadOnlyArray <EnvironmentVariable> environmentVariables, StandardInput standardInput, FileArtifact standardOutput, FileArtifact standardError, AbsolutePath standardDirectory, TimeSpan?warningTimeout, TimeSpan?timeout, ReadOnlyArray <FileArtifact> dependencies, ReadOnlyArray <FileArtifactWithAttributes> outputs, ReadOnlyArray <DirectoryArtifact> directoryDependencies, ReadOnlyArray <DirectoryArtifact> directoryOutputs, ReadOnlyArray <PipId> orderDependencies, ReadOnlyArray <AbsolutePath> untrackedPaths, ReadOnlyArray <AbsolutePath> untrackedScopes, ReadOnlyArray <StringId> tags, ReadOnlyArray <int> successExitCodes, ReadOnlyArray <ProcessSemaphoreInfo> semaphores, PipProvenance provenance, StringId toolDescription, ReadOnlyArray <AbsolutePath> additionalTempDirectories, RegexDescriptor warningRegex = default, RegexDescriptor errorRegex = default, AbsolutePath uniqueOutputDirectory = default, AbsolutePath uniqueRedirectedDirectoryRoot = default, AbsolutePath tempDirectory = default, Options options = default, bool testRetries = false, ServiceInfo serviceInfo = null, ReadOnlyArray <int>?retryExitCodes = null, ReadOnlyArray <PathAtom>?allowedSurvivingChildProcessNames = null, TimeSpan?nestedProcessTerminationTimeout = null, AbsentPathProbeInUndeclaredOpaquesMode absentPathProbeMode = AbsentPathProbeInUndeclaredOpaquesMode.Unsafe, DoubleWritePolicy doubleWritePolicy = DoubleWritePolicy.DoubleWritesAreErrors, ContainerIsolationLevel containerIsolationLevel = ContainerIsolationLevel.None, int?weight = null) { Contract.Requires(executable.IsValid); Contract.Requires(workingDirectory.IsValid); Contract.Requires(arguments.IsValid); Contract.RequiresForAll(environmentVariables, environmentVariable => environmentVariable.Name.IsValid); Contract.RequiresForAll(environmentVariables, environmentVariable => environmentVariable.Value.IsValid ^ environmentVariable.IsPassThrough); Contract.Requires(dependencies.IsValid); Contract.RequiresForAll(dependencies, dependency => dependency.IsValid); Contract.Requires(directoryDependencies.IsValid); Contract.RequiresForAll(directoryDependencies, directoryDependency => directoryDependency.IsValid); Contract.Requires(outputs.IsValid); Contract.RequiresForAll(outputs, output => output.IsValid); Contract.Requires(directoryOutputs.IsValid); Contract.RequiresForAll(outputs, output => !output.IsSourceFile); Contract.RequiresForAll(directoryOutputs, directoryOutput => directoryOutput.IsValid); Contract.Requires(orderDependencies.IsValid); Contract.RequiresForAll(orderDependencies, dependency => dependency != PipId.Invalid); Contract.Requires(untrackedPaths.IsValid); Contract.RequiresForAll(untrackedPaths, path => path.IsValid); Contract.Requires(untrackedScopes.IsValid); Contract.RequiresForAll(untrackedScopes, scope => scope.IsValid); Contract.Requires(!timeout.HasValue || timeout.Value <= MaxTimeout); Contract.Requires(standardDirectory.IsValid || (standardOutput.IsValid && standardError.IsValid)); Contract.Requires(provenance != null); Contract.Requires(additionalTempDirectories.IsValid); Contract.RequiresForAll(additionalTempDirectories, path => path.IsValid); Contract.Requires(tags.IsValid); // If the process needs to run in a container, the redirected directory has to be set Contract.Requires((options & Options.NeedsToRunInContainer) == Options.None || uniqueRedirectedDirectoryRoot.IsValid); #if DEBUG // a little too expensive for release builds Contract.Requires(Contract.Exists(dependencies, d => d == executable), "The executable must be declared as a dependency"); Contract.Requires( !standardInput.IsFile || Contract.Exists(dependencies, d => d == standardInput.File), "If provided, the standard-input artifact must be declared as a dependency"); Contract.Requires( !standardOutput.IsValid || Contract.Exists(outputs, o => o.ToFileArtifact() == standardOutput), "If provided, the standard-error artifact must be declared as an expected output"); Contract.Requires( !standardError.IsValid || Contract.Exists(outputs, o => o.ToFileArtifact() == standardError), "If provided, the standard-error artifact must be declared as an expected output"); Contract.Requires( !responseFile.IsValid ^ responseFileData.IsValid, "If provided, the response-file artifact must have a corresponding ResponseFileData"); Contract.Requires(outputs.Length == outputs.Distinct().Count()); Contract.Requires(directoryOutputs.Length == directoryOutputs.Distinct().Count()); Contract.Requires(dependencies.Length == dependencies.Distinct().Count()); Contract.Requires(directoryDependencies.Length == directoryDependencies.Distinct().Count()); Contract.Requires(untrackedPaths.Length == untrackedPaths.Distinct().Count()); Contract.Requires(untrackedScopes.Length == untrackedScopes.Distinct().Count()); Contract.Requires(additionalTempDirectories.Length == additionalTempDirectories.Distinct().Count()); Contract.RequiresForAll(semaphores, s => s.IsValid); Contract.Requires(semaphores.Length == semaphores.Distinct().Count()); #endif Provenance = provenance; Tags = tags; Executable = executable; ToolDescription = toolDescription; WorkingDirectory = workingDirectory; Arguments = arguments; ResponseFile = responseFile; ResponseFileData = responseFileData; StandardOutput = standardOutput; StandardError = standardError; StandardInput = standardInput; StandardDirectory = standardDirectory; WarningTimeout = warningTimeout; Timeout = timeout; // We allow any IEnumerable for these fields, but perform a copy up-front. // See the remarks of RemoveDuplicateFileArtifacts for why it is used on the input / output lists. Dependencies = dependencies; DirectoryDependencies = directoryDependencies; FileOutputs = outputs; DirectoryOutputs = directoryOutputs; OrderDependencies = orderDependencies; UntrackedPaths = untrackedPaths; UntrackedScopes = untrackedScopes; EnvironmentVariables = environmentVariables; SuccessExitCodes = successExitCodes; RetryExitCodes = retryExitCodes ?? ReadOnlyArray <int> .Empty; WarningRegex = warningRegex; ErrorRegex = errorRegex; UniqueOutputDirectory = uniqueOutputDirectory; UniqueRedirectedDirectoryRoot = uniqueRedirectedDirectoryRoot; Semaphores = semaphores; TempDirectory = tempDirectory; TestRetries = testRetries; ServiceInfo = serviceInfo; ProcessOptions = options; AdditionalTempDirectories = additionalTempDirectories; AllowedSurvivingChildProcessNames = allowedSurvivingChildProcessNames ?? ReadOnlyArray <PathAtom> .Empty; NestedProcessTerminationTimeout = nestedProcessTerminationTimeout; ProcessAbsentPathProbeInUndeclaredOpaquesMode = absentPathProbeMode; DoubleWritePolicy = doubleWritePolicy; ContainerIsolationLevel = containerIsolationLevel; Weight = weight.HasValue && weight.Value > 0 ? weight.Value : MinWeight; }
public NumericPromptEvent(StringId text, int min, int max) { Text = text; Min = min; Max = max; }
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.FilterToolTipNodeAction: return "İşlemler"; case StringId.PictureEditOpenFileFilter: return "Bitmap Dosyaları (*.bmp)|*.bmp|GIF Dosyaları (*.gif)|*.gif|JPEG Dosyaları (*.jpg;*.jpeg)|*.jpg;*.jpeg|İkon Dosyaları (*.ico)|*.ico|Tüm Resim Dosyaları |*.bmp;*.gif;*.jpg;*.jpeg;*.ico;*.png;*.tif|Tüm Dosyalar |*.*"; case StringId.FilterCriteriaToStringBinaryOperatorEqual: return "= (Eşittir)"; case StringId.FilterMenuConditionAdd: return "Koşul Ekle"; case StringId.FilterCriteriaToStringBinaryOperatorMinus: return "- (Eksi)"; case StringId.NavigatorNextButtonHint: return "İleri"; case StringId.FilterCriteriaToStringBinaryOperatorLike: return "Benzeyen"; case StringId.FilterCriteriaToStringBinaryOperatorLess: return "< (Küçüktür)"; case StringId.FilterCriteriaToStringBinaryOperatorPlus: return "+ (Artı)"; case StringId.FilterClauseGreater: return "Büyüktür"; case StringId.ImagePopupPicture: return "(Resim)"; case StringId.FilterClauseLessOrEqual: return "Küçük Eşittir"; case StringId.FilterClauseEndsWith: return "İle Biten"; case StringId.TransparentBackColorNotSupported: return "Bu kontrol transparan arka plan desteklememektedir"; case StringId.TabHeaderButtonNext: return "Sağa Kaydır"; case StringId.TabHeaderButtonPrev: return "Sola Kaydır"; case StringId.XtraMessageBoxOkButtonText: return "&Tamam"; case StringId.ContainerAccessibleEditName: return "Düzenleme Kontrolü"; case StringId.FilterToolTipNodeRemove: return "Bu koşulu kaldır"; case StringId.FilterCriteriaToStringUnaryOperatorIsNull: return "Boş Olan"; case StringId.PreviewPanelText: return "Önizleme"; case StringId.FilterClauseNoneOf: return "Hiçbiri Olmayan"; case StringId.FilterClauseIsNull: return "Boş Olan"; case StringId.Cancel: return "İptal"; case StringId.FilterCriteriaToStringFunctionLower: return "Küçük Harfe Çevir"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLastWeek: return "Geçen Haftası"; case StringId.FilterCriteriaToStringFunctionUpper: return "Büyük Harfe Çevir"; case StringId.FilterCriteriaToStringUnaryOperatorMinus: return "Eksi"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalToday: return "Bugünü"; case StringId.FilterClauseNotLike: return "Benzemeyen"; case StringId.FilterClauseEquals: return "Eşittir"; case StringId.DateEditToday: return "Bugün"; case StringId.DateEditClear: return "Temizle"; case StringId.PictureEditMenuCut: return "Kes"; case StringId.NavigatorEditButtonHint: return "Düzenle"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalNextWeek: return "Gelecek Haftası"; case StringId.FilterToolTipKeysRemove: return "(Kes yada Sil Anahtarı kullan)"; case StringId.FilterCriteriaToStringBinaryOperatorNotEqual: return "<> (Eşit Olmayan)"; case StringId.FilterGroupNotAnd: return "Değil ve"; case StringId.FilterGroupOr: return "veya"; case StringId.FilterMenuClearAll: return "Hepsini Sil"; case StringId.TextEditMenuCut: return "Ke&s"; case StringId.FilterCriteriaToStringGroupOperatorOr: return "veya"; case StringId.ImagePopupEmpty: return "(Boş)"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalEarlierThisWeek: return "Bu Haftanın Öncesi"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalEarlierThisYear: return "Bu yılın Öncesi"; case StringId.NavigatorNextPageButtonHint: return "Sonraki Sayfa"; case StringId.NavigatorTextStringFormat: return "Kayıt {0} / {1}"; case StringId.Apply: return "Uygula"; case StringId.FilterDateTimeOperatorMenuCaption: return "Tarih,Saat Operatörleri"; case StringId.CaptionError: return "Hata"; case StringId.XtraMessageBoxNoButtonText: return "&Hayır"; case StringId.PictureEditOpenFileTitle: return "Aç"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalEarlierThisMonth: return "Bu Ayın Öncesi"; case StringId.PictureEditOpenFileError: return "Yanlış resim formatı"; case StringId.FilterMenuRowRemove: return "Satır Kaldır"; case StringId.FilterCriteriaToStringBetween: return "Arasında"; case StringId.XtraMessageBoxIgnoreButtonText: return "Y&oksay"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalTomorrow: return "Yarını"; case StringId.NavigatorRemoveButtonHint: return "Sil"; case StringId.FilterGroupAnd: return "ve"; case StringId.FilterClauseLess: return "Küçüktür"; case StringId.FilterClauseLike: return "Benzeyen"; case StringId.TabHeaderButtonClose: return "Kapat"; case StringId.FilterCriteriaToStringBinaryOperatorMultiply: return "* (Çarpı)"; case StringId.FilterMenuGroupAdd: return "Grup Ekle"; case StringId.CheckUnchecked: return "Seçim Yok"; case StringId.FilterCriteriaToStringFunctionNone: return "Hiçbiri"; case StringId.FilterCriteriaToStringFunctionTrim: return "Boşlukları Al"; case StringId.PictureEditSaveFileFilter: return "Bitmap Dosyaları (*.bmp)|*.bmp|GIF Dosyaları (*.gif)|*.gif|JPEG Dosyaları (*.jpg)|*.jpg"; case StringId.TextEditMenuSelectAll: return "Tümü&nü Seç"; case StringId.PictureEditSaveFileTitle: return "Farklı Kaydet"; case StringId.FilterShowAll: return "(Hepsini Göster)"; case StringId.FilterClauseDoesNotContain: return "İçermeyen"; case StringId.FilterToolTipElementAdd: return "Listeye Yeni Bir Eleman Ekle"; case StringId.DataEmpty: return "Resim yok"; case StringId.XtraMessageBoxAbortButtonText: return "&İptal"; case StringId.CheckIndeterminate: return "Belirsiz"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalBeyondThisYear: return "Bu Yılın Ötesi"; case StringId.FilterClauseBetweenAnd: return "Ve"; case StringId.NavigatorLastButtonHint: return "Son"; case StringId.FilterCriteriaToStringFunctionSubstring: return "Parçala"; case StringId.TextEditMenuCopy: return "&Kopyala"; case StringId.TextEditMenuUndo: return "&Geri Al"; case StringId.CalcError: return "Hesaplama Hatası"; case StringId.FilterCriteriaToStringBinaryOperatorBitwiseXor: return "^"; case StringId.FilterCriteriaToStringBinaryOperatorBitwiseAnd: return "& (Ve)"; case StringId.FilterCriteriaToStringUnaryOperatorPlus: return "Artı"; case StringId.FilterCriteriaToStringFunctionLen: return "Uzunluk"; case StringId.FilterCriteriaToStringFunctionIif: return "Iif"; case StringId.CalcButtonBack: return "Geri"; case StringId.CalcButtonSqrt: return "sqrt"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalPriorThisYear: return "Öncelikle Bu Yılı"; case StringId.LookUpColumnDefaultName: return "İsim"; case StringId.NavigatorEndEditButtonHint: return "Düzenlemeyi Bitir"; case StringId.FilterClauseContains: return "İçeren"; case StringId.NotValidArrayLength: return "Yanlış dizi uzunluğu"; case StringId.ColorTabWeb: return "Internet"; case StringId.PictureEditMenuSave: return "Kaydet"; case StringId.PictureEditMenuCopy: return "Kopyala"; case StringId.PictureEditMenuLoad: return "Aç"; case StringId.NavigatorFirstButtonHint: return "İlk"; case StringId.FilterCriteriaToStringBinaryOperatorDivide: return "/ (Bölü)"; case StringId.MaskBoxValidateError: return "Girilen değer tamamlanmamış. Doğrulamak ister misiniz?\n\n\n Evet - Editöre dön ve değeri doğrula.\n Hayır - Değeri olduğu gibi bırak.\n Vazgeç - Önceki değere dön.\n"; case StringId.FilterClauseBetween: return "Arasında"; case StringId.FilterCriteriaToStringBinaryOperatorModulo: return "% (Yüzde)"; case StringId.FilterCriteriaToStringBinaryOperatorLessOrEqual: return "<= (Küçük Eşittir)"; case StringId.UnknownPictureFormat: return "Bilinmeyen resim formatı"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLaterThisYear: return "Bu Yılın Sonrası"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLaterThisWeek: return "Bu Haftanın Sonrası"; case StringId.NavigatorPreviousPageButtonHint: return "Önceki Sayfa"; case StringId.FilterClauseNotBetween: return "Arasında Olmayan"; case StringId.FilterEmptyEnter: return "Veri Giriniz"; case StringId.FilterEmptyValue: return "Boş"; case StringId.XtraMessageBoxRetryButtonText: return "Yeniden &Dene"; case StringId.FilterToolTipKeysAdd: return "(Araya yada sona anahtar ekle)"; case StringId.FilterClauseGreaterOrEqual: return "Büyük Eşittir"; case StringId.LookUpEditValueIsNull: return "[Değer Boş]"; case StringId.CalcButtonC: return "C"; case StringId.XtraMessageBoxCancelButtonText: return "&Vazgeç"; case StringId.FilterGroupNotOr: return "Değil veya"; case StringId.FilterCriteriaToStringUnaryOperatorBitwiseNot: return "~"; case StringId.LookUpInvalidEditValueType: return "Yanlış LookUpEdit EditValue tipi."; case StringId.NavigatorAppendButtonHint: return "Eklendi"; case StringId.CalcButtonMx: return "M+"; case StringId.CalcButtonMC: return "MC"; case StringId.CalcButtonMS: return "MS"; case StringId.CalcButtonMR: return "MR"; case StringId.CalcButtonCE: return "CE"; case StringId.NavigatorCancelEditButtonHint: return "Düzeltme İptal"; case StringId.FilterToolTipValueType: return "Bir değer ile veya başka bir alanın değeri ile karşılaştır"; case StringId.FilterCriteriaToStringFunctionIsNull: return "Boş Olan"; case StringId.FilterCriteriaToStringBinaryOperatorBitwiseOr: return "| (Veya)"; case StringId.FilterCriteriaToStringGroupOperatorAnd: return "ve"; case StringId.FilterClauseDoesNotEqual: return "Farklıdır"; case StringId.FilterCriteriaToStringBinaryOperatorGreater: return "> (Büyüktür)"; case StringId.PictureEditOpenFileErrorCaption: return "Açma hatası"; case StringId.OK: return "Tamam"; case StringId.FilterToolTipNodeAdd: return "Bu gruba yeni bir koşul ekle"; case StringId.PictureEditCopyImageError: return "Resim kopyalanamıyor"; case StringId.CheckChecked: return "Seçili"; case StringId.FilterCriteriaToStringUnaryOperatorNot: return "Değil"; case StringId.FilterCriteriaToStringNotLike: return "Benzemeyen"; case StringId.TextEditMenuPaste: return "&Yapıştır"; case StringId.TextEditMenuDelete: return "Si&l"; case StringId.FilterClauseBeginsWith: return "İle Başlayan"; case StringId.ColorTabSystem: return "Sistem"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalLaterThisMonth: return "Bu Ayın Sonrası"; case StringId.PictureEditMenuPaste: return "Yapıştır"; case StringId.FilterOutlookDateText: return "Tümünü Göster|Tarihe Göre Filtrele:|Bu Yılın Ötesi|Bu Yıldan Sonra|Bu Aydan Sonra|Gelecek Hafta|Bu Haftadan Sonra|Yarın|Bugün|Dün|Bu Haftadan Önce|Geçen Hafta|Bu Aydan Önce|Bu Yıldan Önce|Öncelikle Bu yıl"; case StringId.FilterCriteriaToStringFunctionIsOutlookIntervalYesterday: return "Dünü"; case StringId.FilterCriteriaToStringFunctionCustom: return "Özelleştir"; case StringId.FilterCriteriaToStringIn: return "İçinde"; case StringId.FilterClauseIsNotNull: return "Boş Olmayan"; case StringId.XtraMessageBoxYesButtonText: return "&Evet"; case StringId.InvalidValueText: return "Yanlış Değer"; case StringId.FilterClauseAnyOf: return "Herhangi Biri"; case StringId.FilterCriteriaToStringBinaryOperatorGreaterOrEqual: return ">= (Büyük Eşittir)"; case StringId.PictureEditMenuDelete: return "Sil"; case StringId.NavigatorPreviousButtonHint: return "Önceki"; case StringId.ColorTabCustom: return "Özel"; case StringId.FilterCriteriaToStringIsNotNull: return "Boş Olmayan"; } return id.ToString(); }
public DisplayableException(StringId titleFormat, StringId textFormat, params object[] textFormatArgs) : this(Res.Get(titleFormat), Res.Get(textFormat), textFormatArgs) { }
/// <summary> /// Initializes a new instance of the <see cref="ListItem"/> class with one /// localized string label. /// </summary> /// <param name="name">The name of the label to be set to <paramref name="value"/>.</param> /// <param name="value">Localized string value of the new item.</param> public ListItem(string name, StringId value) : this(name, new LocalizedStringBuilder(value)) { }
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.NavigatorFirstButtonHint: return "首个"; case StringId.NavigatorPreviousButtonHint: return "前一个"; case StringId.NavigatorPreviousPageButtonHint: return "前页"; case StringId.NavigatorNextButtonHint: return "下一个"; case StringId.NavigatorNextPageButtonHint: return "下页"; case StringId.NavigatorLastButtonHint: return "末个"; case StringId.NavigatorAppendButtonHint: return "添加"; case StringId.NavigatorRemoveButtonHint: return "删除"; case StringId.NavigatorEditButtonHint: return "编辑"; case StringId.NavigatorEndEditButtonHint: return "结束编辑"; case StringId.NavigatorCancelEditButtonHint: return "取消"; case StringId.NavigatorTextStringFormat: return "当前:{0},共:{1}"; case StringId.XtraMessageBoxOkButtonText: return "确定"; case StringId.XtraMessageBoxCancelButtonText: return "取消"; case StringId.XtraMessageBoxYesButtonText: return "是"; case StringId.XtraMessageBoxNoButtonText: return "否"; case StringId.XtraMessageBoxAbortButtonText: return "终止"; case StringId.XtraMessageBoxRetryButtonText: return "重试"; case StringId.XtraMessageBoxIgnoreButtonText: return "忽略"; case StringId.TextEditMenuUndo: return "撤消"; case StringId.TextEditMenuCut: return "剪切"; case StringId.TextEditMenuCopy: return "复制"; case StringId.TextEditMenuPaste: return "粘贴"; case StringId.TextEditMenuDelete: return "删除"; case StringId.TextEditMenuSelectAll: return "全选"; } return base.GetLocalizedString(id); }
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.TextEditMenuCopy: return "复制(&C)"; case StringId.TextEditMenuCut: return "剪切(&T)"; case StringId.TextEditMenuDelete: return "删除(&D)"; case StringId.TextEditMenuPaste: return "粘贴(&P)"; case StringId.TextEditMenuSelectAll: return "全选(&A)"; case StringId.TextEditMenuUndo: return "撤消(&U)"; case StringId.UnknownPictureFormat: return "未知图片格式"; case StringId.DateEditToday: return "今天"; case StringId.DateEditClear: return "清空"; case StringId.DataEmpty: return "无图像"; case StringId.ColorTabWeb: return "网页"; case StringId.ColorTabSystem: return "系统"; case StringId.ColorTabCustom: return "自定义"; case StringId.CheckUnchecked: return "未选择"; case StringId.CheckIndeterminate: return "不确定"; case StringId.CheckChecked: return "已选择"; case StringId.CaptionError: return "标题错误"; case StringId.Cancel: return "取消"; case StringId.CalcError: return "计算错误"; case StringId.CalcButtonBack: return base.GetLocalizedString(id); case StringId.CalcButtonC: return base.GetLocalizedString(id); case StringId.CalcButtonCE: return base.GetLocalizedString(id); ; case StringId.CalcButtonMC: return base.GetLocalizedString(id); case StringId.CalcButtonMR: return base.GetLocalizedString(id); case StringId.CalcButtonMS: return base.GetLocalizedString(id); case StringId.CalcButtonMx: return base.GetLocalizedString(id); case StringId.CalcButtonSqrt: return base.GetLocalizedString(id); case StringId.OK: return "确定"; case StringId.PictureEditMenuCopy: return "复制(&C)"; case StringId.PictureEditMenuCut: return "剪切(&T)"; case StringId.PictureEditMenuDelete: return "删除(&D)"; case StringId.PictureEditMenuLoad: return "加载(&L)"; case StringId.PictureEditMenuPaste: return "粘贴(&P)"; case StringId.PictureEditMenuSave: return "保存(&S)"; case StringId.PictureEditOpenFileError: return "错误图片格式"; case StringId.PictureEditOpenFileErrorCaption: return "打开错误"; case StringId.PictureEditOpenFileFilter: return "位图文件(*.bmp)|*.bmp|GIF动画 (*.gif)|*.gif|JPEG(*.jpg;*.jpeg)|*.jpg;*.jpeg|ICO(*.ico)|*.ico|所有图片文件|*.bmp;*.gif;*.jpeg;*.jpg;*.ico|所有文件(*.*)|*.*"; case StringId.PictureEditOpenFileTitle: return "打开"; case StringId.PictureEditSaveFileFilter: return "位图文件(*.bmp)|*.bmp|GIF动画(*.gif)|*.gif|JPEG(*.jpg)|*.jpg"; case StringId.PictureEditSaveFileTitle: return "保存为"; case StringId.TabHeaderButtonClose: return "关闭"; case StringId.TabHeaderButtonNext: return "下一页"; case StringId.TabHeaderButtonPrev: return "上一页"; case StringId.XtraMessageBoxAbortButtonText: return "中断(&A)"; case StringId.XtraMessageBoxCancelButtonText: return "取消(&C)"; case StringId.XtraMessageBoxIgnoreButtonText: return "忽略(&I)"; case StringId.XtraMessageBoxNoButtonText: return "否(&N)"; case StringId.XtraMessageBoxOkButtonText: return "确定(&O)"; case StringId.XtraMessageBoxRetryButtonText: return "重试(&R)"; case StringId.XtraMessageBoxYesButtonText: return "是(&Y)"; case StringId.ImagePopupEmpty: return "(空)"; case StringId.ImagePopupPicture: return "(图片)"; case StringId.InvalidValueText: return "无效的值"; case StringId.LookUpEditValueIsNull: return "[无数据]"; case StringId.LookUpInvalidEditValueType: return "无效的数据类型"; case StringId.MaskBoxValidateError: return "输入数值不完整. 是否须要修改? 是 - 回到编辑模式以修改数值. 否 - 保持原来数值. 取消 - 回复原来数值. "; case StringId.NavigatorAppendButtonHint: return "添加"; case StringId.NavigatorCancelEditButtonHint: return "取消编辑"; case StringId.NavigatorEditButtonHint: return "编辑"; case StringId.NavigatorEndEditButtonHint: return "结束编辑"; case StringId.NavigatorFirstButtonHint: return "第一条"; case StringId.NavigatorLastButtonHint: return "最后一条"; case StringId.NavigatorNextButtonHint: return "下一条"; case StringId.NavigatorNextPageButtonHint: return "下一页"; case StringId.NavigatorPreviousButtonHint: return "上一条"; case StringId.NavigatorPreviousPageButtonHint: return "上一页"; case StringId.NavigatorRemoveButtonHint: return "删除"; case StringId.NavigatorTextStringFormat: return "记录{0}/{1}"; case StringId.None: return ""; case StringId.NotValidArrayLength: return "无效的数组长度."; } return base.GetLocalizedString(id); }
protected virtual Control CreateHeaderFromString(StringId? value) { return null; }
public BoldHeader(StringId id) => _id = id;
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.TextEditMenuCopy: return "����(&C)"; case StringId.TextEditMenuCut: return "����(&T)"; case StringId.TextEditMenuDelete: return "ɾ��(&D)"; case StringId.TextEditMenuPaste: return "ճ��(&P)"; case StringId.TextEditMenuSelectAll: return "ȫѡ(&A)"; case StringId.TextEditMenuUndo: return "����(&U)"; case StringId.UnknownPictureFormat: return "δ֪ͼƬ��ʽ"; case StringId.DateEditToday: return "����"; case StringId.DateEditClear: return "���"; case StringId.DataEmpty: return "��ͼ��"; case StringId.ColorTabWeb: return "��ҳ"; case StringId.ColorTabSystem: return "ϵͳ"; case StringId.ColorTabCustom: return "�Զ���"; case StringId.CheckUnchecked: return "δѡ��"; case StringId.CheckIndeterminate: return "��ȷ��"; case StringId.CheckChecked: return "��ѡ��"; case StringId.CaptionError: return "�������"; case StringId.Cancel: return "ȡ��"; case StringId.CalcError: return "�������"; case StringId.CalcButtonBack: return base.GetLocalizedString(id); case StringId.CalcButtonC: return base.GetLocalizedString(id); case StringId.CalcButtonCE: return base.GetLocalizedString(id); ; case StringId.CalcButtonMC: return base.GetLocalizedString(id); case StringId.CalcButtonMR: return base.GetLocalizedString(id); case StringId.CalcButtonMS: return base.GetLocalizedString(id); case StringId.CalcButtonMx: return base.GetLocalizedString(id); case StringId.CalcButtonSqrt: return base.GetLocalizedString(id); case StringId.OK: return "ȷ��"; case StringId.PictureEditMenuCopy: return "����(&C)"; case StringId.PictureEditMenuCut: return "����(&T)"; case StringId.PictureEditMenuDelete: return "ɾ��(&D)"; case StringId.PictureEditMenuLoad: return "����(&L)"; case StringId.PictureEditMenuPaste: return "ճ��(&P)"; case StringId.PictureEditMenuSave: return "����(&S)"; case StringId.PictureEditOpenFileError: return "����ͼƬ��ʽ"; case StringId.PictureEditOpenFileErrorCaption: return "����"; case StringId.PictureEditOpenFileFilter: return "λͼ�ļ�(*.bmp)|*.bmp|GIF���� (*.gif)|*.gif|JPEG(*.jpg;*.jpeg)|*.jpg;*.jpeg|ICO(*.ico)|*.ico|����ͼƬ�ļ�|*.bmp;*.gif;*.jpeg;*.jpg;*.ico|�����ļ�(*.*)|*.*"; case StringId.PictureEditOpenFileTitle: return "��"; case StringId.PictureEditSaveFileFilter: return "λͼ�ļ�(*.bmp)|*.bmp|GIF����(*.gif)|*.gif|JPEG(*.jpg)|*.jpg"; case StringId.PictureEditSaveFileTitle: return "����Ϊ"; case StringId.TabHeaderButtonClose: return "�ر�"; case StringId.TabHeaderButtonNext: return "��һҳ"; case StringId.TabHeaderButtonPrev: return "��һҳ"; case StringId.XtraMessageBoxAbortButtonText: return "�ж�(&A)"; case StringId.XtraMessageBoxCancelButtonText: return "ȡ��(&C)"; case StringId.XtraMessageBoxIgnoreButtonText: return "����(&I)"; case StringId.XtraMessageBoxNoButtonText: return "��(&N)"; case StringId.XtraMessageBoxOkButtonText: return "ȷ��(&O)"; case StringId.XtraMessageBoxRetryButtonText: return "����(&R)"; case StringId.XtraMessageBoxYesButtonText: return "��(&Y)"; case StringId.ImagePopupEmpty: return "(��)"; case StringId.ImagePopupPicture: return "(ͼƬ)"; case StringId.InvalidValueText: return "��Ч��ֵ"; case StringId.LookUpEditValueIsNull: return "[������]"; case StringId.LookUpInvalidEditValueType: return "��Ч����������"; case StringId.MaskBoxValidateError: return "������ֵ������. �Ƿ���Ҫ��? �� - �ص��༭ģʽ������ֵ. �� - ����ԭ����ֵ. ȡ�� - �ظ�ԭ����ֵ. "; case StringId.NavigatorAppendButtonHint: return "���"; case StringId.NavigatorCancelEditButtonHint: return "ȡ���༭"; case StringId.NavigatorEditButtonHint: return "�༭"; case StringId.NavigatorEndEditButtonHint: return "�����༭"; case StringId.NavigatorFirstButtonHint: return "��һ��"; case StringId.NavigatorLastButtonHint: return "���һ��"; case StringId.NavigatorNextButtonHint: return "��һ��"; case StringId.NavigatorNextPageButtonHint: return "��һҳ"; case StringId.NavigatorPreviousButtonHint: return "��һ��"; case StringId.NavigatorPreviousPageButtonHint: return "��һҳ"; case StringId.NavigatorRemoveButtonHint: return "ɾ��"; case StringId.NavigatorTextStringFormat: return "��¼{0}/{1}"; case StringId.None: return ""; case StringId.NotValidArrayLength: return "��Ч�����鳤��."; } return base.GetLocalizedString(id); }
public abstract EvaluationResult this[StringId name] { get; }
public BlogClientProviderException(StringId titleFormat, StringId textFormat, string providerErrorCode, string providerErrorString) : base(titleFormat, textFormat, providerErrorCode, providerErrorString) { ErrorCode = providerErrorCode; ErrorString = providerErrorString; }
public void QualifierDoesNotAffectLogDirectory() { var project1 = CreateProjectWithPredictions("Test.proj", globalProperties: new GlobalProperties(new Dictionary <string, string> { ["TargetFramework"] = "net472" })); var project2 = CreateProjectWithPredictions("Test.proj"); var targetFrameworkQualifier = FrontEndContext.QualifierTable.CreateQualifier( new Tuple <StringId, StringId>(StringId.Create(StringTable, "TargetFramework"), StringId.Create(StringTable, "net472"))); // If the qualifier was affecting the log directory, the path to the log file for both projects would be the same, and therefore // they should fail at scheduling. Start(currentQualifier: targetFrameworkQualifier) .Add(project1) .Add(project2) .ScheduleAll() .AssertSuccess(); }
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.None: return ""; case StringId.CaptionError: return Loc.Get("<LOC>Error"); case StringId.InvalidValueText: return Loc.Get("<LOC>Invalid Value"); case StringId.CheckChecked: return Loc.Get("<LOC>Checked"); case StringId.CheckUnchecked: return Loc.Get("<LOC>Unchecked"); case StringId.CheckIndeterminate: return Loc.Get("<LOC>Indeterminate"); case StringId.DateEditToday: return Loc.Get("<LOC>Today"); case StringId.DateEditClear: return Loc.Get("<LOC>Clear"); case StringId.OK: return Loc.Get("<LOC>OK"); case StringId.Cancel: return Loc.Get("<LOC>Cancel"); case StringId.NavigatorFirstButtonHint: return Loc.Get("<LOC>First"); case StringId.NavigatorPreviousButtonHint: return Loc.Get("<LOC>Previous"); case StringId.NavigatorPreviousPageButtonHint: return Loc.Get("<LOC>Previous Page"); case StringId.NavigatorNextButtonHint: return Loc.Get("<LOC>Next"); case StringId.NavigatorNextPageButtonHint: return Loc.Get("<LOC>Next Page"); case StringId.NavigatorLastButtonHint: return Loc.Get("<LOC>Last"); case StringId.NavigatorAppendButtonHint: return Loc.Get("<LOC>Append"); case StringId.NavigatorRemoveButtonHint: return Loc.Get("<LOC>Delete"); case StringId.NavigatorEditButtonHint: return Loc.Get("<LOC>Edit"); case StringId.NavigatorEndEditButtonHint: return Loc.Get("<LOC>End Edit"); case StringId.NavigatorCancelEditButtonHint: return Loc.Get("<LOC>Cancel Edit"); case StringId.NavigatorTextStringFormat: return Loc.Get("<LOC>Record {0} of {1}"); case StringId.PictureEditMenuCut: return Loc.Get("<LOC>Cut"); case StringId.PictureEditMenuCopy: return Loc.Get("<LOC>Copy"); case StringId.PictureEditMenuPaste: return Loc.Get("<LOC>Paste"); case StringId.PictureEditMenuDelete: return Loc.Get("<LOC>Delete"); case StringId.PictureEditMenuLoad: return Loc.Get("<LOC>Load"); case StringId.PictureEditMenuSave: return Loc.Get("<LOC>Save"); case StringId.PictureEditOpenFileFilter: return Loc.Get("<LOC>Bitmap Files (*.bmp)|*.bmp|Graphics Interchange Format (*.gif)|*.gif|JPEG File Interchange Format (*.jpg;*.jpeg)|*.jpg;*.jpeg|Icon Files (*.ico)|*.ico|All Picture Files |*.bmp;*.gif;*.jpg;*.jpeg;*.ico;*.png;*.tif|All Files |*.*"); case StringId.PictureEditSaveFileFilter: return Loc.Get("<LOC>Bitmap Files (*.bmp)|*.bmp|Graphics Interchange Format (*.gif)|*.gif|JPEG File Interchange Format (*.jpg)|*.jpg"); case StringId.PictureEditOpenFileTitle: return Loc.Get("<LOC>Open"); case StringId.PictureEditSaveFileTitle: return Loc.Get("<LOC>Save As"); case StringId.PictureEditOpenFileError: return Loc.Get("<LOC>Wrong picture format"); case StringId.PictureEditOpenFileErrorCaption: return Loc.Get("<LOC>Open error"); case StringId.LookUpEditValueIsNull: return Loc.Get("<LOC>[EditValue is null]"); case StringId.LookUpInvalidEditValueType: return Loc.Get("<LOC>Invalid LookUpEdit EditValue type."); case StringId.LookUpColumnDefaultName: return Loc.Get("<LOC>Name"); case StringId.MaskBoxValidateError: return Loc.Get("<LOC>The entered value is incomplete. Do you want to correct it?\r\n\r\nYes - return to the editor and correct the value.\r\nNo - leave the value as is.\r\nCancel - reset to the previous value.\r\n"); case StringId.UnknownPictureFormat: return Loc.Get("<LOC>Unknown picture format"); case StringId.DataEmpty: return Loc.Get("<LOC>No image data"); case StringId.NotValidArrayLength: return Loc.Get("<LOC>Not valid array length."); case StringId.ImagePopupEmpty: return Loc.Get("<LOC>(Empty)"); case StringId.ImagePopupPicture: return Loc.Get("<LOC>(Picture)"); case StringId.ColorTabCustom: return Loc.Get("<LOC>Custom"); case StringId.ColorTabWeb: return Loc.Get("<LOC>Web"); case StringId.ColorTabSystem: return Loc.Get("<LOC>System"); case StringId.CalcButtonMC: return Loc.Get("<LOC>MC"); case StringId.CalcButtonMR: return Loc.Get("<LOC>MR"); case StringId.CalcButtonMS: return Loc.Get("<LOC>MS"); case StringId.CalcButtonMx: return Loc.Get("<LOC>M+"); case StringId.CalcButtonSqrt: return Loc.Get("<LOC>sqrt"); case StringId.CalcButtonBack: return Loc.Get("<LOC>Back"); case StringId.CalcButtonCE: return Loc.Get("<LOC>CE"); case StringId.CalcButtonC: return Loc.Get("<LOC>C"); case StringId.CalcError: return Loc.Get("<LOC>Calculation Error"); case StringId.TabHeaderButtonPrev: return Loc.Get("<LOC>Scroll Left"); case StringId.TabHeaderButtonNext: return Loc.Get("<LOC>Scroll Right"); case StringId.TabHeaderButtonClose: return Loc.Get("<LOC>Close"); case StringId.XtraMessageBoxOkButtonText: return Loc.Get("<LOC>OK"); case StringId.XtraMessageBoxCancelButtonText: return Loc.Get("<LOC>Cancel"); case StringId.XtraMessageBoxYesButtonText: return Loc.Get("<LOC>Yes"); case StringId.XtraMessageBoxNoButtonText: return Loc.Get("<LOC>No"); case StringId.XtraMessageBoxAbortButtonText: return Loc.Get("<LOC>Abort"); case StringId.XtraMessageBoxRetryButtonText: return Loc.Get("<LOC>Retry"); case StringId.XtraMessageBoxIgnoreButtonText: return Loc.Get("<LOC>Ignore"); case StringId.TextEditMenuUndo: return Loc.Get("<LOC>Undo"); case StringId.TextEditMenuCut: return Loc.Get("<LOC>Cut"); case StringId.TextEditMenuCopy: return Loc.Get("<LOC>Copy"); case StringId.TextEditMenuPaste: return Loc.Get("<LOC>Paste"); case StringId.TextEditMenuDelete: return Loc.Get("<LOC>Delete"); case StringId.TextEditMenuSelectAll: return Loc.Get("<LOC>Select All"); case StringId.FilterGroupAnd: return Loc.Get("<LOC>And"); case StringId.FilterGroupNotAnd: return Loc.Get("<LOC>Not And"); case StringId.FilterGroupNotOr: return Loc.Get("<LOC>Not Or"); case StringId.FilterGroupOr: return Loc.Get("<LOC>Or"); case StringId.FilterClauseAnyOf: return Loc.Get("<LOC>Is any of"); case StringId.FilterClauseBeginsWith: return Loc.Get("<LOC>Begins with"); case StringId.FilterClauseBetween: return Loc.Get("<LOC>Is between"); case StringId.FilterClauseBetweenAnd: return Loc.Get("<LOC>and"); case StringId.FilterClauseContains: return Loc.Get("<LOC>Contains"); case StringId.FilterClauseEndsWith: return Loc.Get("<LOC>Ends with"); case StringId.FilterClauseEquals: return Loc.Get("<LOC>Equals"); case StringId.FilterClauseGreater: return Loc.Get("<LOC>Is greater than"); case StringId.FilterClauseGreaterOrEqual: return Loc.Get("<LOC>Is greater than or equal to"); case StringId.FilterClauseIsNotNull: return Loc.Get("<LOC>Is not blank"); case StringId.FilterClauseIsNull: return Loc.Get("<LOC>Is blank"); case StringId.FilterClauseLess: return Loc.Get("<LOC>Is less than"); case StringId.FilterClauseLessOrEqual: return Loc.Get("<LOC>Is less than or equal to"); case StringId.FilterClauseLike: return Loc.Get("<LOC>Is like"); case StringId.FilterClauseNoneOf: return Loc.Get("<LOC>Is none of"); case StringId.FilterClauseNotBetween: return Loc.Get("<LOC>Is not between"); case StringId.FilterClauseDoesNotContain: return Loc.Get("<LOC>Does not contain"); case StringId.FilterClauseDoesNotEqual: return Loc.Get("<LOC>Does not equal"); case StringId.FilterClauseNotLike: return Loc.Get("<LOC>Is not like"); case StringId.FilterEmptyEnter: return Loc.Get("<LOC><enter a value>"); case StringId.FilterEmptyValue: return Loc.Get("<LOC><empty>"); case StringId.FilterMenuConditionAdd: return Loc.Get("<LOC>Add Condition"); case StringId.FilterMenuGroupAdd: return Loc.Get("<LOC>Add Group"); case StringId.FilterMenuClearAll: return Loc.Get("<LOC>Clear All"); case StringId.FilterMenuRowRemove: return Loc.Get("<LOC>Remove Group"); case StringId.FilterToolTipNodeAdd: return Loc.Get("<LOC>Adds a new condition to this group."); case StringId.FilterToolTipNodeRemove: return Loc.Get("<LOC>Removes this condition."); case StringId.FilterToolTipNodeAction: return Loc.Get("<LOC>Actions."); case StringId.FilterToolTipValueType: return Loc.Get("<LOC>Compare to a value / another field's value."); case StringId.FilterToolTipElementAdd: return Loc.Get("<LOC>Adds a new item to the list."); case StringId.FilterToolTipKeysAdd: return Loc.Get("<LOC>(Use the Insert or Add key)"); case StringId.FilterToolTipKeysRemove: return Loc.Get("<LOC>(Use the Delete or Subtract key)"); } return ("Localize me: " + base.GetLocalizedString(id)); }
public override string GetLocalizedString(StringId id) { string result; switch (id) { case StringId.None: result = ""; return(result); case StringId.CaptionError: result = "错误"; return(result); case StringId.InvalidValueText: result = "无效的值"; return(result); case StringId.CheckChecked: result = "选中"; return(result); case StringId.CheckUnchecked: result = "未选中"; return(result); case StringId.CheckIndeterminate: result = "未选择"; return(result); case StringId.DateEditToday: result = "今天"; return(result); case StringId.DateEditClear: result = "清除"; return(result); case StringId.OK: result = "确定(&O)"; return(result); case StringId.Cancel: result = "取消(&C)"; return(result); case StringId.NavigatorFirstButtonHint: result = "第一条"; return(result); case StringId.NavigatorPreviousButtonHint: result = "上一条"; return(result); case StringId.NavigatorPreviousPageButtonHint: result = "上一页"; return(result); case StringId.NavigatorNextButtonHint: result = "下一条"; return(result); case StringId.NavigatorNextPageButtonHint: result = "下一页"; return(result); case StringId.NavigatorLastButtonHint: result = "最后一条"; return(result); case StringId.NavigatorAppendButtonHint: result = "添加"; return(result); case StringId.NavigatorRemoveButtonHint: result = "删除"; return(result); case StringId.NavigatorEditButtonHint: result = "编辑"; return(result); case StringId.NavigatorEndEditButtonHint: result = "结束编辑"; return(result); case StringId.NavigatorCancelEditButtonHint: result = "取消编辑"; return(result); case StringId.NavigatorTextStringFormat: result = "记录{0}/{1}"; return(result); case StringId.PictureEditMenuCut: result = "剪贴"; return(result); case StringId.PictureEditMenuCopy: result = "复制"; return(result); case StringId.PictureEditMenuPaste: result = "粘贴"; return(result); case StringId.PictureEditMenuDelete: result = "删除"; return(result); case StringId.PictureEditMenuLoad: result = "读取"; return(result); case StringId.PictureEditMenuSave: result = "保存"; return(result); case StringId.PictureEditOpenFileFilter: result = "BitmapFiles(*.bmp)|*.bmp|GraphicsInterchangeFormat(*.gif)|*.gif|JPEGFileInterchangeFormat(*.jpg;*.jpeg)|*.jpg;*.jpeg|IconFiles(*.ico)|*.ico|AllPictureFiles|*.bmp;*.gif;*.jpg;*.jpeg;*.ico;*.png;*.tif|AllFiles|*.*"; return(result); case StringId.PictureEditSaveFileFilter: result = "BitmapFiles(*.bmp)|*.bmp|GraphicsInterchangeFormat(*.gif)|*.gif|JPEGFileInterchangeFormat(*.jpg)|*.jpg"; return(result); case StringId.PictureEditOpenFileTitle: result = "打开"; return(result); case StringId.PictureEditSaveFileTitle: result = "另存为"; return(result); case StringId.PictureEditOpenFileError: result = "错误的图片格式"; return(result); case StringId.PictureEditOpenFileErrorCaption: result = "打开错误"; return(result); case StringId.LookUpEditValueIsNull: result = "[无数据]"; return(result); case StringId.LookUpInvalidEditValueType: result = "无效的数据类型"; return(result); case StringId.LookUpColumnDefaultName: result = "名称"; return(result); case StringId.MaskBoxValidateError: result = "输入数值不完整.是否须要修改?\r\n\r\n是-回到编辑模式以修改数值.\r\n否-保持原来数值.\r\n取消-回复原来数值.\r\n"; return(result); case StringId.UnknownPictureFormat: result = "不明图片格式"; return(result); case StringId.DataEmpty: result = "无图像"; return(result); case StringId.NotValidArrayLength: result = "无效的数组长度."; return(result); case StringId.ImagePopupEmpty: result = "(空)"; return(result); case StringId.ImagePopupPicture: result = "(图片)"; return(result); case StringId.ColorTabCustom: result = "自定"; return(result); case StringId.ColorTabWeb: result = "网络"; return(result); case StringId.ColorTabSystem: result = "系统"; return(result); case StringId.CalcButtonMC: result = "MC"; return(result); case StringId.CalcButtonMR: result = "MR"; return(result); case StringId.CalcButtonMS: result = "MS"; return(result); case StringId.CalcButtonMx: result = "M "; return(result); case StringId.CalcButtonSqrt: result = "sqrt"; return(result); case StringId.CalcButtonBack: result = "Back"; return(result); case StringId.CalcButtonCE: result = "CE"; return(result); case StringId.CalcButtonC: result = "C"; return(result); case StringId.CalcError: result = "计算错误"; return(result); case StringId.TabHeaderButtonPrev: result = "向左滚动"; return(result); case StringId.TabHeaderButtonNext: result = "向右滚动"; return(result); case StringId.TabHeaderButtonClose: result = "关闭"; return(result); case StringId.XtraMessageBoxOkButtonText: result = "确定(&O)"; return(result); case StringId.XtraMessageBoxCancelButtonText: result = "取消(&C)"; return(result); case StringId.XtraMessageBoxYesButtonText: result = "是(&Y)"; return(result); case StringId.XtraMessageBoxNoButtonText: result = "否(&N)"; return(result); case StringId.XtraMessageBoxAbortButtonText: result = "中断(&A)"; return(result); case StringId.XtraMessageBoxRetryButtonText: result = "重试(&R)"; return(result); case StringId.XtraMessageBoxIgnoreButtonText: result = "忽略(&I)"; return(result); case StringId.TextEditMenuUndo: result = "撤消(&U)"; return(result); case StringId.TextEditMenuCut: result = "剪贴(&T)"; return(result); case StringId.TextEditMenuCopy: result = "复制(&C)"; return(result); case StringId.TextEditMenuPaste: result = "粘贴(&P)"; return(result); case StringId.TextEditMenuDelete: result = "删除(&D)"; return(result); case StringId.TextEditMenuSelectAll: result = "全选(&A)"; return(result); } result = base.GetLocalizedString(id); return(result); }
/// <summary> /// Constructs a new module pip /// </summary> public ModulePip(ModuleId module, StringId identity, StringId version, LocationData location, StringId resolverKind, StringId resolverName) { Contract.Requires(module.IsValid); Contract.Requires(identity.IsValid); Contract.Requires(resolverKind.IsValid); Contract.Requires(resolverName.IsValid); Module = module; Identity = identity; Version = version; Location = location; ResolverKind = resolverKind; ResolverName = resolverName; }
/// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // TODO: wrap unsafe /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /* #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgColorMatrix")] #elif IOS [DllImport ("__Internal",EntryPoint="vgColorMatrix")] #endif unsafe extern static void ColorMatrix(uint dst, uint src, float *matrix); #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgConvolve")] #elif IOS [DllImport ("__Internal",EntryPoint="vgConvolve")] #endif unsafe extern static void Convolve(uint dst, uint src, int kernelWidth, int kernelHeight, int shiftX, int shiftY, short *kernel, float scale, float bias, TilingMode tilingMode); #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgSeparableConvolve")] #elif IOS [DllImport ("__Internal",EntryPoint="vgSeparableConvolve")] #endif unsafe extern static void SeparableConvolve(uint dst, uint src, int kernelWidth, int kernelHeight, int shiftX, int shiftY, short *kernelX, short *kernelY, float scale, float bias, TilingMode tilingMode); #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgGaussianBlur")] #elif IOS [DllImport ("__Internal",EntryPoint="vgGaussianBlur")] #endif public extern static void GaussianBlur(uint dst, uint src, float stdDeviationX, float stdDeviationY, TilingMode tilingMode); #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgLookup")] #elif IOS [DllImport ("__Internal",EntryPoint="vgLookup")] #endif unsafe extern static void Lookup(uint dst, uint src, byte *redLUT, byte *greenLUT, byte *blueLUT, byte *alphaLUT, Boolean outputLinear, Boolean outputPremultiplied); #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgLookupSingle")] #elif IOS [DllImport ("__Internal",EntryPoint="vgLookupSingle")] #endif unsafe extern static void LookupSingle(uint dst, uint src, uint* lookupTable, ImageChannel sourceChannel, Boolean outputLinear, Boolean outputPremultiplied); */ /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // TODO: wrap unsafe /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /* #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgHardwareQuery")] #elif IOS [DllImport ("__Internal",EntryPoint="vgHardwareQuery")] #endif public extern static HardwareQueryResult HardwareQuery(HardwareQueryType key, int setting); #if ANDROID [DllImport("libOpenVG-shared.so", EntryPoint="vgGetString")] #elif IOS [DllImport ("__Internal",EntryPoint="vgGetString")] #endif unsafe extern static byte* vgGetString(StringId name); */ /// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public static string GetString(StringId name) { switch (name) { case StringId.VENDOR: return "MonkVG#"; case StringId.VERSION: return "1.1"; case StringId.RENDERER: return "OpenGL ES"; case StringId.EXTENSIONS: return "None"; } return "Unknown"; }
public static string ToString(this StringId stringId, PathTable pathTable) { return(stringId.IsValid ? stringId.ToString(pathTable.StringTable) : ""); }
/// <summary> /// Creates a new instance of <see cref="LocalizedStringBuilder"/>, which is based on /// the specified <see cref="StringId"/> value. /// </summary> public LocalizedStringBuilder(StringId value) { _localizedString = value; }
/// <nodoc /> public StringIdLiteral(StringId value, LineInfo location) : base(location) { Contract.Requires(value != null); m_value = value; }
public ColorPickerColor(Color color, StringId id) { Color = color; StringId = id; }
/// <nodoc /> public StringIdLiteral(BuildXLReader reader, LineInfo location) : base(location) { m_value = reader.ReadStringId(); }
private async Task ProcessWindowsCallHelper( string functionName, SandboxConfiguration config = null, IEnumerable <string> extraDependencies = null, IEnumerable <string> extraOutputs = null, int callCount = 1, string commandPrefix = "", bool readsAndWritesDirectories = false, bool untrackedOutputs = false, string[] expectedWarningStrings = null, string[] expectedErrorStrings = null) { if (config == null) { config = new SandboxConfiguration { FileAccessIgnoreCodeCoverage = true, FailUnexpectedFileAccesses = true }; } var context = BuildXLContext.CreateInstanceForTesting(); var pathTable = context.PathTable; var fileContentTable = FileContentTable.CreateNew(); // have to force the config for truncation config.OutputReportingMode = OutputReportingMode.FullOutputOnWarningOrError; bool expectSuccess = expectedErrorStrings == null && expectedWarningStrings == null; using (var tempFiles = new TempFileStorage(canGetFileNames: true, rootPath: TemporaryDirectory)) { string currentCodeFolder = Path.GetDirectoryName(AssemblyHelper.GetAssemblyLocation(Assembly.GetExecutingAssembly())); Contract.Assume(currentCodeFolder != null); string executable = Path.Combine(currentCodeFolder, DetourTestFolder, "DetoursTests.exe"); string workingDirectory = tempFiles.GetUniqueDirectory(); AbsolutePath workingDirectoryAbsolutePath = AbsolutePath.Create(pathTable, workingDirectory); XAssert.IsTrue(File.Exists(executable), "Could not find the test file: " + executable); FileArtifact executableFileArtifact = FileArtifact.CreateSourceFile(AbsolutePath.Create(pathTable, executable)); var extraUntrackedScopes = new List <AbsolutePath>(); var dependencies = new List <FileArtifact> { executableFileArtifact }; if (extraDependencies != null) { foreach (string file in extraDependencies) { string filePath = Path.Combine(workingDirectory, file); AbsolutePath path = AbsolutePath.Create(pathTable, filePath); if (readsAndWritesDirectories) { Directory.CreateDirectory(filePath); // We don't support directories as inputs in BuildXL yet. extraUntrackedScopes.Add(path); } else { File.WriteAllText(filePath, "Definitely a file"); FileArtifact fileArtifact = FileArtifact.CreateSourceFile(path); dependencies.Add(fileArtifact); } } } var outputs = new List <FileArtifactWithAttributes>(); if (extraOutputs != null) { foreach (string file in extraOutputs) { string filePath = Path.Combine(workingDirectory, file); AbsolutePath path = AbsolutePath.Create(pathTable, filePath); if (readsAndWritesDirectories) { // We don't support directory outputs in BuildXL at the moment, so e.g. deleting a directory needs to be untracked. extraUntrackedScopes.Add(path); } else if (untrackedOutputs) { extraUntrackedScopes.Add(path); } else { FileArtifact fileArtifact = FileArtifact.CreateSourceFile(path).CreateNextWrittenVersion(); outputs.Add(fileArtifact.WithAttributes()); } } } var tempDirectory = tempFiles.GetUniqueDirectory(); var environmentVariables = new List <EnvironmentVariable>(); var environmentValue = new PipDataBuilder(pathTable.StringTable); var tempPath = AbsolutePath.Create(pathTable, tempDirectory); environmentValue.Add(tempPath); environmentVariables.Add(new EnvironmentVariable(StringId.Create(pathTable.StringTable, "TMP"), environmentValue.ToPipData(" ", PipDataFragmentEscaping.NoEscaping))); environmentVariables.Add(new EnvironmentVariable(StringId.Create(pathTable.StringTable, "TEMP"), environmentValue.ToPipData(" ", PipDataFragmentEscaping.NoEscaping))); var untrackedPaths = CmdHelper.GetCmdDependencies(pathTable); var untrackedScopes = extraUntrackedScopes.Concat(CmdHelper.GetCmdDependencyScopes(pathTable).Concat(new[] { tempPath })).Distinct(); var pip = new Process( executableFileArtifact, workingDirectoryAbsolutePath, PipDataBuilder.CreatePipData(pathTable.StringTable, " ", PipDataFragmentEscaping.NoEscaping, commandPrefix + functionName + "Logging"), FileArtifact.Invalid, PipData.Invalid, ReadOnlyArray <EnvironmentVariable> .From(environmentVariables), FileArtifact.Invalid, FileArtifact.Invalid, FileArtifact.Invalid, tempFiles.GetUniqueDirectory(pathTable), null, null, ReadOnlyArray <FileArtifact> .From(dependencies), ReadOnlyArray <FileArtifactWithAttributes> .From(outputs), ReadOnlyArray <DirectoryArtifact> .Empty, ReadOnlyArray <DirectoryArtifact> .Empty, ReadOnlyArray <PipId> .Empty, ReadOnlyArray <AbsolutePath> .From(untrackedPaths), ReadOnlyArray <AbsolutePath> .From(untrackedScopes), ReadOnlyArray <StringId> .Empty, ReadOnlyArray <int> .Empty, ReadOnlyArray <ProcessSemaphoreInfo> .Empty, provenance: PipProvenance.CreateDummy(context), toolDescription: StringId.Invalid, additionalTempDirectories: ReadOnlyArray <AbsolutePath> .Empty); if (expectSuccess) { await AssertProcessSucceedsAsync( context, config, pip); } else { await AssertProcessCompletesWithStatusAsync( SandboxedProcessPipExecutionStatus.ExecutionFailed, context, config, pip, null); } } int expectedErrorCount = 0; int expectedWarningCount = 0; IEnumerable <string> requiredLogMessageSubstrings = new string[] { }; if (expectedErrorStrings != null) { expectedErrorCount = expectedErrorStrings.Count(); requiredLogMessageSubstrings = requiredLogMessageSubstrings.Concat(expectedErrorStrings); } if (expectedWarningStrings != null) { expectedWarningCount = expectedWarningStrings.Count(); requiredLogMessageSubstrings = requiredLogMessageSubstrings.Concat(expectedWarningStrings); } SetExpectedFailures(expectedErrorCount, expectedWarningCount, requiredLogMessageSubstrings.ToArray()); }
public BlogClientException(StringId titleFormat, StringId textFormat, params object[] textFormatArgs) : base(titleFormat, textFormat, textFormatArgs) { }
public static TStringId ParseStringId <TStringId>(this string stringId) where TStringId : StringId <TStringId>, new() { return(StringId <TStringId> .Parse(stringId)); }
public void Begin(MagicNumber tagClass, StringId classStringId, TagLayoutGuess layout) { _size = layout.Size; if (tagClass.Value != 0) _writer.WriteLine("{0}struct {1} : Tag<'{2}'>", _indent, _name, tagClass); else _writer.WriteLine("{0}struct {1}", _indent, _name); _writer.WriteLine("{0}{{", _indent); SetIndent(_indentLevel + 1); }
/// <inheritdoc /> public void Add(string name, StringId text) { WriteJson(name, StringIdToString(text)); }
/// <see cref="ListItem(string, StringId)"/> public TreeItem(string name, StringId value) : base(name, value) { }
/// <inheritdoc /> public void AddNested(StringId name, Action <IFingerprinter> addOps) { AddNested(StringIdToString(name), addOps); }
public static string Get(StringId id) { string toret = null; int numId = (int) id; if ( numId < strings.Count ) { toret = strings[ numId ]; } return toret; }
/// <summary> /// Converts a <see cref="StringId"/> to a string. /// </summary> private string StringIdToString(StringId stringId) { Contract.Requires(PathTable != null, "Cannot add strings by StringId to a JsonFingerprinter that was initialized without a PathTable."); return(stringId.ToString(PathTable.StringTable)); }
public override string GetLocalizedString(StringId id) { switch (id) { case StringId.CaptionError: return "错误"; case StringId.InvalidValueText: return "无效的值"; case StringId.CheckChecked: return "选中"; case StringId.CheckUnchecked: return "未选中"; case StringId.CheckIndeterminate: return "未选择"; case StringId.DateEditToday: return "今天"; case StringId.DateEditClear: return "清除"; case StringId.OK: return "确定(&O)"; case StringId.Cancel: return "取消(&C)"; case StringId.NavigatorFirstButtonHint: return "第一条"; case StringId.NavigatorPreviousButtonHint: return "上一条"; case StringId.NavigatorPreviousPageButtonHint: return "上一页"; case StringId.NavigatorNextButtonHint: return "下一条"; case StringId.NavigatorNextPageButtonHint: return "下一页"; case StringId.NavigatorLastButtonHint: return "最后一条"; case StringId.NavigatorAppendButtonHint: return "添加"; case StringId.NavigatorRemoveButtonHint: return "删除"; case StringId.NavigatorEditButtonHint: return "编辑"; case StringId.NavigatorEndEditButtonHint: return "结束编辑"; case StringId.NavigatorCancelEditButtonHint: return "取消编辑"; case StringId.NavigatorTextStringFormat: return "记录{0}/{1}"; case StringId.PictureEditMenuCut: return "剪贴"; case StringId.PictureEditMenuCopy: return "复制"; case StringId.PictureEditMenuPaste: return "粘贴"; case StringId.PictureEditMenuDelete: return "删除"; case StringId.PictureEditMenuLoad: return "读取"; case StringId.PictureEditMenuSave: return "保存"; case StringId.PictureEditOpenFileFilter: return "Bitmap Files (*.bmp)|*.bmp|Graphics Interchange Format (*.gif)|*.gif|JPEG File Interchange Format (*.jpg;*.jpeg)|*.jpg;*.jpeg|Icon Files (*.ico)|*.ico|All Picture Files |*.bmp;*.gif;*.jpg;*.jpeg;*.ico;*.png;*.tif|All Files |*.*"; case StringId.PictureEditSaveFileFilter: return "Bitmap Files (*.bmp)|*.bmp|Graphics Interchange Format (*.gif)|*.gif|JPEG File Interchange Format (*.jpg)|*.jpg"; case StringId.PictureEditOpenFileTitle: return "打开"; case StringId.PictureEditSaveFileTitle: return "另存为"; case StringId.PictureEditOpenFileError: return "错误的图片格式"; case StringId.PictureEditOpenFileErrorCaption: return "打开错误"; case StringId.LookUpEditValueIsNull: return "[无数据]"; case StringId.LookUpInvalidEditValueType: return "无效的数据类型"; case StringId.LookUpColumnDefaultName: return "名称"; case StringId.MaskBoxValidateError: return "输入数值不完整. 是否须要修改?\r\n\r\n是 - 回到编辑模式以修改数值.\r\n否 - 保持原来数值.\r\n取消 - 回复原来数值.\r\n"; case StringId.UnknownPictureFormat: return "不明图片格式"; case StringId.DataEmpty: return "无图像"; case StringId.NotValidArrayLength: return "无效的数组长度."; case StringId.ImagePopupEmpty: return "(空)"; case StringId.ImagePopupPicture: return "(图片)"; case StringId.ColorTabCustom: return "自定"; case StringId.ColorTabWeb: return "网络"; case StringId.ColorTabSystem: return "系统"; case StringId.CalcButtonMC: return "MC"; case StringId.CalcButtonMR: return "MR"; case StringId.CalcButtonMS: return "MS"; case StringId.CalcButtonMx: return "M+"; case StringId.CalcButtonSqrt: return "sqrt"; case StringId.CalcButtonBack: return "Back"; case StringId.CalcButtonCE: return "CE"; case StringId.CalcButtonC: return "C"; case StringId.CalcError: return "计算错误"; case StringId.TabHeaderButtonPrev: return "向左滚动"; case StringId.TabHeaderButtonNext: return "向右滚动"; case StringId.TabHeaderButtonClose: return "关闭"; case StringId.XtraMessageBoxOkButtonText: return "确定(&O)"; case StringId.XtraMessageBoxCancelButtonText: return "取消(&C)"; case StringId.XtraMessageBoxYesButtonText: return "是(&Y)"; case StringId.XtraMessageBoxNoButtonText: return "否(&N)"; case StringId.XtraMessageBoxAbortButtonText: return "中断(&A)"; case StringId.XtraMessageBoxRetryButtonText: return "重试(&R)"; case StringId.XtraMessageBoxIgnoreButtonText: return "忽略(&I)"; case StringId.TextEditMenuUndo: return "撤消(&U)"; case StringId.TextEditMenuCut: return "剪贴(&T)"; case StringId.TextEditMenuCopy: return "复制(&C)"; case StringId.TextEditMenuPaste: return "粘贴(&P)"; case StringId.TextEditMenuDelete: return "删除(&D)"; case StringId.TextEditMenuSelectAll: return "全选(&A)"; } return base.GetLocalizedString(id); }
/// <inheritdoc /> public void Add(StringId text) { WriteJson(StringIdToString(text)); }
public WizardSubStep(UserControl control, StringId? header, WizardController.DisplayCallback display, WizardController.VerifyStepCallback verify, WizardController.NextCallback next, WizardController.NextCallback undoNext, WizardController.BackCallback back) : base(control, header, display, verify, next, undoNext, back) { }
public PublicFrameButton(StringId textId) : base(textId) { }
protected PostEditorException(StringId titleFormat, StringId textFormat, params object[] textFormatArgs) : base(titleFormat, textFormat, textFormatArgs) { }
public StringId GetStringId() => StringId.Create(m_stringTable, "test");