feature: Support for ReturnStmt
statement
#180
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 return statements within the
sourcecode-parser
module. The main changes involve adding a newReturnStmt
type, updating the graph construction logic to recognize return statements, and extending the test cases to cover this new functionality.Parsing and Handling Return Statements:
ReturnStmt
to theNode
struct inconstruct.go
to support return statements in the graph.ParseReturnStatement
function inparse_statement.go
.buildGraphFromAST
function to handle return statements by creatingReturnStmt
nodes.GetReturnStmt
method inquery.go
to retrieve return statements from the environment.Updates to Test Cases:
TestBuildGraphFromAST
function to include return statements in the expected node types and counts. [1] [2] [3]ReturnStmt
type instmt_test.go
to verify theGetPP
method with various expressions.Codebase Enhancements:
generateProxyEnv
inquery.go
to includeReturnStmt
in the proxy environment. [1] [2] [3]ReturnStmt
struct and its methods instmt.go
to represent return statements and their properties.Checklist:
gradle testGo
)?golangci-lint run
this requires golangci-lint)?