static ForeachStatement MakeForeach(Expression node, IType type, RefactoringContext context) { var namingHelper = new NamingHelper(context); return(new ForeachStatement() { VariableType = new SimpleType("var"), VariableName = namingHelper.GenerateVariableName(type), InExpression = node.Clone(), EmbeddedStatement = new BlockStatement() }); }
public void GenerateVariableNameTest() { var context = MakeContext(@" class A { void F() { $ } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.AreEqual("i", name); }
public void GenerateVariableNameInForInitializerList() { var context = MakeContext(@" class A { void F(int i) { for($ ; i < 0; i++); } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.IsFalse(name == "i", "i was already used and should not be proposed."); }
public void GenerateVariableNameInMethodIgnoresParameters() { var context = MakeContext(@" class A { void F(int i) { $ } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.IsFalse(name == "i", "i was already used and should not be proposed."); }
public void GenerateVariableNameIgnoresNamesUsedPreviouslyInScope() { var context = MakeContext(@" class A { void F() { int i; $ } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.IsFalse(name == "i", "i was already used and should not be proposed."); }
public void GenerateVariableNameIgnoresFixedVariables() { var context = MakeContext(@" class A { unsafe void F() { $ fixed (int i = 13) {} } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.AreEqual("j", name); }
public void GenerateVariableNameFallsBackToNumbering() { var context = MakeContext(@" class A { void F() { int i, j, k; $ } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.AreEqual("i2", name); }
public void GenerateVariableNameIgnoresNamesUsedInNestedScope() { var context = MakeContext(@" class A { void F() { $ for (int i; i < 0; i++); } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.IsFalse(name == "i", "i was already used and should not be proposed."); }
public void GenerateVariableNameIgnoresLinqIdentifiers() { // Snippet tests that identifiers from in, into and let clauses are found var context = MakeContext(@" class A { void F() { $ var ints = from i in new int [] {} group i by i % 2 into j let k = 2 select j.Count() + k; } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.AreEqual("i2", name); }
public void GenerateVariableNameForCustomType() { var context = MakeContext(@" class A { void F() { $ } }" ); var name = new NamingHelper(context).GenerateVariableName(new SimpleType() { Identifier = "VariableNameGenerationTester" }); Assert.NotNull(name); Assert.AreEqual("variableNameGenerationTester", name); }
public void GenerateVariableNameDoesNotRepeatNames() { var context = MakeContext(@" class A { void F() { $ } }" ); var namingHelper = new NamingHelper(context); var name1 = namingHelper.GenerateVariableName(new PrimitiveType("int")); var name2 = namingHelper.GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name1); Assert.NotNull(name2); Assert.AreNotEqual(name1, name2, "The generated names should not repeat."); }
public void GenerateVariableNameWithNumberedVariableInParentBlock() { var context = MakeContext(@" class A { void F() { int i2; { int i, j, k; $ } } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.AreEqual("i3", name); }
public IEnumerable<CodeAction> GetActions(RefactoringContext context) { var catchClause = context.GetNode<CatchClause>(); if (catchClause == null) yield break; if (!catchClause.Type.IsNull) yield break; yield return new CodeAction(context.TranslateString("Add type specifier"), script => { var newType = context.CreateShortType("System", "Exception"); var namingHelper = new NamingHelper(context); var newIdentifier = Identifier.Create(namingHelper.GenerateVariableName(newType, "e")); script.Replace(catchClause, new CatchClause { Type = newType, VariableNameToken = newIdentifier, Body = catchClause.Body.Clone() as BlockStatement }); script.Select(newType); }, catchClause); }
public void GenerateVariableNameShouldNotIgnoreBasedOnMethodCallIdentifiers() { var context = MakeContext(@" class B { void i() { } } class A { void F() { for($ ;;) B.i(); } }" ); var name = new NamingHelper(context).GenerateVariableName(new PrimitiveType("int")); Assert.NotNull(name); Assert.IsTrue(name == "i"); }
static ForeachStatement MakeForeach(Expression node, IType type, RefactoringContext context) { var namingHelper = new NamingHelper(context); return new ForeachStatement() { VariableType = new SimpleType("var"), VariableName = namingHelper.GenerateVariableName(type), InExpression = node.Clone(), EmbeddedStatement = new BlockStatement() }; }
public InitializerConversionVisitor(RefactoringContext context) { this.context = context; namingHelper = new NamingHelper(context); }