@@ -14,6 +14,7 @@ public class AliasDeclarations : ICustomDeclarationLoader
14
14
private Declaration _fileSystemModule ;
15
15
private Declaration _interactionModule ;
16
16
private Declaration _stringsModule ;
17
+ private Declaration _dateTimeModule ;
17
18
18
19
public AliasDeclarations ( RubberduckParserState state )
19
20
{
@@ -48,7 +49,9 @@ public IReadOnlyList<Declaration> Load()
48
49
Grammar . Tokens . RightB ,
49
50
Grammar . Tokens . RTrim ,
50
51
Grammar . Tokens . String ,
51
- Grammar . Tokens . UCase
52
+ Grammar . Tokens . UCase ,
53
+ Grammar . Tokens . Date ,
54
+ Grammar . Tokens . Time ,
52
55
} ;
53
56
54
57
private IReadOnlyList < Declaration > AddAliasDeclarations ( )
@@ -64,7 +67,7 @@ private IReadOnlyList<Declaration> AddAliasDeclarations()
64
67
var functionAliases = FunctionAliasesWithoutParameters ( ) ;
65
68
AddParametersToAliasesFromReferencedFunctions ( functionAliases , possiblyAliasedFunctions ) ;
66
69
67
- return functionAliases ;
70
+ return functionAliases . Concat < Declaration > ( PropertyGetDeclarations ( ) ) . ToList ( ) ;
68
71
}
69
72
70
73
private void UpdateAliasFunctionModulesFromReferencedProjects ( RubberduckParserState state )
@@ -83,6 +86,7 @@ private void UpdateAliasFunctionModulesFromReferencedProjects(RubberduckParserSt
83
86
_fileSystemModule = finder . FindStdModule ( "FileSystem" , vba , true ) ;
84
87
_interactionModule = finder . FindStdModule ( "Interaction" , vba , true ) ;
85
88
_stringsModule = finder . FindStdModule ( "Strings" , vba , true ) ;
89
+ _dateTimeModule = finder . FindStdModule ( "DateTime" , vba , true ) ;
86
90
}
87
91
88
92
@@ -102,6 +106,50 @@ private List<Declaration> ReferencedBuiltInFunctionsThatMightHaveAnAlias(Rubberd
102
106
return functions . ToList ( ) ;
103
107
}
104
108
109
+ private List < PropertyGetDeclaration > PropertyGetDeclarations ( )
110
+ {
111
+ return new List < PropertyGetDeclaration >
112
+ {
113
+ DatePropertyGet ( ) ,
114
+ TimePropertyGet ( ) ,
115
+ } ;
116
+ }
117
+
118
+ private PropertyGetDeclaration DatePropertyGet ( )
119
+ {
120
+ return new PropertyGetDeclaration (
121
+ new QualifiedMemberName ( _dateTimeModule . QualifiedName . QualifiedModuleName , "Date" ) ,
122
+ _dateTimeModule ,
123
+ _dateTimeModule ,
124
+ "Variant" ,
125
+ null ,
126
+ string . Empty ,
127
+ Accessibility . Global ,
128
+ null ,
129
+ new Selection ( ) ,
130
+ false ,
131
+ true ,
132
+ new List < IAnnotation > ( ) ,
133
+ new Attributes ( ) ) ;
134
+ }
135
+
136
+ private PropertyGetDeclaration TimePropertyGet ( )
137
+ {
138
+ return new PropertyGetDeclaration (
139
+ new QualifiedMemberName ( _dateTimeModule . QualifiedName . QualifiedModuleName , "Time" ) ,
140
+ _dateTimeModule ,
141
+ _dateTimeModule ,
142
+ "Variant" ,
143
+ null ,
144
+ string . Empty ,
145
+ Accessibility . Global ,
146
+ null ,
147
+ new Selection ( ) ,
148
+ false ,
149
+ true ,
150
+ new List < IAnnotation > ( ) ,
151
+ new Attributes ( ) ) ;
152
+ }
105
153
106
154
private List < FunctionDeclaration > FunctionAliasesWithoutParameters ( )
107
155
{
@@ -128,7 +176,7 @@ private List<FunctionDeclaration> FunctionAliasesWithoutParameters()
128
176
RightBFunction ( ) ,
129
177
RTrimFunction ( ) ,
130
178
StringFunction ( ) ,
131
- UCaseFunction ( )
179
+ UCaseFunction ( ) ,
132
180
} ;
133
181
}
134
182
0 commit comments