diff options
author | Erik Verbruggen <[email protected]> | 2013-12-10 14:37:32 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2013-12-20 17:05:09 +0100 |
commit | 5beb74fd9d11b31b360e0a336e269b81cbca1f5a (patch) | |
tree | 6b1bad7c9798e29c694e216f1196e0f47b77ceff /src/plugins/clangcodemodel/sourcelocation.cpp | |
parent | 93b7528431857d67aa0ffdc60f835d987aa7b101 (diff) |
Add experimental clang code-model plug-in.
Previously known as the wip/clang branch.
Contributors (in alphabetical order):
- Christian Kamm <[email protected]>
- Erik Verbruggen <[email protected]>
- Leandro Melo <[email protected]>
- Peter Kuemmel <[email protected]>
- Sergey Shambir <[email protected]>
Change-Id: I4c3ff600a19b6732641c1d5ef28236bf2cc17737
Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/clangcodemodel/sourcelocation.cpp')
-rw-r--r-- | src/plugins/clangcodemodel/sourcelocation.cpp | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/plugins/clangcodemodel/sourcelocation.cpp b/src/plugins/clangcodemodel/sourcelocation.cpp new file mode 100644 index 00000000000..be5ace24bf0 --- /dev/null +++ b/src/plugins/clangcodemodel/sourcelocation.cpp @@ -0,0 +1,79 @@ +/**************************************************************************** +** +** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Contact: http://www.qt-project.org/legal +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Digia. For licensing terms and +** conditions see http://qt.digia.com/licensing. For further information +** use the contact form at http://qt.digia.com/contact-us. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Digia gives you certain additional +** rights. These rights are described in the Digia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +****************************************************************************/ + +#include "sourcelocation.h" + +using namespace ClangCodeModel; + +SourceLocation::SourceLocation() + : m_line(0) + , m_column(0) + , m_offset(0) +{} + +SourceLocation::SourceLocation(const QString &fileName, + unsigned line, + unsigned column, + unsigned offset) + : m_fileName(fileName) + , m_line(line) + , m_column(column) + , m_offset(offset) +{} + +namespace ClangCodeModel { + +bool operator==(const SourceLocation &a, const SourceLocation &b) +{ + return a.line() == b.line() + && a.column() == b.column() + && a.offset() == b.offset() + && a.fileName() == b.fileName() + ; +} + +bool operator!=(const SourceLocation &a, const SourceLocation &b) +{ + return !(a == b); +} + +QDebug operator<<(QDebug dbg, const SourceLocation &location) +{ + dbg.nospace() << location.fileName() + << " [" + << location.line() + << ":" + << location.column() + << "(" + << location.offset() + << ")]"; + return dbg.space(); +} + +} // ClangCodeModel |