public ITagger <T> CreateTagger <T>(ITextBuffer buffer) where T : ITag { //AsmDudeToolsStatic.Output_INFO(string.Format(AsmDudeToolsStatic.CultureUI, "{0}:CreateTagger", this.ToString())); ITagger <T> sc() { if (AsmDudeToolsStatic.Used_Assembler_Disassembly_Window.HasFlag(AssemblerEnum.AUTO_DETECT)) { int nLinesMax = 40; bool has_intel_syntax = AsmDudeToolsStatic.Guess_Intel_Syntax(buffer, nLinesMax); return((has_intel_syntax) ? new MasmDisassemblyTokenTagger(buffer) as ITagger <T> : new NasmAttDisassemblyTokenTagger(buffer) as ITagger <T>); } if (AsmDudeToolsStatic.Used_Assembler_Disassembly_Window.HasFlag(AssemblerEnum.NASM_ATT)) { return(new NasmAttDisassemblyTokenTagger(buffer) as ITagger <T>); } if (AsmDudeToolsStatic.Used_Assembler_Disassembly_Window.HasFlag(AssemblerEnum.MASM)) { return(new MasmDisassemblyTokenTagger(buffer) as ITagger <T>); } AsmDudeToolsStatic.Output_WARNING(string.Format(AsmDudeToolsStatic.CultureUI, "{0}:CreateTagger: could not determine the used assembler", this.ToString())); return(new MasmDisassemblyTokenTagger(buffer) as ITagger <T>); } return(buffer.Properties.GetOrCreateSingletonProperty(sc)); }