Skip to content

Conversation

@ervin7mk
Copy link
Collaborator

No description provided.

ervin7mk and others added 30 commits March 16, 2023 17:06
csharpservice::getFileDiagramTypes and getFileDiagrams
got a test functionality, creating the diagram 'TEST DIAGRAM'.
csharpfilediagram.cpp and .h got created in order to achieve this.
getFileDiagramTypes and getFileDiagram got added to thrift.
Previously data was only provided by csharpservice.cpp
and no data was requested from the CsharpQueryHandler.cs.
This commit requests the first AstValue associated with the
path of the .cs file desired to create a diagram on.
This commit adds CsharpEdge.cs to create
a table named CsharpEdge.
More work needed for the table to actually appear
The aim is to make this table appear
This commit creates the RelationCollector class
which is derived from CsharpSyntaxWalker in order
to populate the CsharpEdges table in the future.
More work added in RelationCollector.cs
and Program.cs in order to collect data
into CsharpEdges table
This commit fixes code related errors when parsing using the
newly created RelationCollector
This commit adds conditions to check for null files.
This commit fixes the RelationCollector class
and makes changes to the Program.cs.
We add a ConcurrentDictionary in order to
gather data into it with the relationcollector.
After data is collected, the contents of this
ConcurrentDictionary is transferred to the DbContext
and the changes are saved.
RelationCollector needs further work on the
VisitValueDeclarator and VisitInvocationExpression
functions.
In this commmit i gather the data required, to build
the file usages diagram, into a string, using the
following format $"{uses}:{revUses}".
This will be converted and used.
The data we gather from the Csharp component in order
to build the diagram needs to be converted in order to
be useful. This means converting from a string which contains
both the uses and the revuses to two vector<FileId> instances
to later pass on to the diagram generator functions.
With this commit the first version of the file
usage diagram shows, the first level of usages and
revusages show.
The diagram didnt show in cases where either it didnt have
uses or revuses, this commit fixes this issue.
With this commit the file usage diagram is extended
with further information, meaning more children are
added to the diagram.
This was achieved by using a BFS in the c# component
to gather the data into a dictionary and passed along
to the diagram building function.
This commit enables that every possible edge is shown from a
single file, not just until depth 3 is reached like before.
This commit adds the internal structure diagram
aka the subsystem directory diagram.
Data gather in csharpservice.cpp
With this commit the external users diagram
can be visualized. It can be called upon a
directory and it will show the directories sub
directories and every external directory which
uses one of our directory
ervin7mk added 20 commits April 28, 2023 17:25
With this commit the new diagram types
Function call diagram and Detailed
class diagrams show as options when
right clicking on either a function
or a class. Also, CodeBites option
is available.
This commit adds a first version of the
function call diagram which can be visualized
by right clicking on the declaration of a function
This commit adds the detailed class diagram
which creates a UML diagram on the desired
class.
This commit adds diagram legends
to function call and detailed class
diagrams.
This commit removes previously written testdiagram
and the menu now shows C# Diagrams option instead of
Diagrams.
This commit removes accessability tags from the signature
of methods,classes and properties since there is a visual
aid in form of +,- and #, so there is no need to write out
the accessability of each.
This commit fixes a case where the detailed class diagram
will include the annotations before the signature in the
diagram. This commit fixes this. It looks clean now.
This commit adds a functional version of
CodeBites.
This was achieved by modifying AstVisitor.cs
by adding declarations into CsharpEtcEntitys
table.
Modifications to CodeBites.js were also needed
since new behavior was introduced in case of .CS
files. Now edges dont show declarations and
declarations can be moved to a new box.
There were some commented lines of code
and a variable which needed to be deleted.
This commit improves queryCallers,queryCallees and
queryCall functions so that it will not query itself.
With this commit I am cleaning up code which is
either commented or not in use.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants