Chromium Code Reviews
DescriptionFix two bugs in the Dart VM's super-noSuchMethod invocation.
1. The result value of an expression
"super.someMissingSetter = val" was incorrect in case of a noSuchMethod call.
To fix this I refactored the BuildStaticNoSuchMethod function. It now no longer
creates AST nodes and visits them, because the last argument may be needed saved
as a result value.
2. The evaluation order of "super[e1] = e2" was wrong in case of a noSuchMethod call.
BUG=dart:8917, dart:10965
TEST=tests/language/super_operator_index7_test.dart, tests/language/super_operator_index8_test.dart
R=srdjan@google.com
Committed: https://code.google.com/p/dart/source/detail?r=23553
Patch Set 1 #
Total comments: 6
Patch Set 2 : new version with comments addressed #Patch Set 3 : added assertion #Patch Set 4 : #Patch Set 5 : improved version #
Total comments: 4
Patch Set 6 : #
Total comments: 7
Patch Set 7 : #
Messages
Total messages: 11 (0 generated)
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||