Fix VariableRead/WriteAcess for instance and class variables

This commit is contained in:
Arthur Baars
2021-03-09 13:55:55 +01:00
parent 61b3aa8f27
commit f28071ceb6
2 changed files with 19 additions and 14 deletions

View File

@@ -349,7 +349,12 @@ private module Cached {
}
private class Access extends Generated::Token {
Access() { access(this, _) or this instanceof Generated::GlobalVariable }
Access() {
access(this, _) or
this instanceof Generated::GlobalVariable or
this instanceof Generated::InstanceVariable or
this instanceof Generated::ClassVariable
}
}
cached

View File

@@ -177,6 +177,19 @@ variableAccess
| ssa.rb:82:3:82:10 | captured | ssa.rb:82:3:82:10 | captured | ssa.rb:81:1:88:3 | method scope for m11 |
| ssa.rb:85:15:85:22 | captured | ssa.rb:82:3:82:10 | captured | ssa.rb:81:1:88:3 | method scope for m11 |
explicitWrite
| class_variables.rb:1:1:1:3 | @@x | class_variables.rb:1:1:1:8 | ... = ... |
| class_variables.rb:19:3:19:5 | @@x | class_variables.rb:19:3:19:10 | ... = ... |
| class_variables.rb:23:3:23:5 | @@x | class_variables.rb:23:3:23:10 | ... = ... |
| instance_variables.rb:1:1:1:4 | @top | instance_variables.rb:1:1:1:8 | ... = ... |
| instance_variables.rb:4:3:4:6 | @foo | instance_variables.rb:4:3:4:11 | ... = ... |
| instance_variables.rb:14:3:14:4 | @x | instance_variables.rb:14:3:14:9 | ... = ... |
| instance_variables.rb:16:5:16:6 | @y | instance_variables.rb:16:5:16:10 | ... = ... |
| instance_variables.rb:21:2:21:3 | @m | instance_variables.rb:21:2:21:8 | ... = ... |
| instance_variables.rb:23:4:23:5 | @n | instance_variables.rb:23:4:23:9 | ... = ... |
| instance_variables.rb:28:3:28:4 | @x | instance_variables.rb:28:3:28:10 | ... = ... |
| instance_variables.rb:32:12:32:13 | @x | instance_variables.rb:32:12:32:19 | ... = ... |
| instance_variables.rb:36:3:36:4 | @x | instance_variables.rb:36:3:36:9 | ... = ... |
| instance_variables.rb:39:6:39:7 | @x | instance_variables.rb:39:6:39:12 | ... = ... |
| nested_scopes.rb:5:3:5:3 | a | nested_scopes.rb:5:3:5:7 | ... = ... |
| nested_scopes.rb:7:5:7:5 | a | nested_scopes.rb:7:5:7:9 | ... = ... |
| nested_scopes.rb:9:7:9:7 | a | nested_scopes.rb:9:7:9:11 | ... = ... |
@@ -257,26 +270,13 @@ implicitWrite
| ssa.rb:64:8:64:8 | a |
| ssa.rb:66:15:66:15 | a |
readAccess
| class_variables.rb:1:1:1:3 | @@x |
| class_variables.rb:3:3:3:5 | @@x |
| class_variables.rb:6:4:6:6 | @@x |
| class_variables.rb:11:7:11:9 | @@x |
| class_variables.rb:14:6:14:8 | @@x |
| class_variables.rb:19:3:19:5 | @@x |
| class_variables.rb:23:3:23:5 | @@x |
| class_variables.rb:28:5:28:7 | @@x |
| instance_variables.rb:1:1:1:4 | @top |
| instance_variables.rb:4:3:4:6 | @foo |
| instance_variables.rb:8:8:8:11 | @foo |
| instance_variables.rb:11:6:11:9 | @top |
| instance_variables.rb:14:3:14:4 | @x |
| instance_variables.rb:16:5:16:6 | @y |
| instance_variables.rb:21:2:21:3 | @m |
| instance_variables.rb:23:4:23:5 | @n |
| instance_variables.rb:28:3:28:4 | @x |
| instance_variables.rb:32:12:32:13 | @x |
| instance_variables.rb:36:3:36:4 | @x |
| instance_variables.rb:39:6:39:7 | @x |
| instance_variables.rb:42:6:42:7 | @x |
| nested_scopes.rb:14:16:14:16 | a |
| nested_scopes.rb:15:11:15:11 | a |