Sarcasm.Unparsing.UnparseControl.GetExpressionToParentheses C# (CSharp) Method

GetExpressionToParentheses() private method

private GetExpressionToParentheses ( ) : ParenthesizedExpression>>.IEnumerable
return ParenthesizedExpression>>.IEnumerable
        internal IEnumerable<KeyValuePair<BnfTerm, ParenthesizedExpression>> GetExpressionToParentheses()
        {
            return expressionToParentheses;
        }

Usage Example

Esempio n. 1
0
        private void RegisteringExpressionsThatNeedParentheses(UnparseControl unparseControl)
        {
            if (unparseControl.ExpressionToParenthesesHasBeenSet)
            {
                this.expressionsThatCanCauseOthersBeingParenthesized = new HashSet <BnfTerm>(unparseControl.GetExpressionToParentheses().Keys());
                this.expressionThatMayNeedParenthesesToParentheses   = unparseControl.GetExpressionToParentheses().ToDictionary(pair => pair.Key, pair => pair.Value);
            }
            else
            {
                this.expressionsThatCanCauseOthersBeingParenthesized = new HashSet <BnfTerm>();
                this.expressionThatMayNeedParenthesesToParentheses   = new Dictionary <BnfTerm, ParenthesizedExpression>();
                this._examinedBnfTermsInCurrentPath = new Bag <BnfTerm>();

                RegisteringExpressionsThatNeedParentheses(unparser.Grammar.Root);

                lock (unparseControl)
                {   // handle concurrent unparsers initializations with one shared grammar and unparseControl
                    if (!unparseControl.ExpressionToParenthesesHasBeenSet)
                    {
                        unparseControl.SetExpressionToParentheses(expressionThatMayNeedParenthesesToParentheses);
                    }
                }
            }
        }