From a2f064715672ef911e39d167ed130a576c5b982e Mon Sep 17 00:00:00 2001 From: Jens Johansen Date: Wed, 27 Nov 2024 08:47:50 +0000 Subject: [PATCH] [CFE] Change error message on package uri error Bug: https://github.com/dart-lang/sdk/issues/59606 Change-Id: Id2737637f5074bc7ab4a1647fabe64a95a949218 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/397760 Reviewed-by: Johnni Winther Commit-Queue: Jens Johansen --- .../lib/src/base/uri_translator.dart | 3 ++- .../testcases/regress/issue_59606.dart | 2 ++ .../regress/issue_59606.dart.strong.expect | 25 +++++++++++++++++++ .../issue_59606.dart.strong.modular.expect | 25 +++++++++++++++++++ .../issue_59606.dart.strong.outline.expect | 25 +++++++++++++++++++ ...issue_59606.dart.strong.transformed.expect | 16 ++++++++++++ .../issue_59606.dart.textual_outline.expect | 3 +++ ...59606.dart.textual_outline_modelled.expect | 2 ++ 8 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart.strong.expect create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart.strong.modular.expect create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart.strong.outline.expect create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart.strong.transformed.expect create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart.textual_outline.expect create mode 100644 pkg/front_end/testcases/regress/issue_59606.dart.textual_outline_modelled.expect diff --git a/pkg/front_end/lib/src/base/uri_translator.dart b/pkg/front_end/lib/src/base/uri_translator.dart index c06f4bb88fbd..f62b074461d8 100644 --- a/pkg/front_end/lib/src/base/uri_translator.dart +++ b/pkg/front_end/lib/src/base/uri_translator.dart @@ -74,7 +74,8 @@ class UriTranslator { // https://github.com/dart-lang/package_config/issues/40 is fixed. if (reportMessage) { options.reportWithoutLocation( - templateInvalidPackageUri.withArguments(uri, '$e'), Severity.error); + templateInvalidPackageUri.withArguments(uri, "${e.message}"), + Severity.error); } return null; } diff --git a/pkg/front_end/testcases/regress/issue_59606.dart b/pkg/front_end/testcases/regress/issue_59606.dart new file mode 100644 index 000000000000..65872cc0ec8d --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart @@ -0,0 +1,2 @@ +import 'package:foobar1' as a; +import 'package:foobar%32' as b; diff --git a/pkg/front_end/testcases/regress/issue_59606.dart.strong.expect b/pkg/front_end/testcases/regress/issue_59606.dart.strong.expect new file mode 100644 index 000000000000..9d61f61a1c83 --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart.strong.expect @@ -0,0 +1,25 @@ +// +// Problems outside component: +// +// Error: Invalid package URI 'package:foobar1': +// Package URIs must start with the package name followed by a '/'. +// +// Error: Invalid package URI 'package:foobar2': +// Package URIs must start with the package name followed by a '/'. +// +library; +// +// Problems in library: +// +// pkg/front_end/testcases/regress/issue_59606.dart:1:8: Error: Not found: 'package:foobar1' +// import 'package:foobar1' as a; +// ^ +// +// pkg/front_end/testcases/regress/issue_59606.dart:2:8: Error: Not found: 'package:foobar2' +// import 'package:foobar%32' as b; +// ^ +// +import self as self; + +import "package:foobar1" as a; +import "package:foobar2" as b; diff --git a/pkg/front_end/testcases/regress/issue_59606.dart.strong.modular.expect b/pkg/front_end/testcases/regress/issue_59606.dart.strong.modular.expect new file mode 100644 index 000000000000..9d61f61a1c83 --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart.strong.modular.expect @@ -0,0 +1,25 @@ +// +// Problems outside component: +// +// Error: Invalid package URI 'package:foobar1': +// Package URIs must start with the package name followed by a '/'. +// +// Error: Invalid package URI 'package:foobar2': +// Package URIs must start with the package name followed by a '/'. +// +library; +// +// Problems in library: +// +// pkg/front_end/testcases/regress/issue_59606.dart:1:8: Error: Not found: 'package:foobar1' +// import 'package:foobar1' as a; +// ^ +// +// pkg/front_end/testcases/regress/issue_59606.dart:2:8: Error: Not found: 'package:foobar2' +// import 'package:foobar%32' as b; +// ^ +// +import self as self; + +import "package:foobar1" as a; +import "package:foobar2" as b; diff --git a/pkg/front_end/testcases/regress/issue_59606.dart.strong.outline.expect b/pkg/front_end/testcases/regress/issue_59606.dart.strong.outline.expect new file mode 100644 index 000000000000..9d61f61a1c83 --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart.strong.outline.expect @@ -0,0 +1,25 @@ +// +// Problems outside component: +// +// Error: Invalid package URI 'package:foobar1': +// Package URIs must start with the package name followed by a '/'. +// +// Error: Invalid package URI 'package:foobar2': +// Package URIs must start with the package name followed by a '/'. +// +library; +// +// Problems in library: +// +// pkg/front_end/testcases/regress/issue_59606.dart:1:8: Error: Not found: 'package:foobar1' +// import 'package:foobar1' as a; +// ^ +// +// pkg/front_end/testcases/regress/issue_59606.dart:2:8: Error: Not found: 'package:foobar2' +// import 'package:foobar%32' as b; +// ^ +// +import self as self; + +import "package:foobar1" as a; +import "package:foobar2" as b; diff --git a/pkg/front_end/testcases/regress/issue_59606.dart.strong.transformed.expect b/pkg/front_end/testcases/regress/issue_59606.dart.strong.transformed.expect new file mode 100644 index 000000000000..29b10416ab0a --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart.strong.transformed.expect @@ -0,0 +1,16 @@ +library; +// +// Problems in library: +// +// pkg/front_end/testcases/regress/issue_59606.dart:1:8: Error: Not found: 'package:foobar1' +// import 'package:foobar1' as a; +// ^ +// +// pkg/front_end/testcases/regress/issue_59606.dart:2:8: Error: Not found: 'package:foobar2' +// import 'package:foobar%32' as b; +// ^ +// +import self as self; + +import "package:foobar1" as a; +import "package:foobar2" as b; diff --git a/pkg/front_end/testcases/regress/issue_59606.dart.textual_outline.expect b/pkg/front_end/testcases/regress/issue_59606.dart.textual_outline.expect new file mode 100644 index 000000000000..8be5f0cb9508 --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart.textual_outline.expect @@ -0,0 +1,3 @@ +import 'package:foobar1' as a; + +import 'package:foobar%32' as b; diff --git a/pkg/front_end/testcases/regress/issue_59606.dart.textual_outline_modelled.expect b/pkg/front_end/testcases/regress/issue_59606.dart.textual_outline_modelled.expect new file mode 100644 index 000000000000..8b41afdaa36b --- /dev/null +++ b/pkg/front_end/testcases/regress/issue_59606.dart.textual_outline_modelled.expect @@ -0,0 +1,2 @@ +import 'package:foobar%32' as b; +import 'package:foobar1' as a;