|
1 |
| -using System; |
2 |
| -using System.Collections.Generic; |
3 |
| -using System.Linq; |
4 |
| -using System.Threading; |
5 | 1 | using NUnit.Framework;
|
6 | 2 | using Rubberduck.InternalApi.Extensions;
|
| 3 | +using Rubberduck.Parsing.Annotations.Concrete; |
7 | 4 | using Rubberduck.Parsing.Symbols;
|
8 | 5 | using Rubberduck.Parsing.VBA;
|
9 |
| -using RubberduckTests.Mocks; |
10 |
| -using Rubberduck.Parsing.Annotations; |
11 |
| -using Rubberduck.Parsing.Annotations.Concrete; |
12 | 6 | using Rubberduck.VBEditor;
|
13 | 7 | using Rubberduck.VBEditor.SafeComWrappers;
|
14 | 8 | using Rubberduck.VBEditor.SafeComWrappers.Abstract;
|
| 9 | +using RubberduckTests.Mocks; |
| 10 | +using System; |
| 11 | +using System.Collections.Generic; |
| 12 | +using System.Linq; |
| 13 | +using System.Threading; |
15 | 14 |
|
16 | 15 | namespace RubberduckTests.Grammar
|
17 | 16 | {
|
@@ -120,6 +119,23 @@ End Sub
|
120 | 119 | }
|
121 | 120 | }
|
122 | 121 |
|
| 122 | + [Category("Resolver")] |
| 123 | + [Test] |
| 124 | + public void ParamArrayParameter_IsArray() |
| 125 | + { |
| 126 | + var code = @"Option Explicit |
| 127 | +
|
| 128 | +Public Sub Test(ParamArray Values) |
| 129 | +End Sub |
| 130 | +"; |
| 131 | + using (var state = Resolve(code)) |
| 132 | + { |
| 133 | + var declaration = state.AllUserDeclarations.Single(item => item.DeclarationType == DeclarationType.Parameter && item.IdentifierName == "Values") as ParameterDeclaration; |
| 134 | + Assert.IsTrue(declaration.IsParamArray); |
| 135 | + Assert.IsTrue(declaration.IsArray); |
| 136 | + } |
| 137 | + } |
| 138 | + |
123 | 139 | [Category("Resolver")]
|
124 | 140 | [Test]
|
125 | 141 | public void OptionalParameterDefaultConstValue_IsReferenceToDeclaredConst()
|
@@ -1017,7 +1033,7 @@ End Sub
|
1017 | 1033 | item.DeclarationType == DeclarationType.Variable
|
1018 | 1034 | && item.IdentifierName == "foo");
|
1019 | 1035 |
|
1020 |
| - Assert.AreEqual(1,declaration.References.Count(item => |
| 1036 | + Assert.AreEqual(1, declaration.References.Count(item => |
1021 | 1037 | item.ParentScoping.DeclarationType == DeclarationType.Procedure
|
1022 | 1038 | && item.ParentScoping.IdentifierName == "DoSomething"
|
1023 | 1039 | && item.IsAssignment));
|
@@ -2278,7 +2294,7 @@ End Sub
|
2278 | 2294 | var printReference = printDeclaration.References.Single();
|
2279 | 2295 |
|
2280 | 2296 | var module = state.DeclarationFinder.AllModules.Single(qmn => qmn.ComponentType == ComponentType.ClassModule);
|
2281 |
| - var expectedPrintSelection = new QualifiedSelection(module, new Selection(4, 5,4, 10)); |
| 2297 | + var expectedPrintSelection = new QualifiedSelection(module, new Selection(4, 5, 4, 10)); |
2282 | 2298 | var actualPrintSelection = new QualifiedSelection(printReference.QualifiedModuleName, printReference.Selection);
|
2283 | 2299 |
|
2284 | 2300 | Assert.AreEqual(4, referencedDeclaration.References.Count());
|
@@ -3632,7 +3648,7 @@ End Function
|
3632 | 3648 |
|
3633 | 3649 | Assert.AreEqual(expectedReferencedDeclarationName, actualReferencedDeclarationName);
|
3634 | 3650 | Assert.IsTrue(reference.IsIndexedDefaultMemberAccess);
|
3635 |
| - Assert.AreEqual(2,reference.DefaultMemberRecursionDepth); |
| 3651 | + Assert.AreEqual(2, reference.DefaultMemberRecursionDepth); |
3636 | 3652 | }
|
3637 | 3653 | }
|
3638 | 3654 |
|
@@ -3832,7 +3848,7 @@ End Function
|
3832 | 3848 | {
|
3833 | 3849 | var module = state.DeclarationFinder.AllModules.First(qmn => qmn.ComponentName == "Module1");
|
3834 | 3850 | var defaultMemberAccess = state.DeclarationFinder.UnboundDefaultMemberAccesses(module).First();
|
3835 |
| - |
| 3851 | + |
3836 | 3852 | var expectedReferencedSelection = new QualifiedSelection(module, selection);
|
3837 | 3853 | var actualReferencedSelection = new QualifiedSelection(defaultMemberAccess.QualifiedModuleName, defaultMemberAccess.Selection);
|
3838 | 3854 |
|
@@ -5703,7 +5719,7 @@ End Function
|
5703 | 5719 | .Single(param => param.IdentifierName.Equals("furtherArgs"));
|
5704 | 5720 | var argumentReferences = parameter.ArgumentReferences;
|
5705 | 5721 |
|
5706 |
| - var expectedExpressionTexts = new HashSet<string>{"4", "5", "6"}; |
| 5722 | + var expectedExpressionTexts = new HashSet<string> { "4", "5", "6" }; |
5707 | 5723 | var actualExpressionTexts = argumentReferences.Select(reference => reference.Context.GetText()).ToList();
|
5708 | 5724 |
|
5709 | 5725 | var expectedCount = expectedExpressionTexts.Count;
|
@@ -7334,7 +7350,7 @@ End Sub
|
7334 | 7350 | var undeclared = finder.Members(module.QualifiedModuleName)
|
7335 | 7351 | .Where(declaration => declaration.IsUndeclared)
|
7336 | 7352 | .ToList();
|
7337 |
| - |
| 7353 | + |
7338 | 7354 | Assert.AreEqual(4, undeclared.Count);
|
7339 | 7355 | }
|
7340 | 7356 | }
|
@@ -7402,7 +7418,7 @@ End Sub
|
7402 | 7418 | using (var state = Resolve(vbe.Object))
|
7403 | 7419 | {
|
7404 | 7420 | var finder = state.DeclarationFinder;
|
7405 |
| - |
| 7421 | + |
7406 | 7422 | var classModule = finder.UserDeclarations(DeclarationType.ClassModule).Single();
|
7407 | 7423 | var barDeclaration = finder.Members(classModule.QualifiedModuleName, DeclarationType.Function).Single();
|
7408 | 7424 | var barReference = barDeclaration.References.Single();
|
|
0 commit comments