Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit fe7e90e

Browse files
committed
C#: Remove the tuples from the C# extractor.
1 parent 486c192 commit fe7e90e

54 files changed

Lines changed: 686 additions & 443 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

csharp/extractor/Semmle.Extraction.CSharp/Entities/Accessor.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Microsoft.CodeAnalysis;
2+
using System.IO;
23
using System.Linq;
34

45
namespace Semmle.Extraction.CSharp.Entities
@@ -30,10 +31,10 @@ IPropertySymbol PropertySymbol
3031

3132
public new Accessor OriginalDefinition => Create(Context, symbol.OriginalDefinition);
3233

33-
public override void Populate(System.IO.TextWriter trapFile)
34+
public override void Populate(TextWriter trapFile)
3435
{
3536
PopulateMethod(trapFile);
36-
ExtractModifiers();
37+
ExtractModifiers(trapFile);
3738
ContainingType.ExtractGenerics();
3839

3940
var prop = PropertySymbol;
@@ -62,16 +63,16 @@ public override void Populate(System.IO.TextWriter trapFile)
6263
return;
6364
}
6465

65-
trapFile.Emit(Tuples.accessors(this, kind, symbol.Name, parent, unboundAccessor));
66+
trapFile.accessors(this, kind, symbol.Name, parent, unboundAccessor);
6667

6768
foreach (var l in Locations)
68-
trapFile.Emit(Tuples.accessor_location(this, l));
69+
trapFile.accessor_location(this, l);
6970

7071
Overrides(trapFile);
7172

7273
if (symbol.FromSource() && Block == null)
7374
{
74-
trapFile.Emit(Tuples.compiler_generated(this));
75+
trapFile.compiler_generated(this);
7576
}
7677
}
7778

csharp/extractor/Semmle.Extraction.CSharp/Entities/Attribute.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@ public Attribute(Context cx, AttributeSyntax attribute, IEntity entity)
4646
void ExtractAttribute(System.IO.TextWriter trapFile, AttributeSyntax syntax, ITypeSymbol attributeClass, IEntity entity)
4747
{
4848
var type = Type.Create(cx, attributeClass);
49-
trapFile.Emit(Tuples.attributes(this, type.TypeRef, entity));
49+
trapFile.attributes(this, type.TypeRef, entity);
5050

51-
trapFile.Emit(Tuples.attribute_location(this, cx.Create(syntax.Name.GetLocation())));
51+
trapFile.attribute_location(this, cx.Create(syntax.Name.GetLocation()));
5252

5353
if (cx.Extractor.OutputPath != null)
54-
trapFile.Emit(Tuples.attribute_location(this, Assembly.CreateOutputAssembly(cx)));
54+
trapFile.attribute_location(this, Assembly.CreateOutputAssembly(cx));
5555

5656
TypeMention.Create(cx, syntax.Name, this, type);
5757

@@ -65,7 +65,7 @@ void ExtractAttribute(System.IO.TextWriter trapFile, AttributeSyntax syntax, ITy
6565
var expr = Expression.Create(cx, arg.Expression, this, child++);
6666
if (!(arg.NameEquals is null))
6767
{
68-
trapFile.Emit(Tuples.expr_argument_name(expr, arg.NameEquals.Name.Identifier.Text));
68+
trapFile.expr_argument_name(expr, arg.NameEquals.Name.Identifier.Text);
6969
}
7070
}
7171
});

csharp/extractor/Semmle.Extraction.CSharp/Entities/CommentBlock.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ class CommentBlock : CachedEntity<ICommentBlock>
1111

1212
public override void Populate(TextWriter trapFile)
1313
{
14-
trapFile.Emit(Tuples.commentblock(this));
14+
trapFile.commentblock(this);
1515
int child = 0;
16-
trapFile.Emit(Tuples.commentblock_location(this, Context.Create(symbol.Location)));
16+
trapFile.commentblock_location(this, Context.Create(symbol.Location));
1717
foreach (var l in symbol.CommentLines)
1818
{
19-
trapFile.Emit(Tuples.commentblock_child(this, (CommentLine)l, child++));
19+
trapFile.commentblock_child(this, (CommentLine)l, child++);
2020
}
2121
}
2222

@@ -32,7 +32,7 @@ public override void WriteId(TextWriter tw)
3232

