Skip to content

Commit 461d942

Browse files
Be explicit about which language things are from but tweak global usings for brevity in this one case
1 parent c61c6e7 commit 461d942

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

CodeConverter/CSharp/CommentConvertingVisitorWrapper.cs

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,26 @@
1-
using Microsoft.CodeAnalysis.CSharp;
2-
using Microsoft.CodeAnalysis.Text;
3-
using Microsoft.CodeAnalysis.VisualBasic;
1+
using Microsoft.CodeAnalysis.Text;
42

53
namespace ICSharpCode.CodeConverter.CSharp;
64

75
[System.Diagnostics.DebuggerStepThrough]
86
internal class CommentConvertingVisitorWrapper
97
{
10-
private readonly VBasic.VisualBasicSyntaxVisitor<Task<CS.CSharpSyntaxNode>> _wrappedVisitor;
8+
private readonly VBasic.VisualBasicSyntaxVisitor<Task<CSharpSyntaxNode>> _wrappedVisitor;
119
private readonly SyntaxTree _syntaxTree;
1210
private static readonly CSSyntax.LiteralExpressionSyntax _dummyLiteral = ValidSyntaxFactory.DefaultExpression;
1311
private static readonly CSSyntax.StatementSyntax _dummyStatement = CS.SyntaxFactory.EmptyStatement();
1412
private static readonly CSSyntax.CompilationUnitSyntax _dummyCompilationUnit = CS.SyntaxFactory.CompilationUnit();
1513

16-
public CommentConvertingVisitorWrapper(VisualBasicSyntaxVisitor<Task<CSharpSyntaxNode>> wrappedVisitor, SyntaxTree syntaxTree)
14+
public CommentConvertingVisitorWrapper(VBasic.VisualBasicSyntaxVisitor<Task<CSharpSyntaxNode>> wrappedVisitor, SyntaxTree syntaxTree)
1715
{
1816
_wrappedVisitor = wrappedVisitor;
1917
_syntaxTree = syntaxTree;
2018
}
2119

22-
public async Task<T> AcceptAsync<T>(VisualBasicSyntaxNode vbNode, SourceTriviaMapKind sourceTriviaMap) where T : CS.CSharpSyntaxNode =>
20+
public async Task<T> AcceptAsync<T>(VisualBasicSyntaxNode vbNode, SourceTriviaMapKind sourceTriviaMap) where T : CSharpSyntaxNode =>
2321
await ConvertHandledAsync<T>(vbNode, sourceTriviaMap);
2422

25-
public async Task<SeparatedSyntaxList<TOut>> AcceptAsync<TIn, TOut>(SeparatedSyntaxList<TIn> vbNodes, SourceTriviaMapKind sourceTriviaMap) where TIn : VBasic.VisualBasicSyntaxNode where TOut : CS.CSharpSyntaxNode
23+
public async Task<SeparatedSyntaxList<TOut>> AcceptAsync<TIn, TOut>(SeparatedSyntaxList<TIn> vbNodes, SourceTriviaMapKind sourceTriviaMap) where TIn : VisualBasicSyntaxNode where TOut : CSharpSyntaxNode
2624
{
2725
var convertedNodes = await vbNodes.SelectAsync(n => ConvertHandledAsync<TOut>(n, sourceTriviaMap));
2826
var convertedSeparators = vbNodes.GetSeparators().Select(s =>
@@ -33,7 +31,7 @@ public async Task<SeparatedSyntaxList<TOut>> AcceptAsync<TIn, TOut>(SeparatedSyn
3331
return CS.SyntaxFactory.SeparatedList(convertedNodes, convertedSeparators);
3432
}
3533

36-
private async Task<T> ConvertHandledAsync<T>(VisualBasicSyntaxNode vbNode, SourceTriviaMapKind sourceTriviaMap) where T : CS.CSharpSyntaxNode
34+
private async Task<T> ConvertHandledAsync<T>(VisualBasicSyntaxNode vbNode, SourceTriviaMapKind sourceTriviaMap) where T : CSharpSyntaxNode
3735
{
3836
try {
3937
var converted = (T)await _wrappedVisitor.Visit(vbNode);
@@ -56,7 +54,7 @@ private async Task<T> ConvertHandledAsync<T>(VisualBasicSyntaxNode vbNode, Sourc
5654
/// <remarks>
5755
/// If lots of special cases, move to wrapping the wrappedVisitor in another visitor, but I'd rather use a simple switch here initially.
5856
/// </remarks>
59-
private static T WithSourceMapping<T>(SyntaxNode vbNode, T converted) where T : CS.CSharpSyntaxNode
57+
private static T WithSourceMapping<T>(SyntaxNode vbNode, T converted) where T : CSharpSyntaxNode
6058
{
6159
converted = vbNode.CopyAnnotationsTo(converted);
6260
switch (vbNode) {

CodeConverter/GlobalUsings.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1-
global using VBasic = Microsoft.CodeAnalysis.VisualBasic;
1+
global using Microsoft.CodeAnalysis;
2+
global using ICSharpCode.CodeConverter.Util;
3+
global using ICSharpCode.CodeConverter.Common;
4+
5+
// Since so many names clash between CS and VB, it's best to use these aliases to be clear which one is meant
6+
global using VBasic = Microsoft.CodeAnalysis.VisualBasic;
27
global using CS = Microsoft.CodeAnalysis.CSharp;
38
global using VBSyntax = Microsoft.CodeAnalysis.VisualBasic.Syntax;
49
global using CSSyntax = Microsoft.CodeAnalysis.CSharp.Syntax;
5-
global using ICSharpCode.CodeConverter.Common;
6-
global using Microsoft.CodeAnalysis;
7-
global using ICSharpCode.CodeConverter.Util;
10+
11+
// For common unambiguous names, no need to qualify
12+
global using VisualBasicSyntaxNode = Microsoft.CodeAnalysis.VisualBasic.VisualBasicSyntaxNode;
13+
global using CSharpSyntaxNode = Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode;

0 commit comments

Comments
 (0)