-
Notifications
You must be signed in to change notification settings - Fork 296
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ruby] Program Summary & Typed Scope (#4151)
This is a big one, but here we go * Created basic implementation classes for `ProgramSummary` and `TypedScopeElement` in Ruby * Added program summary hooks with implementation in `AstSummaryVisitor` that re-uses some `AstCreator` processes. * Implemented pre-parse of high-level structures * Used this to fix implicit constructor bugs (and other bugs that were lurking around due to having 3 stacks) * Differentiated modules/types to make sure implicit constructor wasn't created for modules * Removed other stacks, only using `scope` now Now we should be able to figure out if an `identifier` is a call or not with the lookahead that `RubyScope` and `RubyProgramSummary` provides us with. Resolves #4128
- Loading branch information
1 parent
a137174
commit 89f9fe6
Showing
14 changed files
with
467 additions
and
157 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
31 changes: 5 additions & 26 deletions
31
...ntends/rubysrc2cpg/src/main/scala/io/joern/rubysrc2cpg/astcreation/AstCreatorHelper.scala
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.