internal Scanner(SyntaxDefinition syntaxDefinition) { ArgumentValidator.ThrowIfNull(syntaxDefinition, "syntaxDefinition"); this.m_syntaxDefinition = syntaxDefinition; this.m_isFirstRun = true; }
internal SyntaxContext(SyntaxDefinition syntaxDefinition, string scopeName) { this.SyntaxDefinition = syntaxDefinition; this.AllItems = new List <SyntaxItem>(16); this.NonTopItems = new SetOfSyntaxItems(); this.TopItems = new SetOfSyntaxItems(); this.Name = scopeName; this.TopClusters = new List <Cluster>(2); }
internal Cluster(SyntaxContext context) { ArgumentValidator.ThrowIfNull(context, "scope"); this.m_containedGroupsAndClusters = new List <string>(); this.m_syntaxContext = context; this.m_ClusterType = ClusterType.NONMAGIC; this.m_directItems = new SetOfSyntaxItems(); this.m_syntaxDefinition = context.SyntaxDefinition; }
internal static void Dump(SyntaxDefinition syntaxDefiniton, TextWriter writer) { ArgumentValidator.ThrowIfNull(syntaxDefiniton, "syntaxDefiniton"); ArgumentValidator.ThrowIfNull(writer, "writer"); foreach (SyntaxContext context in syntaxDefiniton.m_syntaxContexts) { DoContext(context); } foreach (KeyValuePair <string, Cluster> pair in syntaxDefiniton.ClustersByName) { Console.WriteLine("Cluster {0,-10} {1,-5} items Scope: {2}", pair.Key, pair.Value.CachedMemberItems.Items.Length, pair.Value.SyntaxContext.Name); } }
internal Group(string name, SyntaxDefinition syntaxDefinition) { this.m_name = name; this.m_syntaxDefinition = syntaxDefinition; this.m_items = new List <SyntaxItem>(); if (m_builtinHighlightModes.ContainsKey(name)) { this.m_highlightMode = m_builtinHighlightModes[name]; } else { this.m_highlightMode = HighlightMode.Normal; } }
/// <summary> /// I will go up to the six-fingered man and say: "Hello, my name is Inigo Montoya. You killed my father. Prepare to die!" /// </summary> internal static SetOfSyntaxItems PrepareForRuntime(SetOfSyntaxItems setOfSyntaxItems, SyntaxDefinition syntaxDefinition) { if (0 == setOfSyntaxItems.Items.Length) { return(EmptySet); } int idx = syntaxDefinition.AllDistinctSetsOfItems.BinarySearch(setOfSyntaxItems); if (0 <= idx) { return(syntaxDefinition.AllDistinctSetsOfItems[idx]); } else { setOfSyntaxItems.PrepareForRuntime(); syntaxDefinition.AllDistinctSetsOfItems.Insert(~idx, setOfSyntaxItems); return(setOfSyntaxItems); } }