3333
public void BindTo(Label entity, CommentBinding binding)
3434
{
35-
Context.TrapWriter.Writer.Emit(Tuples.commentblock_binding(this, entity, binding));
35+
Context.TrapWriter.Writer.commentblock_binding(this, entity, binding);
3636
}
3737

3838
public static CommentBlock Create(Context cx, ICommentBlock block) => CommentBlockFactory.Instance.CreateEntity(cx, block);

csharp/extractor/Semmle.Extraction.CSharp/Entities/CommentLine.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,8 @@ So we split it into separate lines
115115
public override void Populate(TextWriter trapFile)
116116
{
117117
location = Context.Create(Location);
118-
trapFile.Emit(Tuples.commentline(this, Type == CommentLineType.MultilineContinuation ? CommentLineType.Multiline : Type, Text, RawText));
119-
trapFile.Emit(Tuples.commentline_location(this, location));
118+
trapFile.commentline(this, Type == CommentLineType.MultilineContinuation ? CommentLineType.Multiline : Type, Text, RawText);
119+
trapFile.commentline_location(this, location);
120120
}
121121

122122
public override Microsoft.CodeAnalysis.Location ReportingLocation => location.symbol;

csharp/extractor/Semmle.Extraction.CSharp/Entities/Compilation.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,34 +22,34 @@ protected override void Populate(TextWriter trapFile)
2222
{
2323
Extraction.Entities.Assembly.CreateOutputAssembly(cx);
2424

25-
trapFile.Emit(Tuples.compilations(this, Extraction.Entities.File.PathAsDatabaseString(cwd)));
25+
trapFile.compilations(this, Extraction.Entities.File.PathAsDatabaseString(cwd));
2626

2727
// Arguments
2828
int index = 0;
2929
foreach(var arg in args)
3030
{
31-
trapFile.Emit(Tuples.compilation_args(this, index++, arg));
31+
trapFile.compilation_args(this, index++, arg);
3232
}
3333

3434
// Files
3535
index = 0;
3636
foreach(var file in cx.Compilation.SyntaxTrees.Select(tree => Extraction.Entities.File.Create(cx, tree.FilePath)))
3737
{
38-
trapFile.Emit(Tuples.compilation_compiling_files(this, index++, file));
38+
trapFile.compilation_compiling_files(this, index++, file);
3939
}
4040

4141
// References
4242
index = 0;
4343
foreach(var file in cx.Compilation.References.OfType<PortableExecutableReference>().Select(r => Extraction.Entities.File.Create(cx, r.FilePath)))
4444
{
45-
trapFile.Emit(Tuples.compilation_referencing_files(this, index++, file));
45+
trapFile.compilation_referencing_files(this, index++, file);
4646
}
4747

4848
// Diagnostics
4949
index = 0;
5050
foreach(var diag in cx.Compilation.GetDiagnostics().Select(d => new Diagnostic(cx, d)))
5151
{
52-
trapFile.Emit(Tuples.diagnostic_for(diag, this, 0, index++));
52+
trapFile.diagnostic_for(diag, this, 0, index++);
5353
}
5454
}
5555

@@ -59,9 +59,9 @@ public void PopulatePerformance(PerformanceMetrics p)
5959
int index = 0;
6060
foreach(float metric in p.Metrics)
6161
{
62-
trapFile.Emit(Tuples.compilation_time(this, -1, index++, metric));
62+
trapFile.compilation_time(this, -1, index++, metric);
6363
}
64-
trapFile.Emit(Tuples.compilation_finished(this, (float)p.Total.Cpu.TotalSeconds, (float)p.Total.Elapsed.TotalSeconds));
64+
trapFile.compilation_finished(this, (float)p.Total.Cpu.TotalSeconds, (float)p.Total.Elapsed.TotalSeconds);
6565
}
6666

6767
public override TrapStackBehaviour TrapStackBehaviour => TrapStackBehaviour.NoLabel;
@@ -81,8 +81,8 @@ public Diagnostic(Context cx, Microsoft.CodeAnalysis.Diagnostic diag) : base(cx)
8181

