summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
authorRoberto Raggi <roberto.raggi@nokia.com>2009-11-13 12:10:12 +0100
committerRoberto Raggi <roberto.raggi@nokia.com>2009-11-13 12:10:12 +0100
commit3e9d4358bc0978367d7eaaeeda5264686d7fa1de (patch)
tree84b859d52354a099bfc5eb794bdc02b6d96b66ea /src/shared/cplusplus/ASTMatcher.cpp
parent5644775d2f9a275b6bc0b8081cdb26e8fca29e16 (diff)
downloadqt-creator-3e9d4358bc0978367d7eaaeeda5264686d7fa1de.tar.gz
Pass the translation units to the matcher.
Diffstat (limited to 'src/shared/cplusplus/ASTMatcher.cpp')
-rw-r--r--src/shared/cplusplus/ASTMatcher.cpp58
1 files changed, 8 insertions, 50 deletions
diff --git a/src/shared/cplusplus/ASTMatcher.cpp b/src/shared/cplusplus/ASTMatcher.cpp
index 5d9269602a..ec31e0e3d9 100644
--- a/src/shared/cplusplus/ASTMatcher.cpp
+++ b/src/shared/cplusplus/ASTMatcher.cpp
@@ -34,65 +34,23 @@
using namespace CPlusPlus;
-ASTMatcher::ASTMatcher(Control *control)
- : _control(control)
+ASTMatcher::ASTMatcher(TranslationUnit *translationUnit, TranslationUnit *patternTranslationUnit)
+ : _translationUnit(translationUnit), _patternTranslationUnit(patternTranslationUnit)
{ }
ASTMatcher::~ASTMatcher()
{ }
-Control *ASTMatcher::control() const
-{ return _control; }
-
TranslationUnit *ASTMatcher::translationUnit() const
-{ return _control->translationUnit(); }
-
-unsigned ASTMatcher::tokenCount() const
-{ return translationUnit()->tokenCount(); }
-
-const Token &ASTMatcher::tokenAt(unsigned index) const
-{ return translationUnit()->tokenAt(index); }
-
-int ASTMatcher::tokenKind(unsigned index) const
-{ return translationUnit()->tokenKind(index); }
-
-const char *ASTMatcher::spell(unsigned index) const
-{ return translationUnit()->spell(index); }
-
-Identifier *ASTMatcher::identifier(unsigned index) const
-{ return translationUnit()->identifier(index); }
-
-Literal *ASTMatcher::literal(unsigned index) const
-{ return translationUnit()->literal(index); }
-
-NumericLiteral *ASTMatcher::numericLiteral(unsigned index) const
-{ return translationUnit()->numericLiteral(index); }
-
-StringLiteral *ASTMatcher::stringLiteral(unsigned index) const
-{ return translationUnit()->stringLiteral(index); }
-
-void ASTMatcher::getPosition(unsigned offset,
- unsigned *line,
- unsigned *column,
- StringLiteral **fileName) const
-{ translationUnit()->getPosition(offset, line, column, fileName); }
-
-void ASTMatcher::getTokenPosition(unsigned index,
- unsigned *line,
- unsigned *column,
- StringLiteral **fileName) const
-{ translationUnit()->getTokenPosition(index, line, column, fileName); }
-
-void ASTMatcher::getTokenStartPosition(unsigned index, unsigned *line, unsigned *column) const
-{ getPosition(tokenAt(index).begin(), line, column); }
+{ return _translationUnit; }
-void ASTMatcher::getTokenEndPosition(unsigned index, unsigned *line, unsigned *column) const
-{ getPosition(tokenAt(index).end(), line, column); }
+TranslationUnit *ASTMatcher::patternTranslationUnit() const
+{ return _patternTranslationUnit; }
-bool ASTMatcher::matchToken(unsigned index, unsigned otherIndex) const
+bool ASTMatcher::matchToken(unsigned tokenIndex, unsigned patternTokenIndex) const
{
- const Token &token = tokenAt(index);
- const Token &otherToken = tokenAt(otherIndex);
+ const Token &token = _translationUnit->tokenAt(tokenIndex);
+ const Token &otherToken = _patternTranslationUnit->tokenAt(patternTokenIndex);
if (token.f.kind != otherToken.f.kind)
return false;
else if (token.is(T_IDENTIFIER)) {