public void TestClearUnknownArguments_Null() { MethodDeclarationNode mdn = new MethodDeclarationNode("foo"); mdn.ClearUnknownArguments(); Assert.IsNotNull(mdn.UnknownArguments); Assert.AreEqual(0, mdn.UnknownArguments.Count); }
public void TestClearUnknownArguments_ExistingArgs() { MethodDeclarationNode mdn = new MethodDeclarationNode("MyMethod"); Node[] args = new Node[] { new TypeNode("int", true), new VariableDeclarationNode("bar") }; mdn.AddUnknownArguments(args); Assert.AreEqual(2, mdn.UnknownArguments.Count); mdn.ClearUnknownArguments(); Assert.AreEqual(0, mdn.UnknownArguments.Count); }
/// <summary> /// Sets the UnknownArguments list to its default state. This includes all the formal parameters, the declaring class, and the return type (if not primitive). /// </summary> /// <param name="mdn">The MethodDeclarationNode to set UnknownArguments on.</param> protected void SetDefaultUnknownArguments(MethodDeclarationNode mdn) { mdn.ClearUnknownArguments(); mdn.AddUnknownArguments(mdn.FormalParameters); if (mdn.DeclaringClass != null) { mdn.AddUnknownArgument(mdn.DeclaringClass); } if (mdn.ReturnType != null && !mdn.ReturnType.IsPrimitive) { mdn.AddUnknownArgument(mdn.ReturnType); } }