bbrehm
bbrehm
Afaiu no, there is no well-known java or scala lib. Maybe you're better with google? I can whip up an immutable accumulator-deque with: 1. correct complexity class if single-ownership is...
Can you link me the thing? An alternative approach would be to bite the bullet `++` does not preserve the order of edges under re-association. Then we can use either...
@mpollmeier the general idea of this piece of code is to use immutable persistent (non-overwriting copy-on-write shared memory) datastructures, i.e. to have side-effect-free `++` (like scala List, and unlike scala...
Nice example. The flow for case 2 is incorrect. A reduced reproducer is the following: ``` void sink(char* p); void taint1(char* p); void taint2(char* p); void outer(char* ptr){ taint1(ptr); inner(ptr);...
In general you can look up the code in `ContainsEdgePass.scala`. I agree that this behavior is weird -- one would naively expect this to be set for all AST nodes....
Thanks for opening this discussion! Minor points I'd like to add from discord: 1. We cannot reasonably consistently use JVM public / private / package private in order to describe...
>(An extension of the above) Automating a changelog from the descriptions of commits since the last version may help users depending on Joern debug an API change or new protocol....
>Lol, I'm always happy to provide the example of code for people to learn what not to do 😉 Don't feel bad about it -- concurrency is hard, lazy iterators...
No, the generated `NodeDb` classes will go away, and only `NodeHandle` will exist. We will have generated classes that subclass `NodeHandle`. There will be (generated) accessors for properties and edges...
>The lazy loading mechanism works on a per-node and per-property basis, right? I.e. if i lookup the name property of a particular method node, it'll load all name properties of...