Index: sdk/lib/_internal/pub/lib/src/pubspec.dart |
diff --git a/sdk/lib/_internal/pub/lib/src/pubspec.dart b/sdk/lib/_internal/pub/lib/src/pubspec.dart |
index ee9106735ddc3dd3dfa96bf63e2537d01922eeff..bcef655b914a6e5a1fc6eb1d298d0ae2a7e2642a 100644 |
--- a/sdk/lib/_internal/pub/lib/src/pubspec.dart |
+++ b/sdk/lib/_internal/pub/lib/src/pubspec.dart |
@@ -150,6 +150,15 @@ class Pubspec { |
_error('"$field.$library" field must be a map, but was ' |
'"$configuration".'); |
} |
+ |
+ var reservedKeys = configuration.keys |
+ .where((key) => key is String && key.startsWith(r'$')) |
+ .map((key) => '"$key"'); |
+ if (reservedKeys.isNotEmpty) { |
+ _error('"$field.$library" field cannot contain reserved ' |
+ '${pluralize('field', reservedKeys.length)} ' |
+ '${toSentence(reservedKeys)}.'); |
+ } |
} |
var id = _wrapFormatException("transformer identifier", |