public void TypeRename4()
        {
            NativeStruct s1 = new NativeStruct("s1");

            s1.Members.Add(new NativeMember("m1", new NativeNamedType("s1", new NativeBuiltinType(BuiltinType.NativeByte))));

            NativeSymbolTransform transform = new NativeSymbolTransform();

            transform.RenameTypeSymbol(s1, "s1", "s2");
            VerifyTree(s1, "s2(m1(s2(byte)))");
        }
        public void TypeRename3()
        {
            NativeStruct s1 = new NativeStruct("s1");

            s1.Members.Add(new NativeMember("s1", new NativeBuiltinType(BuiltinType.NativeChar)));

            NativeSymbolTransform transform = new NativeSymbolTransform();

            transform.RenameTypeSymbol(s1, "s1", "s2");
            VerifyTree(s1, "s2(s1(char))");
        }
        public void CollapseTypedef2()
        {
            NativeStruct s1 = new NativeStruct("s1");

            s1.Members.Add(new NativeMember("m1", new NativeTypeDef("foo")));
            VerifyTree(s1, "s1(m1(foo))");

            NativeSymbolTransform transform = new NativeSymbolTransform();

            transform.CollapseNamedTypes(s1);
            VerifyTree(s1, "s1(m1(foo))");
        }
        public void CollapseTypedef1()
        {
            NativeStruct s1 = new NativeStruct("s1");

            s1.Members.Add(new NativeMember("m1", new NativeTypeDef("PCHAR", new NativePointer(new NativeBuiltinType(BuiltinType.NativeChar)))));
            VerifyTree(s1, "s1(m1(PCHAR(*(char))))");

            NativeSymbolTransform transform = new NativeSymbolTransform();

            transform.CollapseTypedefs(s1);
            VerifyTree(s1, "s1(m1(*(char)))");
        }
        public void CallapseNamed2()
        {
            NativeStruct s1 = new NativeStruct("s1");

            s1.Members.Add(new NativeMember("m1", new NativeNamedType("char")));
            VerifyTree(s1, "s1(m1(char))");

            NativeSymbolTransform transform = new NativeSymbolTransform();

            transform.CollapseNamedTypes(s1);
            VerifyTree(s1, "s1(m1(char))");
        }
        public void TypeRename2()
        {
            NativeStruct s1 = new NativeStruct("s1");

            s1.Members.Add(new NativeMember("m1", new NativeBuiltinType(BuiltinType.NativeChar)));
            NativeTypeDef td = new NativeTypeDef("foo", s1);

            NativeSymbolTransform transform = new NativeSymbolTransform();

            transform.RenameTypeSymbol(td, "s1", "s2");
            VerifyTree(td, "foo(s2(m1(char)))");
        }