Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 2-0-441 to backup_sync #53

Open
wants to merge 36 commits into
base: backup_sync
Choose a base branch
from
Open

Merge 2-0-441 to backup_sync #53

wants to merge 36 commits into from

Conversation

github-actions[bot]
Copy link

Created by Github action

max-leuthaeuser and others added 30 commits July 1, 2024 10:06
They may fail throwing an unrecoverable exception in case of unresolved includes etc.
Also, some minor clean-up.
This PR handles:
 * Move parser tests from the `deprecated` frontend to the new `ruby` frontend.
 * Fixed parser issues with HashLiterals
 * Fixed parser issues with one-liner class definitions
 * Fixed parser issues with arguments in functions
Brings in latest babel and typescript to astgen.
* [ruby] Arrow Lambda Parameter Fix
Tests various lambdas and fixes `self` parameter name in methods.
partly to minify the flatgraph diff
* minor work on reachingDef

* fmt

---------

Co-authored-by: Michael Pollmeier <[email protected]>
This astgen version skipps giant, unparsable files with EMSCRIPTEN code now by default.

For: https://shiftleftinc.atlassian.net/browse/SEN-2797
This PR adds a few more parser tests based on tests in the `querying/` folder for Ruby.
Inheritance via `<` in Ruby can be arbitrary extensions which warrant post-processing analysis, so this removes any attempt to resolve the type at AST creation to allow for a post-processing pass to handle this instead.
As the `<body>` call is synthetic and meant to be immediately deterministic, so there is no reason it should be re-determined.
* upgrade cpg and adapt

* use released cpg
…joernio#4729)

```
[warn] -- [E092] Pattern Match Unchecked Warning:
/home/mp/Projects/shiftleft/joern.1/joern-cli/frontends/pysrc2cpg/src/test/scala/io/joern/pysrc2cpg/PySrc2CpgFixture.scala:74:61
[warn] 74 |    path.resultPairs().collect { case (firstElement: String,
secondElement: Option[Integer]) =>
[warn]
|                                                             ^
[warn]    |the type test for Option[Integer] cannot be checked at
runtime because its type arguments can't be determined from Option[Int]
[warn]    |
[warn]    | longer explanation available when compiling with `-explain`
}
```
Earlier, if we pass the directory path which contains multiple go
modules. Processing was done with all the `.go` files mapped to single
`go.mod` file.

With this change, we have segregated the processing by first isolating
all the files mapped to respective `go.mod`. This will also make sure to
cleanup the memory footprint after every module is being processed.
However, this will increase the processing when used with download
dependency as it will process all the `go.mod` files for identifying and
processing used dependencies.
This PR changes the modelling of Singleton methods on objects. Ex:
```ruby
class Animal; end
animal = Animal.new

class << animal
  def bark
    "woof"
  end
end
```
Creates a lambda method for `animal.bark`, and assigns `animal.bark = methodRef(bark)`

Resolves joernio#4721
- we had one stackoverflow in fullname
- evaluation.getOverload may return null
…oernio#4733)

* Fix always-crashing array initializer type resolution

* Fix exception when trying to cast ArrayType to ClassOrInterfaceType

* Fix formatting
…g merge (joernio#4737)

* minify the flatgraph diff by bringing various things in before the big merge

* fmt

* revert accidental change
For new frontends with potentially malformed ASTs, type recovery must safely handle instances where members don't have AST parents.
The parser emits calls to `super` as different from simple calls, this PR handles them.
Also: no more empty method fullnames
DavidBakerEffendi and others added 6 commits July 8, 2024 14:47
* Safely handles the case when `super` call has a `null` argument from the parser
* Shadows keywords when they are used as keys in association keys for named arguments in calls
* Handles singleton methods in implicit returns
This PR fixes a bug where method members were not correctly linked to surrounding methods' bound type decls. Additionally, this handles `return` statements without any proceeding expression.

Resolves joernio#4732
The initial implementation of the edge creation and captured local node was wrongly added to the `Ast` object instead of the diff graph. This PR rectifies this.
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.

8 participants