Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qqmllsutils_p.h
Go to the documentation of this file.
1// Copyright (C) 2023 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QLANGUAGESERVERUTILS_P_H
5#define QLANGUAGESERVERUTILS_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include <QtLanguageServer/private/qlanguageserverspectypes_p.h>
19#include <QtQmlDom/private/qqmldomexternalitems_p.h>
20#include <QtQmlDom/private/qqmldomtop_p.h>
21#include <algorithm>
22#include <tuple>
23#include <variant>
24
26
28{
31};
32
34{
35 int line;
37};
38
40{
43
45 {
46 return std::make_tuple(a.filename, a.location.begin(), a.location.end())
47 < std::make_tuple(b.filename, b.location.begin(), b.location.end());
48 }
50 {
51 return std::make_tuple(a.filename, a.location.begin(), a.location.end())
52 == std::make_tuple(b.filename, b.location.begin(), b.location.end());
53 }
54};
55
65};
66
68{
69public:
70 static qsizetype textOffsetFrom(const QString &code, int row, int character);
73 int character);
76 static QByteArray lspUriToQmlUrl(const QByteArray &uri);
78 static QLspSpecification::Range qmlLocationToLspLocation(const QString &code,
79 QQmlJS::SourceLocation qmlLocation);
82 static std::optional<QQmlLSUtilsLocation> findDefinitionOf(QQmlJS::Dom::DomItem item);
84
87};
89
90#endif // QLANGUAGESERVERUTILS_P_H
\inmodule QtCore
Definition qbytearray.h:57
Definition qlist.h:74
std::shared_ptr< AttachedInfoT< FileLocations > > Tree
static QQmlJS::Dom::DomItem findTypeDefinitionOf(QQmlJS::Dom::DomItem item)
Extracts the QML object type of an \l DomItem.
static QQmlJS::Dom::DomItem sourceLocationToDomItem(QQmlJS::Dom::DomItem file, const QQmlJS::SourceLocation &location)
static QQmlJSScope::ConstPtr resolveExpressionType(QQmlJS::Dom::DomItem item, QQmlLSUtilsResolveOptions)
static std::optional< QQmlLSUtilsLocation > findDefinitionOf(QQmlJS::Dom::DomItem item)
static QByteArray lspUriToQmlUrl(const QByteArray &uri)
static QQmlJS::Dom::DomItem baseObject(QQmlJS::Dom::DomItem qmlObject)
static QByteArray qmlUrlToLspUri(const QByteArray &url)
static QList< QQmlLSUtilsLocation > findUsagesOf(QQmlJS::Dom::DomItem item)
static QLspSpecification::Range qmlLocationToLspLocation(const QString &code, QQmlJS::SourceLocation qmlLocation)
Converts a QQmlJS::SourceLocation to a LSP Range.
static qsizetype textOffsetFrom(const QString &code, int row, int character)
Convert a text position from (line, column) into an offset.
static QList< QQmlLSUtilsItemLocation > itemsFromTextLocation(QQmlJS::Dom::DomItem file, int line, int character)
Find the DomItem representing the object situated in file at given line and character/column.
static QQmlLSUtilsTextPosition textRowAndColumnFrom(const QString &code, qsizetype offset)
Convert a text position from an offset into (line, column).
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
Combined button and popup list for selecting options.
GLint location
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLenum GLuint GLintptr offset
GLenum GLenum GLsizei void * row
QQmlLSUtilsResolveOptions
@ Everything
@ JustOwner
ptrdiff_t qsizetype
Definition qtypes.h:70
QFile file
[0]
QUrl url("example.com")
[constructor-url-reference]
QGraphicsItem * item
QQmlJS::Dom::DomItem domItem
QQmlJS::Dom::FileLocations::Tree fileLocation
friend bool operator==(const QQmlLSUtilsLocation &a, const QQmlLSUtilsLocation &b)
QQmlJS::SourceLocation location
friend bool operator<(const QQmlLSUtilsLocation &a, const QQmlLSUtilsLocation &b)