Exemplo n.º 1
0
            protected override IObjectCreationExpression CreateExpression(CSharpElementFactory factory, ICSharpExpression expression)
            {
                // yes, simply reinterpret expression as IReferenceName in obect creation expression
                var template = string.Format("new {0}", expression.GetText());

                return((IObjectCreationExpression)factory.CreateExpressionAsIs(template, applyCodeFormatter: false));
            }
            protected override IObjectCreationExpression CreateExpression(CSharpElementFactory factory, ICSharpExpression expression)
            {
                var settingsStore   = expression.GetSettingsStore();
                var parenthesesType = settingsStore.GetValue(CodeCompletionSettingsAccessor.ParenthesesInsertType);

                var template = string.Format("new {0}{1}", expression.GetText(), parenthesesType.GetParenthesesTemplate());

                return((IObjectCreationExpression)factory.CreateExpressionAsIs(template, false));
            }
Exemplo n.º 3
0
        private IAttribute CreateContractClassAttribute(string contractClassName)
        {
            ITypeElement type = TypeFactory.CreateTypeByCLRName(
                typeof(ContractClassAttribute).FullName,
                _provider.PsiModule, _currentFile.GetResolveContext()).GetTypeElement();

            var expression = _factory.CreateExpressionAsIs(
                string.Format("typeof({0})", contractClassName));

            var attribute = _factory.CreateAttribute(type);

            attribute.AddArgumentAfter(
                _factory.CreateArgument(ParameterKind.VALUE, expression),
                null);

            return(attribute);
        }
        protected override Action <ITextControl> ExecutePsiTransaction(ISolution solution, IProgressIndicator progress)
        {
            CSharpElementFactory factory = CSharpElementFactory.GetInstance(this._provider.PsiModule);

            var stringValue = this._stringLiteral.ConstantValue.Value as string;

            if (stringValue == null)
            {
                return(null);
            }

            char[] chars = stringValue.ToCharArray();
            Array.Reverse(chars);
            ICSharpExpression newExpr = factory.CreateExpressionAsIs("\"" + new string(chars) + "\"");

            this._stringLiteral.ReplaceBy(newExpr);
            return(null);
        }
Exemplo n.º 5
0
        private void Replase(ISolution solution, CSharpElementFactory c_sharp_element_factory, IList <IParameter> parameters)
        {
            String named_parameters_s = "(";

            foreach (IParameter parameter in parameters)
            {
                named_parameters_s += parameter.ShortName + $": TODO,";
            }
            named_parameters_s = named_parameters_s.Remove(startIndex: named_parameters_s.Length - 1) + ")";
            this.error.Reference.GetTreeNode().GetPsiServices().Transactions.Execute(
                commandName: GetType().Name,
                handler: () =>
            {
                using (solution.GetComponent <IShellLocks>().UsingWriteLock())
                {
                    ModificationUtil.AddChild(
                        root: this.error.Reference.GetTreeNode(),
                        child: c_sharp_element_factory.CreateExpressionAsIs(
                            format: named_parameters_s));
                }
            });
        }
            protected override IObjectCreationExpression CreateExpression(CSharpElementFactory factory, ICSharpExpression expression)
            {
                var template = string.Format("new {0}", expression.GetText());

                return((IObjectCreationExpression)factory.CreateExpressionAsIs(template, applyCodeFormatter: false));
            }
            protected override ITypeofExpression CreateExpression(CSharpElementFactory factory, ICSharpExpression expression)
            {
                var template = "typeof(" + expression.GetText() + ")";

                return((ITypeofExpression)factory.CreateExpressionAsIs(template));
            }