blob: 993912102a1fa7bbff0be828274e3885e1c928b8 [file] [log] [blame]
// 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.
import 'package:analyzer/dart/ast/token.dart';
export 'package:front_end/src/scanner/token.dart'
show
BeginToken,
CommentToken,
DocumentationCommentToken,
KeywordToken,
SimpleToken,
StringToken,
SyntheticBeginToken,
SyntheticKeywordToken,
SyntheticStringToken,
SyntheticToken,
TokenClass;
/**
* Return the binary operator that is invoked by the given compound assignment
* [operator]. Throw [StateError] if the assignment [operator] does not
* correspond to a binary operator.
*/
TokenType operatorFromCompoundAssignment(TokenType operator) {
if (operator == TokenType.AMPERSAND_EQ) {
return TokenType.AMPERSAND;
} else if (operator == TokenType.BAR_EQ) {
return TokenType.BAR;
} else if (operator == TokenType.CARET_EQ) {
return TokenType.CARET;
} else if (operator == TokenType.GT_GT_EQ) {
return TokenType.GT_GT;
} else if (operator == TokenType.GT_GT_GT_EQ) {
return TokenType.GT_GT_GT;
} else if (operator == TokenType.LT_LT_EQ) {
return TokenType.LT_LT;
} else if (operator == TokenType.MINUS_EQ) {
return TokenType.MINUS;
} else if (operator == TokenType.PERCENT_EQ) {
return TokenType.PERCENT;
} else if (operator == TokenType.PLUS_EQ) {
return TokenType.PLUS;
} else if (operator == TokenType.SLASH_EQ) {
return TokenType.SLASH;
} else if (operator == TokenType.STAR_EQ) {
return TokenType.STAR;
} else if (operator == TokenType.TILDE_SLASH_EQ) {
return TokenType.TILDE_SLASH;
} else {
throw StateError('Unknown assignment operator: $operator');
}
}