public bool Equals(FunctionPrototypeAstNode other)
        {
            if (Name != other.Name || ReturnType != other.ReturnType)
            {
                return(false);
            }

            return(Name == other.Name && ReturnType == other.ReturnType &&
                   EqUtil.EnumerableEqual(Parameters, other.Parameters) &&
                   EqUtil.SortedEnumerableEqual(Attributes, other.Attributes));
        }
Example #2
0
 public void TestPrototype(FunctionPrototypeAstNode expect,
                           FunctionPrototypeAstNode actual, string traceMessage)
 {
     Assert.AreEqual(expect.Name, actual.Name, traceMessage);
     Assert.AreEqual(expect.ReturnType, actual.ReturnType, traceMessage);
     Assert.IsTrue(
         EqualCheckUtil.EnumerableEqual(expect.Attributes, actual.Attributes),
         traceMessage);
     Assert.IsTrue(
         EqualCheckUtil.EnumerableEqual(expect.Parameters, actual.Parameters),
         traceMessage);
 }
 public FunctionAstNode(FunctionPrototypeAstNode prototype,
                        CodeBlockAstNode?body)
 {
     Prototype = prototype;
     Body      = body;
 }