Version 1.5.0-dev.4.13

svn merge -c 37341 https://dart.googlecode.com/svn/branches/bleeding_edge trunk

Merge samples and editor parts of revision 37332 by doing:
svn merge -c 37332 https://dart.googlecode.com/svn/branches/bleeding_edge/dart/samples trunk/dart/samples
svn merge -c 37332 https://dart.googlecode.com/svn/branches/bleeding_edge/dart/editor trunk/dart/editor

Merge revisions 37309, 37313, 37314 by applying:
https://codereview.chromium.org/338803002

Merge dart 1985 blink branch revisions r176140 and r176141 by rolling deps to:
blink/branches/dart/1985_stable@176178

R=kasperl@google.com

Review URL: https://codereview.chromium.org//331153002

git-svn-id: http://dart.googlecode.com/svn/trunk@37360 260f80e4-7a28-3924-810f-c04153c831b5
diff --git a/sdk/lib/_internal/compiler/implementation/resolution/members.dart b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
index 55ed565..b03c3ac 100644
--- a/sdk/lib/_internal/compiler/implementation/resolution/members.dart
+++ b/sdk/lib/_internal/compiler/implementation/resolution/members.dart
@@ -2458,6 +2458,14 @@
         return warnAndCreateErroneousElement(
             node, name, MessageKind.NO_SUCH_LIBRARY_MEMBER,
             {'libraryName': prefix.name, 'memberName': name});
+      } else if (target.isAmbiguous) {
+        registry.registerThrowNoSuchMethod();
+        AmbiguousElement ambiguous = target;
+        target = warnAndCreateErroneousElement(node, name,
+                                               ambiguous.messageKind,
+                                               ambiguous.messageArguments);
+        ambiguous.diagnose(enclosingElement, compiler);
+        return target;
       } else if (target.kind == ElementKind.CLASS) {
         ClassElement classElement = target;
         classElement.ensureResolved(compiler);
diff --git a/tests/language/language_analyzer.status b/tests/language/language_analyzer.status
index 37a431c..12f99e6 100644
--- a/tests/language/language_analyzer.status
+++ b/tests/language/language_analyzer.status
@@ -159,6 +159,8 @@
 override_inheritance_no_such_method_test/04: StaticWarning # Issue 16132
 override_inheritance_no_such_method_test/05: StaticWarning # Issue 16132
 
+regress_19413_test/01: MissingStaticWarning # Issue 19424
+
 # The following tests are currently assumed to be failing because the test is wrong.
 #
 application_negative_test: CompileTimeError # Test Issue 14528
diff --git a/tests/language/language_analyzer2.status b/tests/language/language_analyzer2.status
index 8190432..695c6bc 100644
--- a/tests/language/language_analyzer2.status
+++ b/tests/language/language_analyzer2.status
@@ -173,6 +173,8 @@
 override_inheritance_field_test/33a: MissingStaticWarning, Pass # Issue 16498
 override_inheritance_generic_test/09: MissingStaticWarning, Pass # Issue 16498
 
+regress_19413_test/01: MissingStaticWarning # Issue 19424
+
 # The following tests are currently assumed to be failing because the test is wrong.
 #
 application_negative_test: CompileTimeError # Test Issue 14528
diff --git a/tests/language/language_dart2js.status b/tests/language/language_dart2js.status
index b46eadb..c46b8eb 100644
--- a/tests/language/language_dart2js.status
+++ b/tests/language/language_dart2js.status
@@ -33,7 +33,6 @@
 ref_before_declaration_test/05: MissingCompileTimeError
 ref_before_declaration_test/06: MissingCompileTimeError
 
-prefix3_negative_test: Crash # Issue 17139
 setter_declaration2_negative_test: Crash # Issue 17139
 
 # VM specific tests that should not be run by dart2js.
diff --git a/tests/language/regress_19413_bar.dart b/tests/language/regress_19413_bar.dart
new file mode 100644
index 0000000..4ec09db
--- /dev/null
+++ b/tests/language/regress_19413_bar.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library bar;
+
+f() {
+  print('bar.f()');
+}
\ No newline at end of file
diff --git a/tests/language/regress_19413_foo.dart b/tests/language/regress_19413_foo.dart
new file mode 100644
index 0000000..aa200ba
--- /dev/null
+++ b/tests/language/regress_19413_foo.dart
@@ -0,0 +1,9 @@
+// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library foo;
+
+f() {
+  print('foo.f()');
+}
\ No newline at end of file
diff --git a/tests/language/regress_19413_test.dart b/tests/language/regress_19413_test.dart
new file mode 100644
index 0000000..84ff099
--- /dev/null
+++ b/tests/language/regress_19413_test.dart
@@ -0,0 +1,12 @@
+// Copyright (c) 2014, the Dart project authors.  Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+// Regression test for issue 19413.
+
+import 'regress_19413_foo.dart' as foo;
+import 'regress_19413_bar.dart' as foo;
+
+main() {
+  foo.f(); /// 01: static type warning, runtime error
+}
\ No newline at end of file
diff --git a/tools/VERSION b/tools/VERSION
index b4157a4..a3997b2 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 5
 PATCH 0
 PRERELEASE 4
-PRERELEASE_PATCH 12
+PRERELEASE_PATCH 13