summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/ASTMatcher.cpp
diff options
context:
space:
mode:
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)) {