Skip to content

Commit 6209ae7

Browse files
committed
Change ComVariant.TypeNames to use Tokens.Foo, add a couple tokens.
1 parent 107a61b commit 6209ae7

File tree

3 files changed

+31
-27
lines changed

3 files changed

+31
-27
lines changed

Rubberduck.Parsing/ComReflection/ComVariant.cs

Lines changed: 26 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Collections.Generic;
33
using System.Runtime.InteropServices;
4+
using Rubberduck.Parsing.Grammar;
45

56
namespace Rubberduck.Parsing.ComReflection
67
{
@@ -9,32 +10,32 @@ public class ComVariant
910
{
1011
internal static readonly IDictionary<VarEnum, string> TypeNames = new Dictionary<VarEnum, string>
1112
{
12-
{VarEnum.VT_DISPATCH, "Object"},
13+
{VarEnum.VT_DISPATCH, Tokens.Object},
1314
{VarEnum.VT_VOID, string.Empty},
14-
{VarEnum.VT_VARIANT, "Variant"},
15-
{VarEnum.VT_BLOB_OBJECT, "Object"},
16-
{VarEnum.VT_STORED_OBJECT, "Object"},
17-
{VarEnum.VT_STREAMED_OBJECT, "Object"},
18-
{VarEnum.VT_BOOL, "Boolean"},
19-
{VarEnum.VT_BSTR, "String"},
20-
{VarEnum.VT_LPSTR, "String"},
21-
{VarEnum.VT_LPWSTR, "String"},
22-
{VarEnum.VT_I1, "Variant"}, // no signed byte type in VBA
23-
{VarEnum.VT_UI1, "Byte"},
24-
{VarEnum.VT_I2, "Integer"},
25-
{VarEnum.VT_UI2, "Variant"}, // no unsigned integer type in VBA
26-
{VarEnum.VT_I4, "Long"},
27-
{VarEnum.VT_UI4, "Variant"}, // no unsigned long integer type in VBA
28-
{VarEnum.VT_I8, "Variant"}, // LongLong on 64-bit VBA
29-
{VarEnum.VT_UI8, "Variant"}, // no unsigned LongLong integer type in VBA
30-
{VarEnum.VT_INT, "Long"}, // same as I4
31-
{VarEnum.VT_UINT, "Variant"}, // same as UI4
32-
{VarEnum.VT_DATE, "Date"},
33-
{VarEnum.VT_CY, "Currency"},
34-
{VarEnum.VT_DECIMAL, "Currency"}, // best match?
35-
{VarEnum.VT_EMPTY, "Empty"},
36-
{VarEnum.VT_R4, "Single"},
37-
{VarEnum.VT_R8, "Double"},
15+
{VarEnum.VT_VARIANT, Tokens.Variant},
16+
{VarEnum.VT_BLOB_OBJECT, Tokens.Object},
17+
{VarEnum.VT_STORED_OBJECT, Tokens.Object},
18+
{VarEnum.VT_STREAMED_OBJECT, Tokens.Object},
19+
{VarEnum.VT_BOOL, Tokens.Boolean},
20+
{VarEnum.VT_BSTR, Tokens.String},
21+
{VarEnum.VT_LPSTR, Tokens.LongPtr},
22+
{VarEnum.VT_LPWSTR, Tokens.LongPtr},
23+
{VarEnum.VT_I1, Tokens.Variant}, // no signed byte type in VBA
24+
{VarEnum.VT_UI1, Tokens.Byte},
25+
{VarEnum.VT_I2, Tokens.Integer},
26+
{VarEnum.VT_UI2, Tokens.Variant}, // no unsigned integer type in VBA
27+
{VarEnum.VT_I4, Tokens.Long},
28+
{VarEnum.VT_UI4, Tokens.Variant}, // no unsigned long integer type in VBA
29+
{VarEnum.VT_I8, Tokens.Variant}, // LongLong on 64-bit VBA
30+
{VarEnum.VT_UI8, Tokens.Variant}, // no unsigned LongLong integer type in VBA
31+
{VarEnum.VT_INT, Tokens.Long}, // same as I4
32+
{VarEnum.VT_UINT, Tokens.Variant}, // same as UI4
33+
{VarEnum.VT_DATE, Tokens.Date},
34+
{VarEnum.VT_CY, Tokens.Currency},
35+
{VarEnum.VT_DECIMAL, Tokens.Decimal},
36+
{VarEnum.VT_EMPTY, Tokens.Empty},
37+
{VarEnum.VT_R4, Tokens.Single},
38+
{VarEnum.VT_R8, Tokens.Double},
3839
};
3940

4041

Rubberduck.Parsing/Grammar/Tokens.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ public static class Tokens
55
public static readonly string Abs = "Abs";
66
public static readonly string AddressOf = "AddressOf";
77
public static readonly string And = "And";
8+
public static readonly string Any = "Any";
89
public static readonly string As = "As";
910
public static readonly string Asc = "Asc";
1011
public static readonly string Attribute = "Attribute";
@@ -58,6 +59,7 @@ public static class Tokens
5859
public static readonly string Each = "Each";
5960
public static readonly string Else = "Else";
6061
public static readonly string ElseIf = "ElseIf";
62+
public static readonly string Empty = "Empty";
6163
public static readonly string End = "End";
6264
public static readonly string Enum = "Enum";
6365
public static readonly string Environ = "Environ";
@@ -125,6 +127,7 @@ public static class Tokens
125127
public static readonly string Nothing = "Nothing";
126128
public static readonly string Now = "Now";
127129
public static readonly string Null = "Null";
130+
public static readonly string Object = "Object";
128131
public static readonly string Oct = "Oct";
129132
public static readonly string On = "On";
130133
public static readonly string Open = "Open";

Rubberduck.Parsing/SymbolList.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ public static class SymbolList
4141
Tokens.Single.ToUpper(),
4242
Tokens.String.ToUpper(),
4343
Tokens.Variant.ToUpper(),
44-
"OBJECT",
45-
"ANY"
44+
Tokens.Object.ToUpper(),
45+
Tokens.Any.ToUpper()
4646
};
4747

4848
public static readonly IDictionary<string, string> TypeHintToTypeName = new Dictionary<string, string>

0 commit comments

Comments
 (0)