Skip to content

Commit 91ffec0

Browse files
author
Andrin Meier
committed
implement simple name expression binding under type binding context (#1348)
1 parent 49cbc78 commit 91ffec0

36 files changed

+217
-196
lines changed

RetailCoder.VBE/App.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,12 +215,12 @@ private void RegisterComponentsEventSink(DispatcherEventArgs<VBProject> e, VBPro
215215
componentsSink.ComponentRemoved += sink_ComponentRemoved;
216216
componentsSink.ComponentRenamed += sink_ComponentRenamed;
217217
componentsSink.ComponentSelected += sink_ComponentSelected;
218-
_componentsEventSinks.Add(sink, componentsSink);
218+
//_componentsEventSinks.Add(sink, componentsSink);
219219

220-
int cookie;
221-
connectionPoint.Advise(componentsSink, out cookie);
220+
//int cookie;
221+
//connectionPoint.Advise(componentsSink, out cookie);
222222

223-
_componentsEventsConnectionPoints.Add(sink, Tuple.Create(connectionPoint, cookie));
223+
//_componentsEventsConnectionPoints.Add(sink, Tuple.Create(connectionPoint, cookie));
224224
}
225225

226226
async void sink_ComponentSelected(object sender, DispatcherEventArgs<VBComponent> e)

RetailCoder.VBE/Common/DeclarationExtensions.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ public static IEnumerable<Declaration> InScope(this IEnumerable<Declaration> dec
190190

191191
public static IEnumerable<Declaration> FindInterfaces(this IEnumerable<Declaration> declarations)
192192
{
193-
var classes = declarations.Where(item => item.DeclarationType == DeclarationType.Class);
193+
var classes = declarations.Where(item => item.DeclarationType == DeclarationType.ClassModule);
194194
var interfaces = classes.Where(item => item.References.Any(reference =>
195195
reference.Context.Parent is VBAParser.ImplementsStmtContext));
196196

@@ -278,7 +278,7 @@ public static IEnumerable<Declaration> FindFormEventHandlers(this IEnumerable<De
278278
{
279279
var items = declarations.ToList();
280280

281-
var forms = items.Where(item => item.DeclarationType == DeclarationType.Class
281+
var forms = items.Where(item => item.DeclarationType == DeclarationType.ClassModule
282282
&& item.QualifiedName.QualifiedModuleName.Component != null
283283
&& item.QualifiedName.QualifiedModuleName.Component.Type == vbext_ComponentType.vbext_ct_MSForm)
284284
.ToList();
@@ -317,7 +317,7 @@ public static IEnumerable<Tuple<Declaration,Declaration>> FindHandlersForEvent(t
317317
.Select(item => new
318318
{
319319
WithEventDeclaration = item,
320-
EventProvider = items.SingleOrDefault(type => type.DeclarationType == DeclarationType.Class && type.QualifiedName.QualifiedModuleName == item.QualifiedName.QualifiedModuleName)
320+
EventProvider = items.SingleOrDefault(type => type.DeclarationType == DeclarationType.ClassModule && type.QualifiedName.QualifiedModuleName == item.QualifiedName.QualifiedModuleName)
321321
})
322322
.Select(item => new
323323
{
@@ -340,7 +340,7 @@ public static IEnumerable<Declaration> FindEventProcedures(this IEnumerable<Decl
340340
}
341341

342342
var items = declarations as IList<Declaration> ?? declarations.ToList();
343-
var type = items.SingleOrDefault(item => item.DeclarationType == DeclarationType.Class
343+
var type = items.SingleOrDefault(item => item.DeclarationType == DeclarationType.ClassModule
344344
&& item.Project != null
345345
&& item.IdentifierName == withEventsDeclaration.AsTypeName.Split('.').Last());
346346

RetailCoder.VBE/Common/DeclarationIconCache.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@ public static BitmapImage ComponentIcon(vbext_ComponentType componentType)
3535
switch (componentType)
3636
{
3737
case vbext_ComponentType.vbext_ct_StdModule:
38-
key = Tuple.Create(DeclarationType.Module, Accessibility.Public);
38+
key = Tuple.Create(DeclarationType.ProceduralModule, Accessibility.Public);
3939
break;
4040
case vbext_ComponentType.vbext_ct_ClassModule:
41-
key = Tuple.Create(DeclarationType.Class, Accessibility.Public);
41+
key = Tuple.Create(DeclarationType.ClassModule, Accessibility.Public);
4242
break;
4343
case vbext_ComponentType.vbext_ct_Document:
4444
key = Tuple.Create(DeclarationType.Document, Accessibility.Public);
@@ -61,19 +61,19 @@ private static Uri GetIconUri(DeclarationType declarationType, Accessibility acc
6161
string path;
6262
switch (declarationType)
6363
{
64-
case DeclarationType.Module:
64+
case DeclarationType.ProceduralModule:
6565
path = "VSObject_Module.png";
6666
break;
6767

68-
case DeclarationType.Document | DeclarationType.Class:
68+
case DeclarationType.Document | DeclarationType.ClassModule:
6969
path = "document.png";
7070
break;
7171

72-
case DeclarationType.UserForm | DeclarationType.Class | DeclarationType.Control:
72+
case DeclarationType.UserForm | DeclarationType.ClassModule | DeclarationType.Control:
7373
path = "VSProject_Form.png";
7474
break;
7575

76-
case DeclarationType.Class | DeclarationType.Module:
76+
case DeclarationType.ClassModule | DeclarationType.ProceduralModule:
7777
path = "VSProject_Class.png";
7878
break;
7979

RetailCoder.VBE/Inspections/MoveFieldCloserToUsageInspection.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
2828
{
2929

3030
if (declaration.DeclarationType != DeclarationType.Variable ||
31-
!new[] {DeclarationType.Class, DeclarationType.Module}.Contains(declaration.ParentDeclaration.DeclarationType))
31+
!new[] {DeclarationType.ClassModule, DeclarationType.ProceduralModule}.Contains(declaration.ParentDeclaration.DeclarationType))
3232
{
3333
return false;
3434
}

RetailCoder.VBE/Inspections/MultipleFolderAnnotationsInspection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public MultipleFolderAnnotationsInspection(RubberduckParserState state)
2020
public override IEnumerable<InspectionResultBase> GetInspectionResults()
2121
{
2222
var issues = UserDeclarations.Where(declaration =>
23-
(declaration.DeclarationType == DeclarationType.Class
24-
|| declaration.DeclarationType == DeclarationType.Module)
23+
(declaration.DeclarationType == DeclarationType.ClassModule
24+
|| declaration.DeclarationType == DeclarationType.ProceduralModule)
2525
&& declaration.Annotations.Count(annotation => annotation.AnnotationType == AnnotationType.Folder) > 1);
2626
return issues.Select(issue =>
2727
new MultipleFolderAnnotationsInspectionResult(this, issue));

RetailCoder.VBE/Inspections/OptionExplicitInspection.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ public OptionExplicitInspection(RubberduckParserState state)
1919

2020
private static readonly DeclarationType[] ModuleTypes =
2121
{
22-
DeclarationType.Module,
23-
DeclarationType.Class
22+
DeclarationType.ProceduralModule,
23+
DeclarationType.ClassModule
2424
};
2525

2626
public override IEnumerable<InspectionResultBase> GetInspectionResults()

RetailCoder.VBE/Inspections/ProcedureNotUsedInspection.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,16 @@ public override IEnumerable<InspectionResultBase> GetInspectionResults()
2424
{
2525
var declarations = UserDeclarations.ToList();
2626

27-
var classes = declarations.Where(item => item.DeclarationType == DeclarationType.Class).ToList();
28-
var modules = declarations.Where(item => item.DeclarationType == DeclarationType.Module).ToList();
27+
var classes = declarations.Where(item => item.DeclarationType == DeclarationType.ClassModule).ToList();
28+
var modules = declarations.Where(item => item.DeclarationType == DeclarationType.ProceduralModule).ToList();
2929

3030
var handlers = declarations.Where(item => item.DeclarationType == DeclarationType.Control)
3131
.SelectMany(control => declarations.FindEventHandlers(control)).ToList();
3232

3333
var withEventFields = declarations.Where(item => item.DeclarationType == DeclarationType.Variable && item.IsWithEvents);
3434
handlers.AddRange(withEventFields.SelectMany(field => declarations.FindEventProcedures(field)));
3535

36-
var forms = declarations.Where(item => item.DeclarationType == DeclarationType.Class
36+
var forms = declarations.Where(item => item.DeclarationType == DeclarationType.ClassModule
3737
&& item.QualifiedName.QualifiedModuleName.Component.Type == vbext_ComponentType.vbext_ct_MSForm)
3838
.ToList();
3939

RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerComponentViewModel.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public bool IsTestModule
5151
{
5252
get
5353
{
54-
return _declaration.DeclarationType == DeclarationType.Module
54+
return _declaration.DeclarationType == DeclarationType.ProceduralModule
5555
&& _declaration.Annotations.Any(annotation => annotation.AnnotationType == AnnotationType.TestModule);
5656
}
5757
}
@@ -64,8 +64,8 @@ public bool IsTestModule
6464

6565
private static readonly IDictionary<vbext_ComponentType, DeclarationType> DeclarationTypes = new Dictionary<vbext_ComponentType, DeclarationType>
6666
{
67-
{ vbext_ComponentType.vbext_ct_ClassModule, DeclarationType.Class },
68-
{ vbext_ComponentType.vbext_ct_StdModule, DeclarationType.Module },
67+
{ vbext_ComponentType.vbext_ct_ClassModule, DeclarationType.ClassModule },
68+
{ vbext_ComponentType.vbext_ct_StdModule, DeclarationType.ProceduralModule },
6969
{ vbext_ComponentType.vbext_ct_Document, DeclarationType.Document },
7070
{ vbext_ComponentType.vbext_ct_MSForm, DeclarationType.UserForm }
7171
};
@@ -74,7 +74,7 @@ private DeclarationType DeclarationType
7474
{
7575
get
7676
{
77-
var result = DeclarationType.Class;
77+
var result = DeclarationType.ClassModule;
7878
try
7979
{
8080
DeclarationTypes.TryGetValue(ComponentType, out result);
@@ -89,8 +89,8 @@ private DeclarationType DeclarationType
8989

9090
private static readonly IDictionary<DeclarationType,BitmapImage> Icons = new Dictionary<DeclarationType, BitmapImage>
9191
{
92-
{ DeclarationType.Class, GetImageSource(resx.VSObject_Class) },
93-
{ DeclarationType.Module, GetImageSource(resx.VSObject_Module) },
92+
{ DeclarationType.ClassModule, GetImageSource(resx.VSObject_Class) },
93+
{ DeclarationType.ProceduralModule, GetImageSource(resx.VSObject_Module) },
9494
{ DeclarationType.UserForm, GetImageSource(resx.VSProject_form) },
9595
{ DeclarationType.Document, GetImageSource(resx.document_office) }
9696
};

RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerCustomFolderViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ public class CodeExplorerCustomFolderViewModel : CodeExplorerItemViewModel
1313
private readonly string _name;
1414
private static readonly DeclarationType[] ComponentTypes =
1515
{
16-
DeclarationType.Class,
16+
DeclarationType.ClassModule,
1717
DeclarationType.Document,
18-
DeclarationType.Module,
18+
DeclarationType.ProceduralModule,
1919
DeclarationType.UserForm,
2020
};
2121

RetailCoder.VBE/Navigation/CodeExplorer/CodeExplorerProjectViewModel.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ public class CodeExplorerProjectViewModel : CodeExplorerItemViewModel
1616

1717
private static readonly DeclarationType[] ComponentTypes =
1818
{
19-
DeclarationType.Class,
19+
DeclarationType.ClassModule,
2020
DeclarationType.Document,
21-
DeclarationType.Module,
21+
DeclarationType.ProceduralModule,
2222
DeclarationType.UserForm,
2323
};
2424

0 commit comments

Comments
 (0)