@@ -197,7 +197,7 @@ private static bool DeclarationInReferencedProjectCanBeShadowed(Declaration orig
197
197
return false ;
198
198
}
199
199
200
- if ( userDeclaration . DeclarationType == DeclarationType . ClassModule || userDeclaration . DeclarationType == DeclarationType . Document )
200
+ if ( userDeclaration . DeclarationType . HasFlag ( DeclarationType . ClassModule ) )
201
201
{
202
202
switch ( userDeclarationEnclosingType )
203
203
{
@@ -208,8 +208,7 @@ private static bool DeclarationInReferencedProjectCanBeShadowed(Declaration orig
208
208
}
209
209
}
210
210
211
- if ( ( userDeclaration . DeclarationType != DeclarationType . ClassModule && userDeclaration . DeclarationType != DeclarationType . Document ) ||
212
- ( userDeclarationEnclosingType != ComponentType . UserForm && userDeclarationEnclosingType != ComponentType . Document ) )
211
+ if ( ! userDeclaration . DeclarationType . HasFlag ( DeclarationType . ClassModule ) )
213
212
{
214
213
if ( ! ReferencedProjectTypeShadowingRelations [ originalDeclaration . DeclarationType ] . Contains ( userDeclaration . DeclarationType ) )
215
214
{
@@ -256,22 +255,25 @@ private static bool DeclarationInAnotherComponentCanBeShadowed(Declaration origi
256
255
// It is not possible to directly access any declarations placed inside a Class Module.
257
256
if ( originalDeclaration . DeclarationType != DeclarationType . ClassModule &&
258
257
originalDeclaration . DeclarationType != DeclarationType . Document &&
258
+ originalDeclaration . DeclarationType != DeclarationType . UserForm &&
259
259
originalDeclarationEnclosingType == ComponentType . ClassModule )
260
260
{
261
261
return false ;
262
262
}
263
263
264
264
// It is not possible to directly access any declarations placed inside a Document Module. (Document Modules have DeclarationType ClassMoodule.)
265
265
if ( originalDeclaration . DeclarationType != DeclarationType . ClassModule &&
266
- originalDeclaration . DeclarationType != DeclarationType . Document &&
266
+ originalDeclaration . DeclarationType != DeclarationType . Document &&
267
+ originalDeclaration . DeclarationType != DeclarationType . UserForm &&
267
268
originalDeclarationEnclosingType == ComponentType . Document )
268
269
{
269
270
return false ;
270
271
}
271
272
272
- // It is not possible to directly access any declarations placed inside a User Form. (User Forms have DeclarationType ClassMoodule.)
273
+ // It is not possible to directly access any declarations placed inside a User Form.
273
274
if ( originalDeclaration . DeclarationType != DeclarationType . ClassModule &&
274
- originalDeclaration . DeclarationType != DeclarationType . Document &&
275
+ originalDeclaration . DeclarationType != DeclarationType . Document &&
276
+ originalDeclaration . DeclarationType != DeclarationType . UserForm &&
275
277
originalDeclarationEnclosingType == ComponentType . UserForm )
276
278
{
277
279
return false ;
@@ -315,9 +317,11 @@ private static bool DeclarationInTheSameComponentCanBeShadowed(Declaration origi
315
317
if ( originalDeclaration . DeclarationType == DeclarationType . ProceduralModule ||
316
318
originalDeclaration . DeclarationType == DeclarationType . ClassModule ||
317
319
originalDeclaration . DeclarationType == DeclarationType . Document ||
320
+ originalDeclaration . DeclarationType == DeclarationType . UserForm ||
318
321
userDeclaration . DeclarationType == DeclarationType . ProceduralModule ||
319
322
userDeclaration . DeclarationType == DeclarationType . ClassModule ||
320
- userDeclaration . DeclarationType == DeclarationType . Document )
323
+ userDeclaration . DeclarationType == DeclarationType . Document ||
324
+ userDeclaration . DeclarationType == DeclarationType . UserForm )
321
325
{
322
326
return false ;
323
327
}
0 commit comments