Skip to content

Commit ab35462

Browse files
committed
Moved magic string delimeters to separate files.
1 parent 4e83fe5 commit ab35462

File tree

5 files changed

+67
-8
lines changed

5 files changed

+67
-8
lines changed

src/SourceBrowser.Generator/DocumentWalkers/CSWalker.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,23 @@ public Token ProcessSymbolUsage(SyntaxToken token, ISymbol symbol, bool isDeclar
168168

169169
private string GetSymbolName(ISymbol symbol)
170170
{
171-
if (symbol.Kind == SymbolKind.Parameter || symbol.Kind == SymbolKind.Local)
171+
string fullyQualifiedName;
172+
if (symbol.Kind == SymbolKind.Parameter)
172173
{
173174
var containingName = symbol.ContainingSymbol.ToString();
174-
var name = containingName + "::" + symbol.Name;
175-
return name;
175+
fullyQualifiedName = containingName + CSharpDelimiters.PARAMETER + symbol.Name;
176+
}
177+
else if (symbol.Kind == SymbolKind.Local)
178+
{
179+
var containingName = symbol.ContainingSymbol.ToString();
180+
fullyQualifiedName = containingName + CSharpDelimiters.LOCAL_VARIABLE + symbol.Name;
176181
}
177182
else
178183
{
179-
return symbol.ToString();
184+
fullyQualifiedName = symbol.ToString();
180185
}
186+
187+
return fullyQualifiedName;
181188
}
182189

183190
public Token ProcessIdentifier(SyntaxToken token)

src/SourceBrowser.Generator/DocumentWalkers/VBWalker.cs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -168,16 +168,23 @@ public Token ProcessSymbolUsage(SyntaxToken token, ISymbol symbol, bool isDeclar
168168

169169
private string GetSymbolName(ISymbol symbol)
170170
{
171-
if (symbol.Kind == SymbolKind.Parameter || symbol.Kind == SymbolKind.Local)
171+
string fullyQualifiedName;
172+
if (symbol.Kind == SymbolKind.Parameter)
172173
{
173174
var containingName = symbol.ContainingSymbol.ToString();
174-
var name = containingName + "::" + symbol.Name;
175-
return name;
175+
fullyQualifiedName = containingName + VBDelimiters.PARAMETER + symbol.Name;
176+
}
177+
else if (symbol.Kind == SymbolKind.Local)
178+
{
179+
var containingName = symbol.ContainingSymbol.ToString();
180+
fullyQualifiedName = containingName + VBDelimiters.LOCAL_VARIABLE + symbol.Name;
176181
}
177182
else
178183
{
179-
return symbol.ToString();
184+
fullyQualifiedName = symbol.ToString();
180185
}
186+
187+
return fullyQualifiedName;
181188
}
182189

183190
public Token ProcessIdentifier(SyntaxToken token)
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace SourceBrowser.Generator.Model.CSharp
8+
{
9+
/// <summary>
10+
/// Fully qualified names do not contain enough information to differentiate
11+
/// between some symbols. Occasionally we must extend C#'s fully qualified names
12+
/// to refer to certain symbols.
13+
///
14+
/// Examples: Local variables, parameters, static constructors etc.
15+
/// </summary>
16+
public static class CSharpDelimiters
17+
{
18+
public const string LOCAL_VARIABLE = "::";
19+
public const string PARAMETER = "::";
20+
}
21+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Linq;
4+
using System.Text;
5+
using System.Threading.Tasks;
6+
7+
namespace SourceBrowser.Generator.Model.VisualBasic
8+
{
9+
/// <summary>
10+
/// Fully qualified names do not contain enough information to differentiate
11+
/// between some symbols. Occasionally we must extend VB's fully qualified names
12+
/// to refer to certain symbols.
13+
///
14+
/// Examples: Local variables, parameters, static constructors etc.
15+
/// </summary>
16+
public static class VBDelimiters
17+
{
18+
public const string LOCAL_VARIABLE = "::";
19+
public const string PARAMETER = "::";
20+
}
21+
22+
}

src/SourceBrowser.Generator/SourceBrowser.Generator.csproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@
9292
<Compile Include="DocumentWalkers\CSWalker.cs" />
9393
<Compile Include="Extensions\SymbolExtensions.cs" />
9494
<Compile Include="Hacks\DependencyHacks.cs" />
95+
<Compile Include="Model\CSharp\CSharpDelimiters.cs" />
96+
<Compile Include="Model\VisualBasic\VBDelimiters.cs" />
9597
<Compile Include="Model\VisualBasic\VisualBasicTokenTypes.cs" />
9698
<Compile Include="Model\CSharp\CSharpTokenTypes.cs" />
9799
<Compile Include="Model\DocumentModel.cs" />

0 commit comments

Comments
 (0)