~ubuntu-branches/ubuntu/feisty/monodevelop/feisty

« back to all changes in this revision

Viewing changes to Core/src/MonoDevelop.Projects/MonoDevelop.Projects.Parser/PersistentReturnType.cs

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2006-08-18 00:51:23 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20060818005123-5iit07y0j7wjg55f
Tags: 0.11+svn20060818-0ubuntu1
* New SVN snapshot
  + Works with Gtk# 2.9.0
* debian/control:
  + Updated Build-Depends
* debian/patches/use_nunit2.2.dpatch,
  debian/patches/use_real_libs.dpatch:
  + Updated
* debian/patches/versioncontrol_buildfix.dpatch:
  + Fix build failure in the version control addin

Show diffs side-by-side

added added

removed removed

Lines of Context:
19
19
                        
20
20
                        PersistentReturnType rt = new PersistentReturnType ();
21
21
                        rt.FullyQualifiedName = typeResolver.Resolve (source.FullyQualifiedName);
 
22
                        rt.byRef = source.ByRef;
22
23
                        rt.pointerNestingLevel = source.PointerNestingLevel;
23
24
                        rt.arrayDimensions = source.ArrayDimensions;
 
25
                        
 
26
                        if (source.GenericArguments != null && source.GenericArguments.Count > 0) {
 
27
                                rt.GenericArguments = new ReturnTypeList();
 
28
                                foreach (IReturnType ga in source.GenericArguments) {
 
29
                                        rt.GenericArguments.Add(PersistentReturnType.Resolve(ga, typeResolver));
 
30
                                }
 
31
                        }
 
32
                        
24
33
                        return rt;
25
34
                }
26
35
 
30
39
                        
31
40
                        PersistentReturnType rt = new PersistentReturnType ();
32
41
                        rt.FullyQualifiedName = PersistentHelper.ReadString (reader, nameTable);
 
42
                        
 
43
                        rt.byRef = reader.ReadBoolean();
33
44
 
34
45
                        rt.pointerNestingLevel = reader.ReadInt32();
35
46
 
38
49
                        for (uint i = 0; i < rt.arrayDimensions.Length; ++i) {
39
50
                                rt.arrayDimensions[i] = reader.ReadInt32();
40
51
                        }
 
52
                        
 
53
                        // Read the generic arguments
 
54
                        count = reader.ReadUInt32();
 
55
                        if (count > 0) {
 
56
                                rt.GenericArguments = new ReturnTypeList();
 
57
                                // Add the generic arguments one by one
 
58
                                for (uint i = 0; i < count; ++i) {
 
59
                                        rt.GenericArguments.Add(PersistentReturnType.Read(reader, nameTable));
 
60
                                }
 
61
                                // All the generic arguments have been added...
 
62
                        }
 
63
                        
41
64
                        return rt;
42
65
                }
43
66
 
46
69
                        if (PersistentHelper.WriteNull (rt, writer)) return;
47
70
                        
48
71
                        PersistentHelper.WriteString (rt.FullyQualifiedName, writer, nameTable);
 
72
                        
 
73
                        writer.Write(rt.ByRef);
49
74
 
50
75
                        writer.Write (rt.PointerNestingLevel);
51
76
                        if (rt.ArrayDimensions == null) {
56
81
                                        writer.Write (rt.ArrayDimensions[i]);
57
82
                                }
58
83
                        }
 
84
                        
 
85
                        // Write generic arguments of this return type
 
86
                        if (rt.GenericArguments == null || rt.GenericArguments.Count < 1)
 
87
                                writer.Write((uint)0);
 
88
                        else {
 
89
                                writer.Write((uint)rt.GenericArguments.Count);
 
90
                                foreach (IReturnType ga in rt.GenericArguments) {
 
91
                                        PersistentReturnType.WriteTo(ga, writer, nameTable);
 
92
                                }
 
93
                        }
59
94
                }
60
95
        }
61
96
}