private static void AddScopeToNestedScopes(Scope scope, ref Scope currentScope, ICollection <Scope> capturedStyleTree) { if (scope.Index >= currentScope.Index && (scope.Index + scope.Length <= currentScope.Index + currentScope.Length)) { currentScope.AddChild(scope); currentScope = scope; } else { currentScope = currentScope.Parent; if (currentScope != null) { AddScopeToNestedScopes(scope, ref currentScope, capturedStyleTree); } else { capturedStyleTree.Add(scope); } } }
private static void AddScopeToNestedScopes(Scope scope, ref Scope currentScope, ICollection<Scope> capturedStyleTree) { if (scope.Index >= currentScope.Index && (scope.Index + scope.Length <= currentScope.Index + currentScope.Length)) { currentScope.AddChild(scope); currentScope = scope; } else { currentScope = currentScope.Parent; if (currentScope != null) AddScopeToNestedScopes(scope, ref currentScope, capturedStyleTree); else capturedStyleTree.Add(scope); } }