summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/FormatToken.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Format/FormatToken.h')
-rw-r--r--clang/lib/Format/FormatToken.h51
1 files changed, 24 insertions, 27 deletions
diff --git a/clang/lib/Format/FormatToken.h b/clang/lib/Format/FormatToken.h
index 053a3b050e4..732096bbcfb 100644
--- a/clang/lib/Format/FormatToken.h
+++ b/clang/lib/Format/FormatToken.h
@@ -271,26 +271,27 @@ struct FormatToken {
bool IsForEachMacro;
bool is(tok::TokenKind Kind) const { return Tok.is(Kind); }
-
bool is(TokenType TT) const { return Type == TT; }
-
bool is(const IdentifierInfo *II) const {
return II && II == Tok.getIdentifierInfo();
}
-
- template <typename T>
- bool isOneOf(T K1, T K2) const {
+ template <typename A, typename B> bool isOneOf(A K1, B K2) const {
return is(K1) || is(K2);
}
-
- template <typename T>
- bool isOneOf(T K1, T K2, T K3) const {
+ template <typename A, typename B, typename C>
+ bool isOneOf(A K1, B K2, C K3) const {
return is(K1) || is(K2) || is(K3);
}
-
+ template <typename A, typename B, typename C, typename D>
+ bool isOneOf(A K1, B K2, C K3, D K4) const {
+ return is(K1) || is(K2) || is(K3) || is(K4);
+ }
+ template <typename A, typename B, typename C, typename D, typename E>
+ bool isOneOf(A K1, B K2, C K3, D K4, E K5) const {
+ return is(K1) || is(K2) || is(K3) || is(K4) || is(K5);
+ }
template <typename T>
- bool isOneOf(T K1, T K2, T K3, T K4, T K5 = tok::NUM_TOKENS,
- T K6 = tok::NUM_TOKENS, T K7 = tok::NUM_TOKENS,
+ bool isOneOf(T K1, T K2, T K3, T K4, T K5, T K6, T K7 = tok::NUM_TOKENS,
T K8 = tok::NUM_TOKENS, T K9 = tok::NUM_TOKENS,
T K10 = tok::NUM_TOKENS, T K11 = tok::NUM_TOKENS,
T K12 = tok::NUM_TOKENS) const {
@@ -298,11 +299,7 @@ struct FormatToken {
is(K8) || is(K9) || is(K10) || is(K11) || is(K12);
}
- template <typename T>
- bool isNot(T Kind) const {
- return Tok.isNot(Kind);
- }
- bool isNot(IdentifierInfo *II) const { return II != Tok.getIdentifierInfo(); }
+ template <typename T> bool isNot(T Kind) const { return !is(Kind); }
bool isStringLiteral() const { return tok::isStringLiteral(Tok.getKind()); }
@@ -327,20 +324,19 @@ struct FormatToken {
/// \brief Returns whether \p Tok is ([{ or a template opening <.
bool opensScope() const {
- return isOneOf(tok::l_paren, tok::l_brace, tok::l_square) ||
- Type == TT_TemplateOpener;
+ return isOneOf(tok::l_paren, tok::l_brace, tok::l_square,
+ TT_TemplateOpener);
}
/// \brief Returns whether \p Tok is )]} or a template closing >.
bool closesScope() const {
- return isOneOf(tok::r_paren, tok::r_brace, tok::r_square) ||
- Type == TT_TemplateCloser;
+ return isOneOf(tok::r_paren, tok::r_brace, tok::r_square,
+ TT_TemplateCloser);
}
/// \brief Returns \c true if this is a "." or "->" accessing a member.
bool isMemberAccess() const {
return isOneOf(tok::arrow, tok::period, tok::arrowstar) &&
- Type != TT_DesignatedInitializerPeriod &&
- Type != TT_TrailingReturnArrow;
+ !isOneOf(TT_DesignatedInitializerPeriod, TT_TrailingReturnArrow);
}
bool isUnaryOperator() const {
@@ -366,7 +362,7 @@ struct FormatToken {
bool isTrailingComment() const {
return is(tok::comment) &&
- (Type == TT_LineComment || !Next || Next->NewlinesBefore > 0);
+ (is(TT_LineComment) || !Next || Next->NewlinesBefore > 0);
}
/// \brief Returns \c true if this is a keyword that can be used
@@ -412,10 +408,9 @@ struct FormatToken {
/// \brief Returns \c true if this tokens starts a block-type list, i.e. a
/// list that should be indented with a block indent.
bool opensBlockTypeList(const FormatStyle &Style) const {
- return Type == TT_ArrayInitializerLSquare ||
- (is(tok::l_brace) &&
- (BlockKind == BK_Block || Type == TT_DictLiteral ||
- !Style.Cpp11BracedListStyle));
+ return is(TT_ArrayInitializerLSquare) ||
+ (is(tok::l_brace) && (BlockKind == BK_Block || is(TT_DictLiteral) ||
+ !Style.Cpp11BracedListStyle));
}
/// \brief Same as opensBlockTypeList, but for the closing token.
@@ -550,6 +545,7 @@ struct AdditionalKeywords {
kw_extends = &IdentTable.get("extends");
kw_final = &IdentTable.get("final");
kw_implements = &IdentTable.get("implements");
+ kw_instanceof = &IdentTable.get("instanceof");
kw_interface = &IdentTable.get("interface");
kw_synchronized = &IdentTable.get("synchronized");
kw_throws = &IdentTable.get("throws");
@@ -575,6 +571,7 @@ struct AdditionalKeywords {
IdentifierInfo *kw_extends;
IdentifierInfo *kw_final;
IdentifierInfo *kw_implements;
+ IdentifierInfo *kw_instanceof;
IdentifierInfo *kw_interface;
IdentifierInfo *kw_synchronized;
IdentifierInfo *kw_throws;
OpenPOWER on IntegriCloud