Skip to content

Commit a77bc9e

Browse files
committed
Sqlite support added to C# plugin
1 parent ea6ddfb commit a77bc9e

31 files changed

Lines changed: 3605 additions & 1882 deletions

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ nbproject/
1010
*.swp
1111

1212
## Build folders
13+
Build/
1314
build/
1415
build_*/
1516
install/

CodeCompass-fork.sln

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
Microsoft Visual Studio Solution File, Format Version 12.00
2+
# Visual Studio Version 17
3+
VisualStudioVersion = 17.5.2.0
4+
MinimumVisualStudioVersion = 10.0.40219.1
5+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{07D57EEB-2F50-60C4-C011-FE4FA775C9A8}"
6+
EndProject
7+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Build", "Build", "{DEE5DD87-39C1-BF34-B639-A387DCCF972B}"
8+
EndProject
9+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "csharp", "csharp", "{FDECB3EA-C235-0ECE-9066-0767EFECF65B}"
10+
EndProject
11+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "service", "service", "{7D914C01-75FA-9E92-82D4-3C039136171A}"
12+
EndProject
13+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src_csharp", "src_csharp", "{AF4D61C2-B71E-BE38-5950-782439CCE1D6}"
14+
EndProject
15+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharpservice", "plugins\csharp\service\src_csharp\csharpservice.csproj", "{23D38B20-064C-A274-616B-A87E116A69E9}"
16+
EndProject
17+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "parser", "parser", "{F09082B5-68A8-D6A7-6A9C-0D853F4DF591}"
18+
EndProject
19+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src_csharp", "src_csharp", "{10CDF008-A431-7A23-2F79-7E7DC3CA6843}"
20+
EndProject
21+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpParser", "plugins\csharp\parser\src_csharp\CSharpParser.csproj", "{63BF2A37-8F5E-CBA4-1720-68324B8B5516}"
22+
EndProject
23+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{D2CF7D5B-42D7-6566-E13F-A0B3FA04C41C}"
24+
EndProject
25+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "csharp", "csharp", "{37A8322D-A38C-0C2D-0DCC-F2B38490041F}"
26+
EndProject
27+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "service", "service", "{584C7E52-C9BD-1FDF-01F6-05F93628661B}"
28+
EndProject
29+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src_csharp", "src_csharp", "{6E09C5FF-56B3-0BA1-5DB2-3B044FB72342}"
30+
EndProject
31+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gen-netstd", "Build\plugins\csharp\service\src_csharp\gen-netstd\gen-netstd.csproj", "{623C7EF0-7B76-A1DC-FA10-8A67D757C3AA}"
32+
EndProject
33+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "migrations", "migrations", "{4A738011-D202-4B48-9CAE-8B044943D997}"
34+
EndProject
35+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sqliteMigrations", "plugins\csharp\migrations\sqliteMigrations\sqliteMigrations.csproj", "{4709E553-FC92-44D2-85CC-A1EFE918F70B}"
36+
EndProject
37+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pgsqlMigrations", "plugins\csharp\migrations\pgsqlMigrations\pgsqlMigrations.csproj", "{AB02187B-59AB-4E35-B1C8-B835F25B9692}"
38+
EndProject
39+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "db_model", "plugins\csharp\db_model\db_model.csproj", "{B9532E7A-2CB8-4DEC-A0DA-672AF7D054E6}"
40+
EndProject
41+
Global
42+
GlobalSection(SolutionConfigurationPlatforms) = preSolution
43+
Debug|Any CPU = Debug|Any CPU
44+
Release|Any CPU = Release|Any CPU
45+
EndGlobalSection
46+
GlobalSection(ProjectConfigurationPlatforms) = postSolution
47+
{23D38B20-064C-A274-616B-A87E116A69E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
48+
{23D38B20-064C-A274-616B-A87E116A69E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
49+
{23D38B20-064C-A274-616B-A87E116A69E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
50+
{23D38B20-064C-A274-616B-A87E116A69E9}.Release|Any CPU.Build.0 = Release|Any CPU
51+
{63BF2A37-8F5E-CBA4-1720-68324B8B5516}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
52+
{63BF2A37-8F5E-CBA4-1720-68324B8B5516}.Debug|Any CPU.Build.0 = Debug|Any CPU
53+
{63BF2A37-8F5E-CBA4-1720-68324B8B5516}.Release|Any CPU.ActiveCfg = Release|Any CPU
54+
{63BF2A37-8F5E-CBA4-1720-68324B8B5516}.Release|Any CPU.Build.0 = Release|Any CPU
55+
{623C7EF0-7B76-A1DC-FA10-8A67D757C3AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
56+
{623C7EF0-7B76-A1DC-FA10-8A67D757C3AA}.Debug|Any CPU.Build.0 = Debug|Any CPU
57+
{623C7EF0-7B76-A1DC-FA10-8A67D757C3AA}.Release|Any CPU.ActiveCfg = Release|Any CPU
58+
{623C7EF0-7B76-A1DC-FA10-8A67D757C3AA}.Release|Any CPU.Build.0 = Release|Any CPU
59+
{4709E553-FC92-44D2-85CC-A1EFE918F70B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
60+
{4709E553-FC92-44D2-85CC-A1EFE918F70B}.Debug|Any CPU.Build.0 = Debug|Any CPU
61+
{4709E553-FC92-44D2-85CC-A1EFE918F70B}.Release|Any CPU.ActiveCfg = Release|Any CPU
62+
{4709E553-FC92-44D2-85CC-A1EFE918F70B}.Release|Any CPU.Build.0 = Release|Any CPU
63+
{AB02187B-59AB-4E35-B1C8-B835F25B9692}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
64+
{AB02187B-59AB-4E35-B1C8-B835F25B9692}.Debug|Any CPU.Build.0 = Debug|Any CPU
65+
{AB02187B-59AB-4E35-B1C8-B835F25B9692}.Release|Any CPU.ActiveCfg = Release|Any CPU
66+
{AB02187B-59AB-4E35-B1C8-B835F25B9692}.Release|Any CPU.Build.0 = Release|Any CPU
67+
{B9532E7A-2CB8-4DEC-A0DA-672AF7D054E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
68+
{B9532E7A-2CB8-4DEC-A0DA-672AF7D054E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
69+
{B9532E7A-2CB8-4DEC-A0DA-672AF7D054E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
70+
{B9532E7A-2CB8-4DEC-A0DA-672AF7D054E6}.Release|Any CPU.Build.0 = Release|Any CPU
71+
EndGlobalSection
72+
GlobalSection(SolutionProperties) = preSolution
73+
HideSolutionNode = FALSE
74+
EndGlobalSection
75+
GlobalSection(NestedProjects) = preSolution
76+
{FDECB3EA-C235-0ECE-9066-0767EFECF65B} = {07D57EEB-2F50-60C4-C011-FE4FA775C9A8}
77+
{7D914C01-75FA-9E92-82D4-3C039136171A} = {FDECB3EA-C235-0ECE-9066-0767EFECF65B}
78+
{AF4D61C2-B71E-BE38-5950-782439CCE1D6} = {7D914C01-75FA-9E92-82D4-3C039136171A}
79+
{23D38B20-064C-A274-616B-A87E116A69E9} = {AF4D61C2-B71E-BE38-5950-782439CCE1D6}
80+
{F09082B5-68A8-D6A7-6A9C-0D853F4DF591} = {FDECB3EA-C235-0ECE-9066-0767EFECF65B}
81+
{10CDF008-A431-7A23-2F79-7E7DC3CA6843} = {F09082B5-68A8-D6A7-6A9C-0D853F4DF591}
82+
{63BF2A37-8F5E-CBA4-1720-68324B8B5516} = {10CDF008-A431-7A23-2F79-7E7DC3CA6843}
83+
{D2CF7D5B-42D7-6566-E13F-A0B3FA04C41C} = {DEE5DD87-39C1-BF34-B639-A387DCCF972B}
84+
{37A8322D-A38C-0C2D-0DCC-F2B38490041F} = {D2CF7D5B-42D7-6566-E13F-A0B3FA04C41C}
85+
{584C7E52-C9BD-1FDF-01F6-05F93628661B} = {37A8322D-A38C-0C2D-0DCC-F2B38490041F}
86+
{6E09C5FF-56B3-0BA1-5DB2-3B044FB72342} = {584C7E52-C9BD-1FDF-01F6-05F93628661B}
87+
{623C7EF0-7B76-A1DC-FA10-8A67D757C3AA} = {6E09C5FF-56B3-0BA1-5DB2-3B044FB72342}
88+
{4A738011-D202-4B48-9CAE-8B044943D997} = {FDECB3EA-C235-0ECE-9066-0767EFECF65B}
89+
{4709E553-FC92-44D2-85CC-A1EFE918F70B} = {4A738011-D202-4B48-9CAE-8B044943D997}
90+
{AB02187B-59AB-4E35-B1C8-B835F25B9692} = {4A738011-D202-4B48-9CAE-8B044943D997}
91+
{B9532E7A-2CB8-4DEC-A0DA-672AF7D054E6} = {FDECB3EA-C235-0ECE-9066-0767EFECF65B}
92+
EndGlobalSection
93+
GlobalSection(ExtensibilityGlobals) = postSolution
94+
SolutionGuid = {4DD4E593-045A-4D66-97E2-C34DF688864A}
95+
EndGlobalSection
96+
EndGlobal
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
using Microsoft.CodeAnalysis;
33
using Microsoft.CodeAnalysis.CSharp;
44

5-
namespace CSharpParser.model
5+
namespace DbModel
66
{
7-
enum AstSymbolTypeEnum
7+
public enum AstSymbolTypeEnum
88
{
99
Variable,
1010
Method,
@@ -17,7 +17,7 @@ enum AstSymbolTypeEnum
1717

1818
}
1919

20-
enum AstTypeEnum
20+
public enum AstTypeEnum
2121
{
2222
Declaration,
2323
Definition,
@@ -27,18 +27,18 @@ enum AstTypeEnum
2727
Expression
2828
}
2929

30-
class CsharpAstNode
30+
public class CsharpAstNode
3131
{
3232
public ulong Id { get; set; }
33-
public string AstValue { get; set; }
33+
public string? AstValue { get; set; }
3434
public AstSymbolTypeEnum AstSymbolType { get; set; }
3535
public AstTypeEnum AstType { get; set; }
3636
public Accessibility Accessibility { get; set; }
3737
public long Location_range_start_line { get; set; }
3838
public long Location_range_start_column { get; set; }
3939
public long Location_range_end_line { get; set; }
4040
public long Location_range_end_column { get; set; }
41-
public string Path { get; set; }
41+
public string? Path { get; set; }
4242
public long EntityHash { get; set; }
4343
public SyntaxKind RawKind { get; set; } //SyntaxKind Enum
4444
public void SetLocation(FileLinePositionSpan f)
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
using System.Collections.Generic;
22
using System.ComponentModel.DataAnnotations.Schema;
33

4-
namespace CSharpParser.model
4+
namespace DbModel
55
{
6-
enum ClassTypeEnum
6+
public enum ClassTypeEnum
77
{
88
Class,
99
Interface,
1010
Record
1111
}
12-
class CsharpClass : CsharpEntity
12+
public class CsharpClass : CsharpEntity
1313
{
1414
public ClassTypeEnum ClassType { get; set; }
15-
public CsharpNamespace CsharpNamespace { get; set; }
15+
public CsharpNamespace? CsharpNamespace { get; set; }
1616
}
1717
//[Table("csharp_structs")]
18-
class CsharpStruct : CsharpEntity
18+
public class CsharpStruct : CsharpEntity
1919
{
20-
public CsharpNamespace CsharpNamespace { get; set; }
20+
public CsharpNamespace? CsharpNamespace { get; set; }
2121
}
2222
}
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
using System.Text;
2+
using Microsoft.EntityFrameworkCore;
3+
4+
namespace DbModel
5+
{
6+
public class CsharpDbContext : DbContext
7+
{
8+
9+
private readonly string _dbSystem;
10+
private readonly string _connectionString;
11+
public CsharpDbContext(DbContextOptions options) : base(options) { }
12+
13+
public CsharpDbContext(string dbSystem, string connectionString) : base()
14+
{
15+
_dbSystem = dbSystem;
16+
_connectionString = connectionString;
17+
}
18+
19+
public DbSet<CsharpAstNode> CsharpAstNodes { get; set; }
20+
public DbSet<CsharpNamespace> CsharpNamespaces { get; set; }
21+
public DbSet<CsharpClass> CsharpClasses { get; set; }
22+
public DbSet<CsharpMethod> CsharpMethods { get; set; }
23+
public DbSet<CsharpVariable> CsharpVariables { get; set; }
24+
public DbSet<CsharpStruct> CsharpStructs { get; set; }
25+
public DbSet<CsharpEnum> CsharpEnums { get; set; }
26+
public DbSet<CsharpEnumMember> CsharpEnumMembers { get; set; }
27+
public DbSet<CsharpEtcEntity> CsharpEtcEntitys { get; set; }
28+
29+
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
30+
{
31+
switch(_dbSystem)
32+
{
33+
case "pgsql":
34+
optionsBuilder.UseNpgsql(_connectionString,
35+
x => x.MigrationsAssembly("pgsqlMigrations"));
36+
break;
37+
case "sqlite":
38+
optionsBuilder.UseSqlite(_connectionString,
39+
x => x.MigrationsAssembly("sqliteMigrations"));
40+
break;
41+
default:
42+
break;
43+
}
44+
}
45+
46+
}
47+
48+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
using System;
2+
3+
namespace DbModel
4+
{
5+
public class CsharpEntity
6+
{
7+
public long Id { get; set; }
8+
public CsharpAstNode? AstNode { get; set; }
9+
public CsharpAstNode? ParentNode{ get; set; }
10+
public long EntityHash { get; set; }
11+
public String? Name { get; set; } = " ";
12+
public String? QualifiedName { get; set; } = " ";
13+
public string? DocumentationCommentXML { get; set; } = " ";
14+
}
15+
16+
public class CsharpTypedEntity : CsharpEntity
17+
{
18+
public long TypeHash { get; set; }
19+
public String? QualifiedType { get; set; } = " ";
20+
}
21+
22+
public enum EtcEntityTypeEnum
23+
{
24+
Event,
25+
Invocation,
26+
ForeachExpr
27+
}
28+
public class CsharpEtcEntity : CsharpTypedEntity
29+
{
30+
public EtcEntityTypeEnum EtcEntityType { get; set; }
31+
public ulong DeclaratorNodeId { get; set; }
32+
}
33+
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
using System.Collections.Generic;
22
using System.ComponentModel.DataAnnotations.Schema;
33

4-
namespace CSharpParser.model
4+
namespace DbModel
55
{
66
//[Table("csharp_enums")]
7-
class CsharpEnum : CsharpEntity
7+
public class CsharpEnum : CsharpEntity
88
{
9-
public CsharpNamespace CsharpNamespace { get; set; }
9+
public CsharpNamespace? CsharpNamespace { get; set; }
1010
public HashSet<CsharpEnumMember> CsharpEnumMembers { get; set; } = new HashSet<CsharpEnumMember>();
1111

1212
public void AddMember(CsharpEnumMember member)
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
using System.ComponentModel.DataAnnotations.Schema;
22

3-
namespace CSharpParser.model
3+
namespace DbModel
44
{
55
//[Table("csharp_enum_members")]
6-
class CsharpEnumMember : CsharpEntity
6+
public class CsharpEnumMember : CsharpEntity
77
{
88
public int EqualsValue { get; set; }
9+
public long? CsharpEnumId { get; set; }
910
}
1011
}
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
using System.Collections.Generic;
22

3-
namespace CSharpParser.model
3+
namespace DbModel
44
{
5-
enum MethodTypeEnum
5+
public enum MethodTypeEnum
66
{
77
Delegate,
88
Accessor,
@@ -12,7 +12,7 @@ enum MethodTypeEnum
1212
Operator
1313
}
1414

15-
class CsharpMethod : CsharpTypedEntity
15+
public class CsharpMethod : CsharpTypedEntity
1616
{
1717
public MethodTypeEnum MethodType { get; set; }
1818
}

plugins/csharp/model/CsharpNamespace.cs renamed to plugins/csharp/db_model/CsharpNamespace.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
using System.Collections.Generic;
22
using System.ComponentModel.DataAnnotations.Schema;
33

4-
namespace CSharpParser.model
4+
namespace DbModel
55
{
66
//[Table("csharp_namespaces")]
7-
class CsharpNamespace : CsharpEntity
7+
public class CsharpNamespace : CsharpEntity
88
{
99

1010
}

0 commit comments

Comments
 (0)