2016-10-17 | Paul Boddie | file changeset files shortlog | Track attribute assignment in attribute usage in order to restrict accessors. Changed the function type to be separate from all other types, preventing special __fn__ and __args__ attribute shadowing. |
paul@2 | 1 | def f(): |
paul@2 | 2 | s = "test" |
paul@2 | 3 | m = s.__len__ |
paul@2 | 4 | n = "test".__len__ |
paul@2 | 5 | |
paul@2 | 6 | def g(): |
paul@2 | 7 | l = [1] |
paul@2 | 8 | m = l.__len__ |
paul@2 | 9 | n = [1].__len__ |
paul@2 | 10 | |
paul@2 | 11 | f() |
paul@2 | 12 | g() |