8282
protected override void Populate(TextWriter trapFile)
8383
{
84-
trapFile.Emit(Tuples.diagnostics(this, (int)diagnostic.Severity, diagnostic.Id, diagnostic.Descriptor.Title.ToString(),
85-
diagnostic.GetMessage(), Extraction.Entities.Location.Create(cx, diagnostic.Location)));
84+
trapFile.diagnostics(this, (int)diagnostic.Severity, diagnostic.Id, diagnostic.Descriptor.Title.ToString(),
85+
diagnostic.GetMessage(), Extraction.Entities.Location.Create(cx, diagnostic.Location));
8686
}
8787
}
8888

csharp/extractor/Semmle.Extraction.CSharp/Entities/Constructor.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,16 @@ public class Constructor : Method
1717
public override void Populate(TextWriter trapFile)
1818
{
1919
PopulateMethod(trapFile);
20-
ExtractModifiers();
20+
ExtractModifiers(trapFile);
2121
ContainingType.ExtractGenerics();
2222

23-
trapFile.Emit(Tuples.constructors(this, symbol.ContainingType.Name, ContainingType, (Constructor)OriginalDefinition));
24-
trapFile.Emit(Tuples.constructor_location(this, Location));
23+
trapFile.constructors(this, symbol.ContainingType.Name, ContainingType, (Constructor)OriginalDefinition);
24+
trapFile.constructor_location(this, Location);
2525

2626
if (symbol.IsImplicitlyDeclared)
2727
{
2828
var lineCounts = new LineCounts() { Total = 2, Code = 1, Comment = 0 };
29-
trapFile.Emit(Tuples.numlines(this, lineCounts));
29+
trapFile.numlines(this, lineCounts);
3030
}
3131
ExtractCompilerGenerated(trapFile);
3232
}
@@ -76,7 +76,7 @@ protected override void ExtractInitializers(TextWriter trapFile)
7676
return;
7777
}
7878

79-
trapFile.Emit(Tuples.expr_call(init, target));
79+
trapFile.expr_call(init, target);
8080

8181
int child = 0;
8282
foreach (var arg in initializer.ArgumentList.Arguments)

csharp/extractor/Semmle.Extraction.CSharp/Entities/Destructor.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,11 @@ class Destructor : Method
1111
public override void Populate(TextWriter trapFile)
1212
{
1313
PopulateMethod(trapFile);
14-
ExtractModifiers();
14+
ExtractModifiers(trapFile);
1515
ContainingType.ExtractGenerics();
1616

17-
trapFile.Emit(Tuples.destructors(this, string.Format("~{0}", symbol.ContainingType.Name), ContainingType, OriginalDefinition(Context, this, symbol)));
18-
trapFile.Emit(Tuples.destructor_location(this, Location));
17+
trapFile.destructors(this, string.Format("~{0}", symbol.ContainingType.Name), ContainingType, OriginalDefinition(Context, this, symbol));
18+
trapFile.destructor_location(this, Location);
1919
}
2020

2121
static new Destructor OriginalDefinition(Context cx, Destructor original, IMethodSymbol symbol)

csharp/extractor/Semmle.Extraction.CSharp/Entities/Event.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public override void Populate(TextWriter trapFile)
2424
ExtractNullability(trapFile, symbol.NullableAnnotation);
2525

2626
var type = Type.Create(Context, symbol.Type);
27-
Context.Emit(Tuples.events(this, symbol.GetName(), ContainingType, type.TypeRef, Create(Context, symbol.OriginalDefinition)));
27+
trapFile.events(this, symbol.GetName(), ContainingType, type.TypeRef, Create(Context, symbol.OriginalDefinition));
2828

2929
var adder = symbol.AddMethod;
3030
var remover = symbol.RemoveMethod;
@@ -35,7 +35,7 @@ public override void Populate(TextWriter trapFile)
3535
if (!(remover is null))
3636
Method.Create(Context, remover);
3737

38-
ExtractModifiers();
38+
ExtractModifiers(trapFile);
3939
BindComments();
4040

4141
var declSyntaxReferences = IsSourceDeclaration
@@ -44,14 +44,14 @@ public override void Populate(TextWriter trapFile)
4444

4545
foreach (var explicitInterface in symbol.ExplicitInterfaceImplementations.Select(impl => Type.Create(Context, impl.ContainingType)))
4646
{
47-
trapFile.Emit(Tuples.explicitly_implements(this, explicitInterface.TypeRef));
47+
trapFile.explicitly_implements(this, explicitInterface.TypeRef);
4848

4949
foreach (var syntax in declSyntaxReferences.OfType<EventDeclarationSyntax>())
5050
TypeMention.Create(Context, syntax.ExplicitInterfaceSpecifier.Name, this, explicitInterface);
5151
}
5252

