summaryrefslogtreecommitdiffstats
path: root/clang/lib/Format/UnwrappedLineParser.h
diff options
context:
space:
mode:
authorManuel Klimek <klimek@google.com>2013-01-05 22:56:06 +0000
committerManuel Klimek <klimek@google.com>2013-01-05 22:56:06 +0000
commit52d0fd8961ef4d03e042ac9eb1b30610518e3016 (patch)
tree66f1f3dd31828000ce6c155da69c284c020ced81 /clang/lib/Format/UnwrappedLineParser.h
parentef2cfb110d776dd9fc34c4154a1e6d5f774df25f (diff)
downloadbcm5719-llvm-52d0fd8961ef4d03e042ac9eb1b30610518e3016.tar.gz
bcm5719-llvm-52d0fd8961ef4d03e042ac9eb1b30610518e3016.zip
Fixes parsing of hash tokens in the middle of a line.
To parse # correctly, we need to know whether it is the first token in a line - we can deduct this either from the whitespace or seeing that the token is the first in the file - we already calculate this information. This patch moves the identification of the first token into the getNextToken method and stores it inside the FormatToken, so the UnwrappedLineParser can stay independent of the SourceManager. llvm-svn: 171640
Diffstat (limited to 'clang/lib/Format/UnwrappedLineParser.h')
-rw-r--r--clang/lib/Format/UnwrappedLineParser.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Format/UnwrappedLineParser.h b/clang/lib/Format/UnwrappedLineParser.h
index a8e5b739bc8..287143dae29 100644
--- a/clang/lib/Format/UnwrappedLineParser.h
+++ b/clang/lib/Format/UnwrappedLineParser.h
@@ -31,7 +31,8 @@ namespace format {
/// whitespace characters preceeding it.
struct FormatToken {
FormatToken()
- : NewlinesBefore(0), HasUnescapedNewline(false), WhiteSpaceLength(0) {
+ : NewlinesBefore(0), HasUnescapedNewline(false), WhiteSpaceLength(0),
+ IsFirst(false) {
}
/// \brief The \c Token.
@@ -56,6 +57,9 @@ struct FormatToken {
/// \brief The length in characters of the whitespace immediately preceeding
/// the \c Token.
unsigned WhiteSpaceLength;
+
+ /// \brief Indicates that this is the first token.
+ bool IsFirst;
};
/// \brief An unwrapped line is a sequence of \c Token, that we would like to
OpenPOWER on IntegriCloud