2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2016 The Qt Company Ltd.
|
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
2013-01-14 23:11:10 +04:00
|
|
|
|
2016-03-18 07:55:01 +01:00
|
|
|
#pragma once
|
2013-01-14 23:11:10 +04:00
|
|
|
|
2022-07-15 11:49:34 +02:00
|
|
|
namespace Python::Internal {
|
2013-01-14 23:11:10 +04:00
|
|
|
|
|
|
|
|
enum Format {
|
|
|
|
|
Format_Number = 0,
|
|
|
|
|
Format_String,
|
|
|
|
|
Format_Keyword,
|
|
|
|
|
Format_Type,
|
|
|
|
|
Format_ClassField,
|
|
|
|
|
Format_MagicAttr, // magic class attribute/method, like __name__, __init__
|
|
|
|
|
Format_Operator,
|
|
|
|
|
Format_Comment,
|
|
|
|
|
Format_Doxygen,
|
|
|
|
|
Format_Identifier,
|
|
|
|
|
Format_Whitespace,
|
|
|
|
|
Format_ImportedModule,
|
2020-07-03 14:14:05 +02:00
|
|
|
Format_LParen,
|
|
|
|
|
Format_RParen,
|
2013-01-14 23:11:10 +04:00
|
|
|
|
2017-05-05 20:41:43 +02:00
|
|
|
Format_FormatsAmount
|
2013-01-14 23:11:10 +04:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class FormatToken
|
|
|
|
|
{
|
|
|
|
|
public:
|
2018-11-23 23:23:01 +01:00
|
|
|
FormatToken() = default;
|
2013-01-14 23:11:10 +04:00
|
|
|
|
2016-08-03 00:07:44 +02:00
|
|
|
FormatToken(Format format, int position, int length)
|
|
|
|
|
: m_format(format), m_position(position), m_length(length)
|
2013-01-14 23:11:10 +04:00
|
|
|
{}
|
|
|
|
|
|
2017-05-05 20:41:43 +02:00
|
|
|
bool isEndOfBlock() { return m_position == -1; }
|
|
|
|
|
|
2016-08-03 00:07:44 +02:00
|
|
|
Format format() const { return m_format; }
|
|
|
|
|
int begin() const { return m_position; }
|
|
|
|
|
int end() const { return m_position + m_length; }
|
|
|
|
|
int length() const { return m_length; }
|
2013-01-14 23:11:10 +04:00
|
|
|
|
|
|
|
|
private:
|
2017-05-05 20:41:43 +02:00
|
|
|
Format m_format = Format_FormatsAmount;
|
|
|
|
|
int m_position = -1;
|
|
|
|
|
int m_length = -1;
|
2013-01-14 23:11:10 +04:00
|
|
|
};
|
|
|
|
|
|
2022-07-15 11:49:34 +02:00
|
|
|
} // Python::Internal
|