summaryrefslogtreecommitdiff
path: root/src/shared/cplusplus/Symbol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/cplusplus/Symbol.cpp')
-rw-r--r--src/shared/cplusplus/Symbol.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp
index 8f5dc3b492..c02a10f318 100644
--- a/src/shared/cplusplus/Symbol.cpp
+++ b/src/shared/cplusplus/Symbol.cpp
@@ -158,6 +158,8 @@ Symbol::Symbol(TranslationUnit *translationUnit, unsigned sourceLocation, Name *
: _control(translationUnit->control()),
_sourceLocation(sourceLocation),
_sourceOffset(0),
+ _startOffset(0),
+ _endOffset(0),
_name(0),
_hashCode(0),
_storage(Symbol::NoStorage),
@@ -245,12 +247,33 @@ StringLiteral *Symbol::fileId() const
return fileId;
}
+void Symbol::getPosition(unsigned *line, unsigned *column, StringLiteral **fileId)
+{ translationUnit()->getPosition(_sourceOffset, line, column, fileId); }
+
+void Symbol::getStartPosition(unsigned *line, unsigned *column, StringLiteral **fileId)
+{ translationUnit()->getPosition(_startOffset, line, column, fileId); }
+
+void Symbol::getEndPosition(unsigned *line, unsigned *column, StringLiteral **fileId)
+{ translationUnit()->getPosition(_endOffset, line, column, fileId); }
+
const char *Symbol::fileName() const
{ return fileId()->chars(); }
unsigned Symbol::fileNameLength() const
{ return fileId()->size(); }
+unsigned Symbol::startOffset() const
+{ return _startOffset; }
+
+void Symbol::setStartOffset(unsigned offset)
+{ _startOffset = offset; }
+
+unsigned Symbol::endOffset() const
+{ return _endOffset; }
+
+void Symbol::setEndOffset(unsigned offset)
+{ _endOffset = offset; }
+
Name *Symbol::identity() const
{
IdentityForName id;