Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Unified Diff: pkg/polymer/lib/src/build/messages.dart

Issue 513023002: Step one towards stable error messages with details: (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: pkg/polymer/lib/src/build/messages.dart
diff --git a/pkg/polymer/lib/src/build/messages.dart b/pkg/polymer/lib/src/build/messages.dart
new file mode 100644
index 0000000000000000000000000000000000000000..36b13e089dc2f81a78673cab95b925efae5ca1f5
--- /dev/null
+++ b/pkg/polymer/lib/src/build/messages.dart
@@ -0,0 +1,528 @@
+// 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.
+
+/// Contains all error and warning messages produced by polymer.
+library polymer.src.build.messages;
+
+import 'package:code_transformers/messages/messages.dart';
+import 'constants.dart';
+
+const importNotFound = const MessageTemplate(
+ const MessageId('polymer', 1),
+ 'couldn\'t find imported asset "%-path-%" in package "%-package-%".',
+ 'Import not found',
+ '''
+An HTML import seems to be broken. This could be because the file doesn't exist
+or because the link URL is incorrect.
+''');
+
+const duplicateDefinition = const MessageTemplate(
+ const MessageId('polymer', 2),
+ 'duplicate definition for custom tag "%-name-%".%-second-%',
+ 'Duplicate definition',
+ '''
+Custom element names are global and can only be defined once. Some common
+reasons why you might get two definitions:
+
+ * There are two different elements defined with the same name.
Kathy Walrath 2014/09/03 21:26:55 There are two -> Two defined with -> have [or "are
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 went with option 4: `are declared with` :)
+ * A single HTML file defining an element, is imported from two different
Kathy Walrath 2014/09/03 21:26:55 , is imported from -> has been imported using
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ URLs.
+''');
+
+const usePolymerHtmlMessage = const MessageTemplate(
+ const MessageId('polymer', 3),
+ 'Missing definition for <polymer-element>, please add the following '
+ 'HTML import at the top of this file: <link rel="import" '
+ 'href="%-reachOutPrefix-%packages/polymer/polymer.html">.',
+ 'Missing import to polymer.html',
+ '''
+Starting with polymer 0.11.0 we require that each file that uses the definition
Kathy Walrath 2014/09/03 21:26:54 0.11.0 we require that each -> 0.11.0, each
Siggi Cherem (dart-lang) 2014/09/04 02:32:18 Done.
+of polymer-element has to import it either directly or transitively.
Kathy Walrath 2014/09/03 21:26:54 has to import -> must import
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+''');
+
+const noImportWithinElement = const MessageTemplate(
+ const MessageId('polymer', 4),
+ 'Polymer.dart\'s implementation of '
+ 'HTML imports are not supported within polymer element definitions, yet. '
+ 'Please move the import out of this <polymer-element>.',
Kathy Walrath 2014/09/03 21:26:53 Please move -> Move
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Pretty please? :) I'm actually curious: since thi
Kathy Walrath 2014/09/04 17:07:28 I suppose "Please" isn't bad here. We don't usuall
+ 'Can\'t use imports inside <polymer-element>',
+ '''
+HTML imports are expected on the top of each document, outside of any
Kathy Walrath 2014/09/03 21:26:53 on the -> at the
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+polymer-element definitions. The polymer build process combines all your HTML
+files together so you can deploy a single HTML file with your application. This
+build process will ignore imports that appear to be in the wrong location.
Kathy Walrath 2014/09/03 21:26:54 will ignore -> ignores
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+''');
+
+const useInitDart = const MessageTemplate(
+ const MessageId('polymer', 5),
+ 'To run a polymer application, you need to call "initPolymer". You can '
Kathy Walrath 2014/09/03 21:26:55 "initPolymer" -> initPolymer()
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ 'either include a generic script tag that does this for you:'
+ '\'<script type="application/dart">export "package:polymer/init.dart";'
+ '</script>\' or add your own script tag and call that function. '
+ 'Make sure the script tag is placed after all HTML imports.',
+ 'Missing init.dart',
+ '''
+We determined that your application entry point didn't have any Dart script
Kathy Walrath 2014/09/03 21:26:55 -> Your application entrypoint doesn't have...
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+tags, and hence, it's missing some initialization needed for polymer.dart.
Kathy Walrath 2014/09/03 21:26:54 ->tags, so it's...
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+''');
+
+const noDartScriptAndExperimental = const MessageTemplate(
+ const MessageId('polymer', 6),
+ 'The experimental bootstrap feature doesn\'t support script tags on '
+ 'the main document (for now).',
+ 'No script tags with experimental bootstrap.',
Kathy Walrath 2014/09/03 21:26:55 Remove the "."
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+ 'This experimental feature is no longer supported.');
+
+const onlyOneTag = const MessageTemplate(
+ const MessageId('polymer', 7),
+ 'Only one "application/dart" script tag per document is allowed.',
+ 'Single tag per document',
Kathy Walrath 2014/09/03 21:26:55 Most of these are phrased to describe the problem,
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ '''
+Dartium currently limits to have a single script tag per document. Any
Kathy Walrath 2014/09/03 21:26:55 limits to have a single -> allows only one
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+additional script tags might be ignored or result in an error. This will
+likely change in the future, but for now, we recommend that you combine the
+script tags together into a single Dart library.
+''');
+
+const moveHtmlImportsUp = const MessageTemplate(
+ const MessageId('polymer', 8),
+ 'Move HTML imports above your Dart script tag.',
+ 'Imports before script tags',
+ '''
+It is good practice to put all your HTML imports at the beginning of the
+document, above any Dart script tags. Today, the execution of Dart script tags
+is not synchronous in Dartium, so the difference is not noticeable. However, we
+are planning changes in Dartium that will eventually make the timing of script
+tags execution match how they are in Javascript. At that point the order of your
+imports with respect to script tags will be important. Following the practice of
+putting imports first protects your app from a future breaking change in this
+respect.
+''');
+
+const missingHref = const MessageTemplate(
+ const MessageId('polymer', 9),
+ 'link rel="%-rel-%" missing href.',
+ 'Missing href on a `<link>` tag',
+ 'All `<link>` tags should have a valid URL to a resource.');
+
+const elementWasDeprecatedEonsAgo = const MessageTemplate(
+ const MessageId('polymer', 10),
+ '<element> elements are not supported, use <polymer-element> instead',
+ '`<element>` is deprecated',
+ '''
+Long ago `<polymer-element>` used to be called `<element>`. You probably ran
+into this error if you were migrating code that was written on a very early
+version of polymer.
+''');
+
+// TODO(jmesserly): this warning is wrong if someone is using raw custom
+// elements. Is there another way we can handle this warning that won't
+// generate false positives?
+const customElementNotFound = const MessageTemplate(
+ const MessageId('polymer', 11),
+ 'custom element with name "%-tag-%" not found.',
+ 'Definition of a custom element not found',
+ '''
+The polymer build was not able to find the definition of a custom element. This
+can happen if an element is defined with a `<polymer-element>` tag, but you are
+missing an HTML import or the import link is incorrect.
+
+This warning can also be a false alarm. For instance, when an element is defined
+programatically using `document.registerElement`. In that case the polymer build
+will not be able to see the definition and will produce this warning.
+''');
+
+const scriptTagSeemsEmpty = const MessageTemplate(
+ const MessageId('polymer', 12),
+ 'script tag seems empty.',
+ 'Empty script tag',
+ 'Script tags should either have a `src` attribute or a non-empty body.');
+
+const wrongScriptTypeExpectedDart = const MessageTemplate(
+ const MessageId('polymer', 13),
+ 'Wrong script type, expected type="application/dart".',
+ 'Expected Dart mime-type',
+'''
+You seem to have a `.dart` extension on a script tag, but the mime-type
+doesn't match `application/dart`.
+''');
+
+const wrongFileTypeExpectedDart = const MessageTemplate(
+ const MessageId('polymer', 14),
+ '"application/dart" scripts should use the .dart file extension.',
+ 'Expected Dart file extension',
+'''
+You are using the `application/dart` mime-type on a script tag, so we expected
+the URL to the script source URL to have a `.dart` extension, but it doesn't.
+''');
+
+const foundBothScriptSrcAndBody = const MessageTemplate(
+ const MessageId('polymer', 15),
+ 'script tag has "src" attribute and also has script text.',
+ 'Script tags should have either a URL or an inlined body.',
Kathy Walrath 2014/09/03 21:26:54 -> Script with both src and inline text (be sure
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+'''
+You have a script tag that includes both a `src` attribute, and script text
Kathy Walrath 2014/09/03 21:26:54 attribute,... -> attribute and inline script text.
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+inlined. You must choose one or the other.
+''');
+
+const incorrectInstantiationMissingBaseTag = const MessageTemplate(
+ const MessageId('polymer', 16),
+ 'custom element "%-tag-%" extends from "%-base-%", but '
+ 'this tag will not include the default properties of "%-base-%". '
+ 'To fix this, either write this tag as <%-base-% '
+ 'is="%-tag-%"> or remove the "extends" attribute from '
+ 'the custom element declaration.',
+ 'Incorrect instantiation: missing base tag in instantiation.',
Kathy Walrath 2014/09/03 21:26:54 remove the "."
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+ '''
+When you declare that a custom element extends from a base tag, for example:
+
+ <polymer-element name="my-example" extends="ul">
+
+or:
+
+ <polymer-element name="my-example2" extends="ul">
+ <polymer-element name="my-example" extends="my-example2">
+
+You should instantiate `my-example` by using this syntax:
+
+ <ul is="my-example">
+
+And not:
+
+ <my-example>
+
+Only elements that don't extend from existing HTML elements are created using
+the latter form.
+
+This is because browsers first create the base element, and then upgrade them to
Kathy Walrath 2014/09/03 21:26:55 them -> it
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+have the extra functionality of your custom element. In the example above, using
+`<ul>` tells the browser what is the base type that they need to create before
+doing the upgrade.
Kathy Walrath 2014/09/03 21:26:53 what is the base type that they need to create ->
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+''');
+
+const incorrectInstantiationBogusBaseTag = const MessageTemplate(
+ const MessageId('polymer', 17),
+ 'custom element "%-tag-%" doesn\'t declare any type '
+ 'extensions. To fix this, either rewrite this tag as '
+ '<%-tag-%> or add \'extends="%-base-%"\' to '
+ 'the custom element declaration.',
+
+ 'Incorrect instantiation: extra `is` attribute or missing `extends` '
+ 'in declaration.',
Kathy Walrath 2014/09/03 21:26:55 remove the "."
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+ '''
+Creating a custom element using the syntax:
+
+ <ul is="my-example">
+
+means that the declaration of `my-example` extends transitively from `ul`. This
+error message is shown if the definition of `my-example` doesn't declare this
+extension. It might be that you no longer extend from the base element, in which
+case the fix is to change the instantiation to:
+
+ <my-example>
+
+or that the declaration needs to be fixed and include the `extends` attribute,
Kathy Walrath 2014/09/03 21:26:54 or that -> Another possibility is that and includ
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+for example:
+
+ <polymer-element name="my-example" extends="ul">
+''');
+
+const incorrectInstantiationWrongBaseTag = const MessageTemplate(
+ const MessageId('polymer', 18),
+ 'custom element "%-tag-%" extends from "%-base-%". '
+ 'Did you mean to write <%-base-% is="%-tag-%">?',
+ 'Incorrect instantiation: base tag seems wrong',
+ '''
+It seems you have a declaration like:
+
+ <polymer-element name="my-example" extends="div">
+
+but an instantiation like:
+
+ <span is="my-example">
+
+Both the declaration and the instantiation need to match on the base type. So
+either the instantiation needs to be fixed to be more like:
+
+ <span is="my-example">
+
+or the declaration should be fixed to be like:
+
+ <polymer-element name="my-example" extends="span">
+''');
+
+const noDashesInCustomAttributes = const MessageTemplate(
+ const MessageId('polymer', 19),
+ 'PolymerElement no longer recognizes attribute names with '
+ 'dashes such as "%-name-%". Use %-alternative-% '
+ 'instead (both forms are equivalent in HTML).',
+ 'No dashes allowed in custom attributes',
+ '''
+Polymer used to recognize attributes with dashes like `my-name` and convert them
+to match properties where dashes were removed, and words follow the camelCase
+style (for example `myName`). This feature is no longer available. Now simply
+use the same name as the property.
+
+Because HTML attributes are case-insensitive, you can also write the name of
+your property entirely in lowercase. Just be sure that your custom-elements
+don't declare two properties with the same name but different capitalization.
+''');
+
+
+const eventHandlersOnlyWithinPolymerElements = const MessageTemplate(
+ const MessageId('polymer', 20),
+ 'Inline event handlers are only supported inside '
+ 'declarations of <polymer-element>.',
+ 'Event handlers not supported here',
+ '''
+Bindings of the form `{{ }}` are supported inside `<template>` nodes, even outside
+of `<polymer-element>` declarations. However, those bindings only support binding
+values into the content of a node or an attribute.
+
+Inline event handlers of the form `on-click="{{method}}"` are a special feature
+of polymer elements, so they are only supported inside `<polymer-element>`
+definitions.
+''');
+
+const invalidEventHandlerBody = const MessageTemplate(
+ const MessageId('polymer', 21),
+ 'Invalid event handler body "%-value-%". Declare a method '
+ 'in your custom element "void handlerName(event, detail, target)" '
+ 'and use the form %-name-%="{{handlerName}}".',
+ 'Event handler bindings are method names, not expressions.',
Kathy Walrath 2014/09/03 21:26:53 remove the "." and make it not a sentence. Maybe:
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+ '''
+Unlike data bindings, event handler bindings of the form `on-click="{{method}}"`
+are not evaluated as expressions. They are meant to just contain a simple name
+that resolves to a method in your polymer element's class definition.
+''');
+
+const nestedPolymerElementDefinitionsNotAllowed = const MessageTemplate(
+ const MessageId('polymer', 22),
+ 'Nested polymer element definitions are not allowed.',
+ 'Nested polymer element definitions are not allowed.',
Kathy Walrath 2014/09/03 21:26:55 Nested polymer element definitions not allowed (r
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ '''
+Because custom element names are global, there is no need to have a
+`<polymer-element>` defined nested within a `<polymer-element>`. If you have a
Kathy Walrath 2014/09/03 21:26:53 defined -> definition?
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+definition inside another, please move the sencond definition out.
Kathy Walrath 2014/09/03 21:26:53 please move -> move sencond -> second
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+
+It's possible that you see this error if you have an HTML import within a
Kathy Walrath 2014/09/03 21:26:55 It's possible that you -> You might
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+polymer element. You should be able to also move the import out of the element
Kathy Walrath 2014/09/03 21:26:54 to also -> to
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+definition.
+''');
+
+const missingTagName = const MessageTemplate(
+ const MessageId('polymer', 23),
+ 'Missing tag name of the custom element. Please include an '
Kathy Walrath 2014/09/03 21:26:55 Please include -> Include
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ 'attribute like \'name="your-tag-name"\'.',
+ 'Polymer element definitions must have a name.',
Kathy Walrath 2014/09/03 21:26:55 -> Polymer element definition without a name
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ '''
+Polymer element definitions must have a name. You can include a name by using
+the `name` attribute in `<polymer-element>` for example:
+
+ <polymer-element name="my-example">
+''');
+
+final invalidTagName = new MessageTemplate(
+ const MessageId('polymer', 24),
+ 'Invalid name "%-name-%". Custom element names must have '
+ 'at least one dash and can\'t be any of the following names: '
Kathy Walrath 2014/09/03 21:26:54 dash -> dash (-)
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+ '${invalidTagNames.keys.join(", ")}.',
+ 'Custom element names must have a dash.',
Kathy Walrath 2014/09/03 21:26:53 -> Custom element name missing a dash
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+ '''
+Custom element names must have a dash and can\'t be any of the following
Kathy Walrath 2014/09/03 21:26:55 dash -> dash (`-`)
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+reserved names:
+
+${invalidTagNames.keys.map((e) => ' * `$e`\n').join('')}
+
+''');
+
+final inlineImportFail = const MessageTemplate(
+ const MessageId('polymer', 25),
+ 'Failed to inline html import: %-error-%',
Kathy Walrath 2014/09/03 21:26:54 html -> HTML
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ 'An error occurred while iniling an import',
Kathy Walrath 2014/09/03 21:26:54 iniling -> inlining
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 wow - this typo has been there for months!
+ '''
+An error occurred while iniling an import in the polymer build. This is often
+the result of a broken HTML import.
+''');
+
+final inlineStyleFail = const MessageTemplate(
+ const MessageId('polymer', 26),
+ 'Failed to inline stylesheet: %-error-%',
+ 'An error occurred while iniling a stylesheet.',
Kathy Walrath 2014/09/03 21:26:55 -> Error while inlining a stylesheet (remove the
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ '''
+An error occurred while iniling a stylesheet in the polymer build. This is often
Kathy Walrath 2014/09/03 21:26:53 GLOBAL: iniling -> inlining
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+the result of a broken URL in a `<link rel="stylesheet" href="...">`.
+''');
+
+final scriptFileNotFound = const MessageTemplate(
+ const MessageId('polymer', 27),
+ 'Script file at "%-url-%" not found.',
+ 'URL to a script file might be incorrect',
+ '''
+An error occurred trying to read a script tag on a given URL. This is often the
+result of a broken URL in a `<script src="...">`.
+''');
+
+final useUnderscorePrefix = const MessageTemplate(
+ const MessageId('polymer', 28),
+ 'When using bindings with the "%-name-%" attribute you may '
+ 'experience errors in certain browsers. Please use the '
+ '"_%-name-%" attribute instead.',
+ 'Not all browsers support bindings to URL attributes',
Kathy Walrath 2014/09/03 21:26:53 This message seems more specific than the previous
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done
+ '''
+Not all browsers support bindings to URL attributes. Some browsers might
Kathy Walrath 2014/09/03 21:26:55 Delete the first sentence if it just repeats the m
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Well well well - you just found a bug in the linte
+sanitize the attributes and result in an incorrect link. For this reason polymer
+provides a special set of attributes that let you bypass any browser internal
+attribute validation. The name of the attribute is the same as the original
+attribute, but with a leading underscore. For example, instead of writing:
+
+ <img src="{{binding}}">
+
+you can write:
+
+ <img _src="{{binding}}">
+
+For more information, see <http://goo.gl/5av8cU>.
+''');
+
+final dontUseUndercorePrefix = const MessageTemplate(
+ const MessageId('polymer', 29),
+ 'The "_%-name-%" attribute is only supported when using bindings. '
+ 'Please change to the "%-name-%" attribute.',
+ 'The special underscore attribute is only for bindings.',
Kathy Walrath 2014/09/03 21:26:54 -> Attribute has "_" prefix'
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+ '''
+A special attribute exists to support bindings on URL attributes. For example,
+this correctly binds the `src` attribute in an image:
+
+ <img _src="{{binding}}">
+
+However, this special `_src` attribute is only available for bindings. If you
+just have a URL, use the normal `src` attribute instead.
+''');
+
+final internalErrorDontKnowHowToImport = const MessageTemplate(
+ const MessageId('polymer', 30),
+ "internal error: don't know how to include %-target-% from"
+ " %-source-%.%-extra-%",
+ "Internal error: don't know how to include a URL",
+ '''
+Sorry, you just run into a bug in the polymer transformer code. Please file a
Kathy Walrath 2014/09/03 21:26:54 you just run -> you just ran [GLOBAL]
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+bug at <http://dartbug.com/new> including if possible some example code that can
Kathy Walrath 2014/09/03 21:26:55 including if possible some -> including, if possib
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+help us reproduce the issue so we can investigate.
Kathy Walrath 2014/09/03 21:26:54 delete " so we can investigate"
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+''');
+
+final internalErrorUnexpectedScript = const MessageTemplate(
+ const MessageId('polymer', 31),
+ 'unexpected script. The ScriptCompactor transformer should run after '
+ 'running the ImportInliner',
+ 'Internal error: phases run out of order',
+ '''
+Sorry, you just run into a bug in the polymer transformer code. Please file a
+bug at <http://dartbug.com/new> including if possible some example code that can
+help us reproduce the issue so we can investigate.
+''');
+
+final noPrivateCustomTag = const MessageTemplate(
+ const MessageId('polymer', 32),
+ '@CustomTag is not currently supported on private classes:'
+ ' %-name-%. Consider making this class public, or create a '
+ 'public initialization method marked with `@initMethod` that calls '
+ '`Polymer.register(%-name-%, %-className-%)`.',
+ '`@CustomTag` is only supported on public classes.',
Kathy Walrath 2014/09/03 21:26:54 -> `@CustomTag` used on a private class
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+ '''
+The `@CustomTag` annotation is currently only supported on public classes. If
+you need to register a custom element whose implementation is a private class,
Kathy Walrath 2014/09/03 21:26:53 Maybe clarify that it's private because its name s
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 added, but I'm not convinced this is the right pla
+you can still do so by invoking `Polymer.register` within a public method marked
+with `@initMethod`.
+''');
+
+final noPrivateInitMethod = const MessageTemplate(
+ const MessageId('polymer', 33),
+ '@initMethod is no longer supported on private functions: %-name-%',
+ '`@initMethod` is only supported on public functions.',
Kathy Walrath 2014/09/03 21:26:55 -> `@initMethod` used on a private function
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 Done.
+ '''
+The `@initMethod` annotation is currently only supported on public top-level
+functions.
+''');
+
+final missingArgumentInAnnotation = const MessageTemplate(
+ const MessageId('polymer', 34),
+ 'Missing argument in @%-name-% annotation',
+ 'Missing argument in annotation',
+ 'The annotation expects one argument, but the argument was not provided.');
+
+final invalidArgumentInAnnotation = const MessageTemplate(
+ const MessageId('polymer', 35),
+ 'The parameter to @%-name-% seems to be invalid.',
+ 'Invalid argument in annotation',
Kathy Walrath 2014/09/03 21:26:54 -> Non-constant argument in annotation
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Kept as "invalid" because we don't know that the p
+ '''
+We expected a constant argument in an annotation, but the polymer build was not
Kathy Walrath 2014/09/03 21:26:55 -> The polymer transformer was not able to extract
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+able to extract the value of this argument. This can happen if your code is
+currently in a state that can't be analyzed (for example, it has parse
+errors) or if the expression passed as an argument is invalid (for example, it
+is not a compile-time constant).
+''');
+
+
+final noInitializersError = const MessageTemplate(
+ const MessageId('polymer', 36),
+ 'No polymer initializers were found. Make sure to either '
+ 'annotate your polymer elements with @CustomTag or include a '
+ 'top level method annotated with @initMethod that registers your '
+ 'elements. Both annotations are defined in the polymer library ('
+ 'package:polymer/polymer.dart).',
+ 'No polymer initializers found',
+ '''
+No polymer initializers were found. Make sure to either
+annotate your polymer elements with @CustomTag or include a
+top level method annotated with @initMethod that registers your
+elements. Both annotations are defined in the polymer library (
+package:polymer/polymer.dart).
+''');
+
+final noEventBindingsWithAtExpression = const MessageTemplate(
+ const MessageId('polymer', 37),
+ 'event bindings with @ are no longer supported',
+ 'Event bindings with @ are no longer supported',
+ '''
+For a while there was an undocumented feature that allowed users to include
+expressions in event bindings using the `@` prefix, for example:
+
+ <div on-click="{{@a.b.c}}">
+
+This feature is no longer supported.
+''');
+
+final noPrivateEventHandlers = const MessageTemplate(
+ const MessageId('polymer', 38),
+ 'private symbols cannot be used in event handlers',
+ 'Private symbols cannot be used in event handlers',
Kathy Walrath 2014/09/03 21:26:53 -> Private symbol in event handler
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+ '''
+Currently private members can't be used on event handlers. So you can't write:
Kathy Walrath 2014/09/03 21:26:53 on -> as? with? for?
Siggi Cherem (dart-lang) 2014/09/04 02:32:16 in? :)
+
+ <div on-click="{{_method}}">
+
+This restriction might be removed in the future, but for now, you need to make
+your event handlers public.
+''');
+
+final noPrivateSymbolsInBinding = const MessageTemplate(
+ const MessageId('polymer', 39),
+ 'private symbols are not supported',
+ 'Private symbols are not supported',
Kathy Walrath 2014/09/03 21:26:53 -> Private symbol in a binding expression
Siggi Cherem (dart-lang) 2014/09/04 02:32:17 Done.
+ '''
+Private members can't be used on binding expressions. For example, you can't
+write:
+
+ <div>{{a.b._c}}</div>
+''');
+
+final html5Warning = const MessageTemplate(
+ const MessageId('polymer', 40),
+ '(from html5lib) %-message-%',
+ 'A warning was found while parsing the html document',
Kathy Walrath 2014/09/03 21:26:54 html -> HTML [global within text]
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+ '''
+We use a parser that implements the HTML5 spec (`html5lib`). We report any
Kathy Walrath 2014/09/03 21:26:53 We use a -> The polymer transformer uses a We rep
Siggi Cherem (dart-lang) 2014/09/04 02:32:15 Done.
+warnings that were detected by our parser during the polymer build process.
+''');

Powered by Google App Engine
This is Rietveld 408576698