diff --git a/pkg/analyzer/lib/src/fasta/error_converter.dart b/pkg/analyzer/lib/src/fasta/error_converter.dart
index 4a4f989..aebe4d2 100644
--- a/pkg/analyzer/lib/src/fasta/error_converter.dart
+++ b/pkg/analyzer/lib/src/fasta/error_converter.dart
@@ -630,6 +630,10 @@
         errorReporter?.reportErrorForOffset(
             ParserErrorCode.TYPEDEF_IN_CLASS, offset, length);
         return;
+      case "UNDEFINED_CLASS":
+        errorReporter?.reportErrorForOffset(
+            CompileTimeErrorCode.UNDEFINED_CLASS, offset, length);
+        return;
       case "UNDEFINED_GETTER":
         errorReporter?.reportErrorForOffset(
             StaticTypeWarningCode.UNDEFINED_GETTER, offset, length);
diff --git a/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart b/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart
index bdb31cc..2e438f2 100644
--- a/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart
+++ b/pkg/front_end/lib/src/fasta/fasta_codes_generated.dart
@@ -1449,6 +1449,19 @@
     tip: r"""Try removing the return type.""");
 
 // DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const Code<Null> codeConstructorWithTypeArguments =
+    messageConstructorWithTypeArguments;
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
+const MessageCode messageConstructorWithTypeArguments = const MessageCode(
+    "ConstructorWithTypeArguments",
+    analyzerCode: "UNDEFINED_CLASS",
+    severity: Severity.error,
+    message:
+        r"""A constructor invocation can't have type arguments on the constructor name.""",
+    tip: r"""Try to place the type arguments on the class name.""");
+
+// DO NOT EDIT. THIS FILE IS GENERATED. SEE TOP OF FILE.
 const Code<Null> codeConstructorWithTypeParameters =
     messageConstructorWithTypeParameters;
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index d312acf..b6bd338 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -2830,6 +2830,10 @@
       identifier = list[1];
       if (prefix is TypeUseGenerator) {
         type = prefix;
+        if (typeArguments != null) {
+          addProblem(fasta.messageConstructorWithTypeArguments,
+              identifier.token.charOffset, identifier.name.length);
+        }
       } else if (prefix is Generator) {
         type = prefix.prefixedLookup(identifier.token);
         identifier = null;
diff --git a/pkg/front_end/messages.yaml b/pkg/front_end/messages.yaml
index 98522b3..f1df363 100644
--- a/pkg/front_end/messages.yaml
+++ b/pkg/front_end/messages.yaml
@@ -1160,6 +1160,14 @@
     - "class C { factory C<T>() => null; }"
     - "class C { factory C.foo<T>() => null; }"
 
+ConstructorWithTypeArguments:
+  template: "A constructor invocation can't have type arguments on the constructor name."
+  tip: "Try to place the type arguments on the class name."
+  severity: ERROR
+  analyzerCode: UNDEFINED_CLASS
+  script:
+    - "class C<X> { C.foo(); } bar() { new C.foo<int>(); }"
+
 ConstructorWithWrongName:
   template: "The name of a constructor must match the name of the enclosing class."
   severity: ERROR
diff --git a/tests/language_2/constructor_reference_test.dart b/tests/language_2/constructor_reference_test.dart
new file mode 100644
index 0000000..1dae4a2
--- /dev/null
+++ b/tests/language_2/constructor_reference_test.dart
@@ -0,0 +1,41 @@
+// Copyright (c) 2018, 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.
+
+class Foo<X> {
+  const Foo();
+  const Foo.bar();
+  const Foo.baz();
+}
+
+main() {
+  new Foo(); //# 01: ok
+  new Foo.bar(); //# 02: ok
+  new Foo.bar.baz(); //# 03: compile-time error
+  new Foo<int>(); //# 04: ok
+  new Foo<int>.bar(); //# 05: ok
+  new Foo<int>.bar.baz(); //# 06: compile-time error
+  new Foo.bar<int>(); //# 07: compile-time error
+  new Foo.bar<int>.baz(); //# 08: compile-time error
+  new Foo.bar.baz<int>(); //# 09: compile-time error
+
+  const Foo(); //# 11: ok
+  const Foo.bar(); //# 12: ok
+  const Foo.bar.baz(); //# 13: compile-time error
+  const Foo<int>(); //# 14: ok
+  const Foo<int>.bar(); //# 15: ok
+  const Foo<int>.bar.baz(); //# 16: compile-time error
+  const Foo.bar<int>(); //# 17: compile-time error
+  const Foo.bar<int>.baz(); //# 18: compile-time error
+  const Foo.bar.baz<int>(); //# 19: compile-time error
+
+  Foo(); //# 21: ok
+  Foo.bar(); //# 22: ok
+  Foo.bar.baz(); //# 23: compile-time error
+  Foo<int>(); //# 24: ok
+  Foo<int>.bar(); //# 25: ok
+  Foo<int>.bar.baz(); //# 26: compile-time error
+  Foo.bar<int>(); //# 27: compile-time error
+  Foo.bar<int>.baz(); //# 28: compile-time error
+  Foo.bar.baz<int>(); //# 29: compile-time error
+}
diff --git a/tests/language_2/language_2_analyzer.status b/tests/language_2/language_2_analyzer.status
index 432a67f..6805a0a 100644
--- a/tests/language_2/language_2_analyzer.status
+++ b/tests/language_2/language_2_analyzer.status
@@ -23,6 +23,7 @@
 conflicting_generic_interfaces_hierarchy_loop_infinite_test: Skip # Crashes or times out
 const_cast2_test/01: CompileTimeError
 const_cast2_test/none: CompileTimeError
+constructor_reference_test/27: MissingCompileTimeError # Issue 34270
 default_implementation2_test: CompileTimeError # Issue 30855
 dynamic_prefix_core_test/01: MissingCompileTimeError
 emit_const_fields_test: CompileTimeError
diff --git a/tests/language_2/language_2_dartdevc.status b/tests/language_2/language_2_dartdevc.status
index 593a7ce..c4a8c21 100644
--- a/tests/language_2/language_2_dartdevc.status
+++ b/tests/language_2/language_2_dartdevc.status
@@ -36,6 +36,7 @@
 const_cast2_test/none: CompileTimeError
 const_constructor_mixin3_test/01: MissingCompileTimeError # Issue 33644
 const_constructor_mixin_test/01: MissingCompileTimeError # Issue 33644
+constructor_reference_test/27: MissingCompileTimeError
 covariance_field_test/03: RuntimeError
 covariant_override/tear_off_type_test: RuntimeError # Issue 28395
 default_implementation2_test: CompileTimeError # Issue 30855
diff --git a/tests/language_2/language_2_kernel.status b/tests/language_2/language_2_kernel.status
index 3925076..b3f8360 100644
--- a/tests/language_2/language_2_kernel.status
+++ b/tests/language_2/language_2_kernel.status
@@ -209,6 +209,7 @@
 const_constructor_mixin_test: CompileTimeError # Issue 33644.
 const_types_test/34: MissingCompileTimeError # Issue 31590
 const_types_test/39: MissingCompileTimeError # Issue 31590
+constructor_reference_test/27: MissingCompileTimeError # Issue 32972 (parsed as method call)
 cyclic_type_variable_test/01: MissingCompileTimeError # Issue 32989 (missing cycle check in bounds)
 cyclic_type_variable_test/02: MissingCompileTimeError # Issue 32989 (missing cycle check in bounds)
 cyclic_type_variable_test/03: MissingCompileTimeError # Issue 32989 (missing cycle check in bounds)
@@ -268,7 +269,6 @@
 mixin_invalid_bound_test/10: MissingCompileTimeError # Issue 33308
 mixin_super_bound_test/01: MissingCompileTimeError # Issue 33308
 mixin_super_bound_test/02: MissingCompileTimeError # Issue 33308
-named_constructor_test/01: MissingCompileTimeError # Issue 34159
 named_parameters_default_eq_test/02: MissingCompileTimeError # Issue 34160
 redirecting_factory_default_values_test/01: MissingCompileTimeError # Issue 34160
 redirecting_factory_default_values_test/02: MissingCompileTimeError # Issue 34160
@@ -1518,7 +1518,6 @@
 method_override6_test/03: MissingCompileTimeError
 mixin_illegal_super_use_test: Skip # Issues 24478 and 23773
 mixin_illegal_superclass_test: Skip # Issues 24478 and 23773
-named_constructor_test/01: MissingRuntimeError # Fasta bug: Bad compilation of constructor reference.
 named_parameters_default_eq_test/none: RuntimeError
 nested_generic_closure_test: RuntimeError
 no_main_test/01: Skip
