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

Unified Diff: pkg/dev_compiler/tool/input_sdk/lib/internal/symbol.dart

Issue 2698353003: unfork DDC's copy of most SDK libraries (Closed)
Patch Set: revert core_patch Created 3 years, 10 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/dev_compiler/tool/input_sdk/lib/internal/symbol.dart
diff --git a/pkg/dev_compiler/tool/input_sdk/lib/internal/symbol.dart b/pkg/dev_compiler/tool/input_sdk/lib/internal/symbol.dart
deleted file mode 100644
index b1aa85595f8663d8375ded41036a52dd586b1cd3..0000000000000000000000000000000000000000
--- a/pkg/dev_compiler/tool/input_sdk/lib/internal/symbol.dart
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (c) 2013, 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.
-
-part of dart._internal;
-
-/**
- * Implementation of [core.Symbol]. This class uses the same name as
- * a core class so a user can't tell the difference.
- *
- * The purpose of this class is to hide [_name] from user code, but
- * make it accessible to Dart platform code via the static method
- * [getName].
- */
-class Symbol implements core.Symbol {
- final String _name;
-
- // Used internally by DDC to map ES6 symbols to Dart.
- final dynamic _nativeSymbol;
-
- /**
- * Source of RegExp matching Dart reserved words.
- *
- * Reserved words are not allowed as identifiers.
- */
- static const String reservedWordRE =
- r'(?:assert|break|c(?:a(?:se|tch)|lass|on(?:st|tinue))|d(?:efault|o)|'
- r'e(?:lse|num|xtends)|f(?:alse|inal(?:ly)?|or)|i[fns]|n(?:ew|ull)|'
- r'ret(?:hrow|urn)|s(?:uper|witch)|t(?:h(?:is|row)|r(?:ue|y))|'
- r'v(?:ar|oid)|w(?:hile|ith))';
- /**
- * Source of RegExp matching any public identifier.
- *
- * A public identifier is a valid identifier (not a reserved word)
- * that doesn't start with '_'.
- */
- static const String publicIdentifierRE =
- r'(?!' '$reservedWordRE' r'\b(?!\$))[a-zA-Z$][\w$]*';
- /**
- * Source of RegExp matching any identifier.
- *
- * It matches identifiers but not reserved words. The identifiers
- * may start with '_'.
- */
- static const String identifierRE =
- r'(?!' '$reservedWordRE' r'\b(?!\$))[a-zA-Z$_][\w$]*';
- /**
- * Source of RegExp matching a declarable operator names.
- *
- * The operators that can be declared using `operator` declarations are
- * also the only ones allowed as symbols. The name of the oeprators is
- * the same as the operator itself except for unary minus, where the name
- * is "unary-".
- */
- static const String operatorRE =
- r'(?:[\-+*/%&|^]|\[\]=?|==|~/?|<[<=]?|>[>=]?|unary-)';
-
- // Grammar if symbols:
- // symbol ::= qualifiedName | <empty>
- // qualifiedName ::= publicIdentifier '.' qualifiedName | name
- // name ::= publicIdentifier
- // | publicIdentifier '='
- // | operator
- // where publicIdentifier is any valid identifier (not a reserved word)
- // that isn't private (doesn't start with '_').
- //
- // Railroad diagram of the accepted grammar:
- //
- // /----------------\
- // | |
- // | /-[.]-/ /-[=]-\
- // \ / / \
- // -------[id]------------------------->
- // \ /
- // \------[operator]---/
- // \ /
- // \------------/
- //
-
- /**
- * RegExp that validates a non-empty non-private symbol.
- *
- * The empty symbol is handled before this regexp is used, and is not
- * accepted.
- */
- static final RegExp publicSymbolPattern = new RegExp(
- '^(?:$operatorRE\$|$publicIdentifierRE(?:=?\$|[.](?!\$)))+?\$');
-
- // The grammar of symbols that may be private is the same as for public
- // symbols, except that "publicIdentifier" is replaced by "identifier",
- // which matches any identifier.
-
- /**
- * RegExp that validates a non-empty symbol.
- *
- * Private symbols are accepted.
- *
- * The empty symbol is handled before this regexp is used, and is not
- * accepted.
- */
- static final RegExp symbolPattern =
- new RegExp('^(?:$operatorRE\$|$identifierRE(?:=?\$|[.](?!\$)))+?\$');
-
- external const Symbol(String name);
-
- external const Symbol.es6(String name, nativeSymbol);
-
- /**
- * Platform-private method used by the mirror system to create
- * otherwise invalid names.
- */
- const Symbol.unvalidated(this._name) : this._nativeSymbol = null;
-
- // This is called by dart2js.
- Symbol.validated(String name)
- : this._name = validatePublicSymbol(name),
- this._nativeSymbol = null;
-
- bool operator ==(Object other) =>
- other is Symbol &&
- _name == other._name &&
- _nativeSymbol == other._nativeSymbol;
-
- external int get hashCode;
-
- toString() => 'Symbol("$_name")';
-
- /// Platform-private accessor which cannot be called from user libraries.
- static String getName(Symbol symbol) => symbol._name;
-
- static dynamic getNativeSymbol(Symbol symbol) => symbol._nativeSymbol;
-
- static String validatePublicSymbol(String name) {
- if (name.isEmpty || publicSymbolPattern.hasMatch(name)) return name;
- if (name.startsWith('_')) {
- // There may be other private parts in a qualified name than the first
- // one, but this is a common case that deserves a specific error
- // message.
- throw new ArgumentError('"$name" is a private identifier');
- }
- throw new ArgumentError('"$name" is not a valid (qualified) symbol name');
- }
-
- /**
- * Checks whether name is a valid symbol name.
- *
- * This test allows both private and non-private symbols.
- */
- static bool isValidSymbol(String name) {
- return (name.isEmpty || symbolPattern.hasMatch(name));
- }
-}
« no previous file with comments | « pkg/dev_compiler/tool/input_sdk/lib/internal/sort.dart ('k') | pkg/dev_compiler/tool/input_sdk/lib/io/bytes_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698