Arthur Baars
bc55fa861e
Merge pull request #114 from github/aibaars/fix-scopes
...
Correct the scope of class/method names etc.
2021-02-04 17:22:25 +01:00
Arthur Baars
62802d53c8
Ensure module/class/methods and their headers belong to the right CfgScope
2021-02-04 15:32:20 +01:00
Arthur Baars
bfc5ee3149
Correct the scope of class/method names etc.
2021-02-04 15:30:58 +01:00
Arthur Baars
da565875df
Merge pull request #112 from github/hvitved/ssa/shared-sync
...
SSA: Sync with latest changes
2021-02-04 13:39:32 +01:00
Arthur Baars
2035bc4d3a
AST: add ParenthesizedExpr
2021-02-04 11:51:05 +01:00
Nick Rolfe
61d9669655
Merge pull request #110 from github/class_ast
...
Add AST classes for classes and modules
2021-02-03 19:32:55 +00:00
Tom Hvitved
16c4faef6a
SSA: Sync with latest changes
...
Now that the shared SSA library supports uncertain/pseudo reads, we can simplify
the Ruby implementation.
2021-02-03 20:31:36 +01:00
Nick Rolfe
c5fca0cb6b
Add ModuleBase base class and combine class/module tests
2021-02-03 16:13:59 +00:00
Tom Hvitved
de77a7f96d
Initial data-flow files
2021-02-03 10:57:14 +01:00
Nick Rolfe
ee03e84d7f
Rename Class.qll to Module.qll
2021-02-02 18:00:29 +00:00
Nick Rolfe
645b8c2a8a
Apply suggestions from code review
...
Co-authored-by: Arthur Baars <aibaars@github.com >
2021-02-02 17:54:00 +00:00
Tom Hvitved
f71505c29c
Data flow: Sync files
2021-02-02 13:03:42 +01:00
Nick Rolfe
0649e6c3b0
Update CFG to handle separate superclass node
2021-02-01 14:23:47 +00:00
Nick Rolfe
443a992a90
Add AST classes for classes and modules
2021-02-01 14:23:41 +00:00
Arthur Baars
c33c3a1124
Address comments
2021-01-29 17:45:48 +01:00
Arthur Baars
6a7e3bfc10
Address comments
2021-01-29 17:45:48 +01:00
Arthur Baars
2921f72473
Implement class variables
2021-01-29 17:45:48 +01:00
Arthur Baars
a07e0fb0f7
Class variables boilerplate code
2021-01-29 17:45:44 +01:00
Arthur Baars
341bc5c888
Implement instance variables
2021-01-29 16:09:44 +01:00
Arthur Baars
e36795c82e
Instance variables boilerplate code
2021-01-29 15:41:23 +01:00
Arthur Baars
184d42efe0
Remove unnecessary clause
2021-01-29 15:39:31 +01:00
Arthur Baars
b04391636d
Fix qldoc comment
2021-01-29 15:39:31 +01:00
Tom Hvitved
f8790c81a8
Merge pull request #108 from github/hvitved/ssa
...
Add SSA library
2021-01-29 15:12:14 +01:00
Nick Rolfe
30804f74e2
Remove redundant instanceof expression
2021-01-28 17:48:16 +00:00
Tom Hvitved
05b8a6c27b
Apply suggestions from code review
...
Co-authored-by: Nick Rolfe <nickrolfe@github.com >
2021-01-28 08:49:42 +01:00
Nick Rolfe
640092352b
RegularSuperCallRange::getReceiver() never holds
2021-01-27 18:49:37 +00:00
Nick Rolfe
70bbeaac3b
Simplify, since super tokens are never variable accesses
2021-01-27 18:28:01 +00:00
Tom Hvitved
b9b4325b84
Add initial mapping of CFG nodes to AST nodes
2021-01-27 15:38:49 +01:00
Tom Hvitved
2077ba4a1f
Add SSA library
2021-01-27 10:39:19 +01:00
Nick Rolfe
7ac46bf8f8
Add SuperCall class for calls to super
2021-01-26 18:08:46 +00:00
Tom Hvitved
2c6b9eceda
Move vcall into internal/Variable.qll
2021-01-25 16:26:11 +01:00
Tom Hvitved
ce74208317
Merge pull request #97 from github/hvitved/var-access-categorization
...
Categorize variable accesses into reads and (implicit or explicit) writes
2021-01-25 16:25:35 +01:00
Tom Hvitved
3a0c9a8104
CFG: Replace special parameters with their identifiers
...
For example, instead of including `**kwargs` in the CFG, we include `kwargs`.
This means that all variable accesses belonging to parameter definitions will
be included in the CFG.
2021-01-25 10:02:21 +01:00
Tom Hvitved
586885f066
Recognize blocks without parameters
2021-01-22 16:16:01 +01:00
Nick Rolfe
243dfde72e
Create ComplexSymbolRange class to deduplicate some predicates
2021-01-22 14:21:39 +00:00
Tom Hvitved
7e374c416a
Categorize variable accesses into reads and (implicit or explicit) writes
2021-01-22 13:17:26 +01:00
Nick Rolfe
3939008fd5
Small tweaks based on PR feedback
2021-01-22 12:17:17 +00:00
Nick Rolfe
ccd8a2aae6
Merge remote-tracking branch 'origin/main' into call_ast
2021-01-22 11:48:32 +00:00
Nick Rolfe
2e8d154f2b
Add AST classes and tests for method calls
2021-01-20 18:34:25 +00:00
Tom Hvitved
bf7eb022a0
CFG: Use manual toString()s for AstCfgNode when available
2021-01-20 19:15:03 +01:00
Tom Hvitved
34fe416a85
CFG: Fix bug in LogicalNotTree
2021-01-18 15:03:58 +01:00
Nick Rolfe
6d7efab820
Add ConditionalLoop base class
2021-01-08 12:20:08 +00:00
Nick Rolfe
6465c90a16
Rename IfOrElsifExpr to IfExpr; remove child classes
2021-01-08 11:53:15 +00:00
Nick Rolfe
15785b4535
Add db base type for CaseExpr::Range
2021-01-08 11:31:43 +00:00
Nick Rolfe
6c0804c1af
Address feedback on CFG change
2021-01-07 19:02:37 +00:00
Nick Rolfe
8cb8ead48e
Address more feedback on ExprSequence
2021-01-07 19:02:14 +00:00
Nick Rolfe
19a4e63ac6
Move comment about getCondition from class to predicate
2021-01-07 18:01:38 +00:00
Nick Rolfe
9a71bdc993
Improvements from feedback on case/when classes.
2021-01-07 17:48:51 +00:00
Nick Rolfe
36c7d3fe5b
Replace ConditionalExpr::get{Then,Else} with getBranch(boolean cond).
2021-01-07 17:32:41 +00:00
Nick Rolfe
f4abe7f4a1
Remove ThenExpr, ElseExpr, and DoExpr from public API
2021-01-07 15:56:31 +00:00