blob: 9b0e56da5e68d3c721ee1619ae3bf4890db70bfc [file] [log] [blame]
// Copyright (c) 2012, 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 metadata;
/**
* An annotation used to mark a feature as only being supported by a subset
* of the browsers that Dart supports by default.
*
* If an API is not annotated with [SupportedBrowser] then it is assumed to
* work on all browsers Dart supports.
*/
class SupportedBrowser {
static const String CHROME = "Chrome";
static const String FIREFOX = "Firefox";
static const String IE = "Internet Explorer";
static const String OPERA = "Opera";
static const String SAFARI = "Safari";
/// The name of the browser.
final String browserName;
/// The minimum version of the browser that supports the feature, or null
/// if supported on all versions.
final String minimumVersion;
const SupportedBrowser(this.browserName, [this.minimumVersion]);
}
/**
* An annotation used to mark an API as being experimental.
*
* An API is considered to be experimental if it is still going through the
* process of stabilizing and is subject to change or removal.
*
* See also:
*
* * [W3C recommendation](http://en.wikipedia.org/wiki/W3C_recommendation)
*/
class Experimental {
const Experimental();
}
/**
* Annotation that specifies that a member is editable through generate files.
*
* This is used for API generation.
*
* [name] should be formatted as `interface.member`.
*/
class DomName {
final String name;
const DomName(this.name);
}
/**
* Metadata that specifies that that member is editable through generated
* files.
*/
class DocsEditable {
const DocsEditable();
}
/**
* Annotation that indicates that an API is not expected to change but has
* not undergone enough testing to be considered stable.
*/
class Unstable {
const Unstable();
}