@@ -197,7 +197,7 @@ private static bool DeclarationInReferencedProjectCanBeShadowed(Declaration orig
197
197
return false ;
198
198
}
199
199
200
- if ( userDeclaration . DeclarationType . HasFlag ( DeclarationType . ClassModule ) )
200
+ if ( userDeclaration . DeclarationType == DeclarationType . ClassModule || userDeclaration . DeclarationType == DeclarationType . Document )
201
201
{
202
202
switch ( userDeclarationEnclosingType )
203
203
{
@@ -208,7 +208,8 @@ private static bool DeclarationInReferencedProjectCanBeShadowed(Declaration orig
208
208
}
209
209
}
210
210
211
- if ( ! userDeclaration . DeclarationType . HasFlag ( DeclarationType . ClassModule ) )
211
+ if ( ( userDeclaration . DeclarationType != DeclarationType . ClassModule && userDeclaration . DeclarationType != DeclarationType . Document ) ||
212
+ ( userDeclarationEnclosingType != ComponentType . UserForm && userDeclarationEnclosingType != ComponentType . Document ) )
212
213
{
213
214
if ( ! ReferencedProjectTypeShadowingRelations [ originalDeclaration . DeclarationType ] . Contains ( userDeclaration . DeclarationType ) )
214
215
{
@@ -255,7 +256,6 @@ private static bool DeclarationInAnotherComponentCanBeShadowed(Declaration origi
255
256
// It is not possible to directly access any declarations placed inside a Class Module.
256
257
if ( originalDeclaration . DeclarationType != DeclarationType . ClassModule &&
257
258
originalDeclaration . DeclarationType != DeclarationType . Document &&
258
- originalDeclaration . DeclarationType != DeclarationType . UserForm &&
259
259
originalDeclarationEnclosingType == ComponentType . ClassModule )
260
260
{
261
261
return false ;
@@ -264,7 +264,6 @@ private static bool DeclarationInAnotherComponentCanBeShadowed(Declaration origi
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
266
originalDeclaration . DeclarationType != DeclarationType . Document &&
267
- originalDeclaration . DeclarationType != DeclarationType . UserForm &&
268
267
originalDeclarationEnclosingType == ComponentType . Document )
269
268
{
270
269
return false ;
@@ -273,7 +272,6 @@ private static bool DeclarationInAnotherComponentCanBeShadowed(Declaration origi
273
272
// It is not possible to directly access any declarations placed inside a User Form.
274
273
if ( originalDeclaration . DeclarationType != DeclarationType . ClassModule &&
275
274
originalDeclaration . DeclarationType != DeclarationType . Document &&
276
- originalDeclaration . DeclarationType != DeclarationType . UserForm &&
277
275
originalDeclarationEnclosingType == ComponentType . UserForm )
278
276
{
279
277
return false ;
@@ -314,14 +312,12 @@ private static bool DeclarationInAnotherComponentCanBeShadowed(Declaration origi
314
312
private static bool DeclarationInTheSameComponentCanBeShadowed ( Declaration originalDeclaration , Declaration userDeclaration )
315
313
{
316
314
// Shadowing the component containing the declaration is not a problem, because it is possible to directly access declarations inside that component
317
- if ( originalDeclaration . DeclarationType == DeclarationType . ProceduralModule ||
315
+ if ( originalDeclaration . DeclarationType == DeclarationType . ProceduralModule ||
318
316
originalDeclaration . DeclarationType == DeclarationType . ClassModule ||
319
317
originalDeclaration . DeclarationType == DeclarationType . Document ||
320
- originalDeclaration . DeclarationType == DeclarationType . UserForm ||
321
- userDeclaration . DeclarationType == DeclarationType . ProceduralModule ||
318
+ userDeclaration . DeclarationType == DeclarationType . ProceduralModule ||
322
319
userDeclaration . DeclarationType == DeclarationType . ClassModule ||
323
- userDeclaration . DeclarationType == DeclarationType . Document ||
324
- userDeclaration . DeclarationType == DeclarationType . UserForm )
320
+ userDeclaration . DeclarationType == DeclarationType . Document )
325
321
{
326
322
return false ;
327
323
}
0 commit comments