feature: 🍺 Support for BlockStmt
statement
#181
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description:
This pull request introduces support for parsing and handling block statements in the code graph. The most important changes include adding a new
BlockStmt
type, updating the graph construction to recognize block statements, and enhancing the query environment to support this new type.Addition of Block Statement Support:
sourcecode-parser/graph/construct.go
: AddedBlockStmt
to theNode
struct and updatedbuildGraphFromAST
to handle "block" node types by creating and addingBlockStmt
nodes to the graph. [1] [2]Parsing and Handling Block Statements:
sourcecode-parser/graph/java/parse_statement.go
: AddedParseBlockStatement
function to parse block statements from the syntax tree.Query Environment Enhancements:
sourcecode-parser/graph/query.go
: AddedGetBlockStmt
method to theEnv
struct and updatedgenerateProxyEnv
to include block statements in the environment map. [1] [2] [3] [4]Block Statement Model:
sourcecode-parser/model/stmt.go
: Added a newBlockStmt
struct and its associated methods to represent block statements in the model.Checklist:
gradle testGo
)?golangci-lint run
this requires golangci-lint)?