public IPostfixLookupItem CreateItem(PostfixTemplateContext context) { if (context.IsAutoCompletion) { foreach (var expressionContext in context.Expressions) { var castExpression = CastExpressionNavigator.GetByOp(expressionContext.Expression); if (castExpression == null) { continue; // available in auto over cast expressions } var expression = ParenthesizedExpressionNavigator.GetByExpression(castExpression); if (expression != null) { continue; // not already parenthesized } return(new ParenthesesItem(expressionContext)); } return(null); } var contexts = CommonUtils.FindExpressionWithValuesContexts(context); if (contexts.Length == 0) { return(null); } return(new ParenthesesItem(contexts)); }
public PostfixTemplateInfo TryCreateInfo(CSharpPostfixTemplateContext context) { if (context.IsPreciseMode) { foreach (var expressionContext in context.Expressions) { var castExpression = CastExpressionNavigator.GetByOp(expressionContext.Expression); if (castExpression == null) { continue; // available in auto over cast expressions } var expression = ParenthesizedExpressionNavigator.GetByExpression(castExpression); if (expression != null) { continue; // not already parenthesized } return(new PostfixTemplateInfo("par", expressionContext)); } return(null); } var expressions = CSharpPostfixUtis.FindExpressionWithValuesContexts(context); if (expressions.Length != 0) { return(new PostfixTemplateInfo("par", expressions)); } return(null); }