-
Notifications
You must be signed in to change notification settings - Fork 2
/
ElementType.cs
46 lines (40 loc) · 1.02 KB
/
ElementType.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Grammophone.Serialization
{
/// <summary>
/// Descriptor byte of following bytes in the binary stream. All ID values are of type <see cref="Int32"/>.
/// </summary>
public enum ElementType : byte
{
/// <summary>
/// Null reference.
/// </summary>
Null,
/// <summary>
/// Follows: Type ID, Assembly name, Type name.
/// </summary>
Type,
/// <summary>
/// Follows: Type ID.
/// </summary>
TypeRef,
/// <summary>
/// Follows: element [Type | TypeRef], object id, dimensions count, dimension 0 (lower bound, length), ..., dimension n-1 bounds, [Instance | ObjectRef]*.
/// </summary>
Array,
/// <summary>
/// Follows: [Type | TypeRef], (object ID)?, [(fields count, (Field name, value)*) | primitive].
/// </summary>
/// <remarks>
/// Object ID is not written if the instance is value type.
/// </remarks>
Instance,
/// <summary>
/// Follows: object ID.
/// </summary>
ObjectRef
}
}