|
Change resolving of instance methods to check early for name mismatch.
The names of actual arguments are checked at resolving time
for a mismatch instead of deferring this check to the function
prologue (emitted as part of the CopyParameters() prologue).
For example:
class A {
foo({a:42}) => null;
}
main() {
var a = new A();
a.foo(b:123); // noSuchMethod: no named parameter named "b".
}
This enables e.g. fast noSuchMethod invocation in the case
of a named argument mismatch.
It also makes the function prologue for instance functions that
use optional parameters shorter by omitting the check for a
name mismatch there.
R=regis@google.com
Committed: https://code.google.com/p/dart/source/detail?r=25041
Total comments: 1
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+285 lines, -193 lines) |
Patch |
|
M |
runtime/lib/invocation_mirror.cc
|
View
|
1
|
1 chunk |
+1 line, -2 lines |
0 comments
|
Download
|
|
M |
runtime/lib/mirrors.cc
|
View
|
1
|
1 chunk |
+5 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/code_generator.cc
|
View
|
1
|
4 chunks |
+12 lines, -19 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_api_impl.cc
|
View
|
1
|
7 chunks |
+25 lines, -16 lines |
0 comments
|
Download
|
|
M |
runtime/vm/dart_entry.cc
|
View
|
1
|
4 chunks |
+12 lines, -11 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_arm.cc
|
View
|
1
|
3 chunks |
+33 lines, -22 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_ia32.cc
|
View
|
1
|
3 chunks |
+32 lines, -21 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_mips.cc
|
View
|
1
|
3 chunks |
+32 lines, -21 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_compiler_x64.cc
|
View
|
1
|
3 chunks |
+32 lines, -21 lines |
0 comments
|
Download
|
|
M |
runtime/vm/flow_graph_optimizer.cc
|
View
|
1
|
3 chunks |
+13 lines, -10 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.h
|
View
|
1
|
2 chunks |
+6 lines, -3 lines |
0 comments
|
Download
|
|
M |
runtime/vm/object.cc
|
View
|
1
|
4 chunks |
+56 lines, -8 lines |
0 comments
|
Download
|
|
M |
runtime/vm/resolver.h
|
View
|
1
|
4 chunks |
+5 lines, -6 lines |
0 comments
|
Download
|
|
M |
runtime/vm/resolver.cc
|
View
|
1
|
5 chunks |
+8 lines, -14 lines |
0 comments
|
Download
|
|
M |
runtime/vm/resolver_test.cc
|
View
|
1
|
2 chunks |
+13 lines, -13 lines |
0 comments
|
Download
|
Total messages: 4 (0 generated)
|