5353
foreach (var l in Locations)
54-
trapFile.Emit(Tuples.event_location(this, l));
54+
trapFile.event_location(this, l);
5555

5656
foreach (var syntaxType in declSyntaxReferences.OfType<VariableDeclaratorSyntax>().
5757
Select(d => d.Parent).

csharp/extractor/Semmle.Extraction.CSharp/Entities/EventAccessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ public override void Populate(TextWriter trapFile)
4444
return;
4545
}
4646

47-
trapFile.Emit(Tuples.event_accessors(this, kind, symbol.Name, parent, unboundAccessor));
47+
trapFile.event_accessors(this, kind, symbol.Name, parent, unboundAccessor);
4848

4949
foreach (var l in Locations)
50-
trapFile.Emit(Tuples.event_accessor_location(this, l));
50+
trapFile.event_accessor_location(this, l);
5151

5252
Overrides(trapFile);
5353
}

csharp/extractor/Semmle.Extraction.CSharp/Entities/Expression.cs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@ internal Expression(IExpressionInfo info)
3939

4040
protected sealed override void Populate(TextWriter trapFile)
4141
{
42-
trapFile.Emit(Tuples.expressions(this, Kind, Type.Type.TypeRef));
42+
trapFile.expressions(this, Kind, Type.Type.TypeRef);
4343
if (Info.Parent.IsTopLevelParent)
44-
trapFile.Emit(Tuples.expr_parent_top_level(this, Info.Child, Info.Parent));
44+
trapFile.expr_parent_top_level(this, Info.Child, Info.Parent);
4545
else
46-
trapFile.Emit(Tuples.expr_parent(this, Info.Child, Info.Parent));
47-
trapFile.Emit(Tuples.expr_location(this, Location));
46+
trapFile.expr_parent(this, Info.Child, Info.Parent);
47+
trapFile.expr_location(this, Location);
4848

4949
if (Info.IsCompilerGenerated)
50-
trapFile.Emit(Tuples.expr_compiler_generated(this));
50+
trapFile.expr_compiler_generated(this);
5151

5252
if (Info.ExprValue is string value)
53-
cx.Emit(Tuples.expr_value(this, value));
53+
trapFile.expr_value(this, value);
5454

5555
Type.Type.ExtractGenerics();
5656
}
@@ -133,11 +133,11 @@ public void OperatorCall(TextWriter trapFile, ExpressionSyntax node)
133133
if (callType == CallType.Dynamic)
134134
{
135135
UserOperator.OperatorSymbol(method.Name, out string operatorName);
136-
trapFile.Emit(Tuples.dynamic_member_name(this, operatorName));
136+
trapFile.dynamic_member_name(this, operatorName);
137137
return;
138138
}
139139

140-
trapFile.Emit(Tuples.expr_call(this, Method.Create(cx, method)));
140+
trapFile.expr_call(this, Method.Create(cx, method));
141141
}
142142
}
143143

@@ -211,7 +211,7 @@ protected static ExpressionSyntax FindConditionalQualifier(ExpressionSyntax node
211211

212212
public void MakeConditional(TextWriter trapFile)
213213
{
214-
trapFile.Emit(Tuples.conditional_access(this));
214+
trapFile.conditional_access(this);
215215
}
216216

217217
public void PopulateArguments(TextWriter trapFile, BaseArgumentListSyntax args, int child)
@@ -241,11 +241,11 @@ private void PopulateArgument(TextWriter trapFile, ArgumentSyntax arg, int child
241241
default:
242242
throw new InternalError(arg, "Unknown argument type");
243243
}
244-
trapFile.Emit(Tuples.expr_argument(expr, mode));
244+
trapFile.expr_argument(expr, mode);
245245

246246
if (arg.NameColon != null)
247247
{
248-
trapFile.Emit(Tuples.expr_argument_name(expr, arg.NameColon.Name.Identifier.Text));
248+
trapFile.expr_argument_name(expr, arg.NameColon.Name.Identifier.Text);
249249
}
250250
}
251251

0 commit comments

Comments
 (0)