Skip to content

Commit 78fde67

Browse files
committed
Cxx: fill scope fields of unknown/ref tags
Signed-off-by: Masatake YAMATO <[email protected]>
1 parent 4110035 commit 78fde67

File tree

3 files changed

+30
-28
lines changed

3 files changed

+30
-28
lines changed

Units/parser-c.r/c-reftags.d/expected.tags

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ B input.c /^ A, B$/;" e enum:X file: roles:def
66
i input.c /^extern int i;$/;" x typeref:typename:int roles:def
77
f input.c /^int f(int j)$/;" f typeref:typename:int roles:def
88
j input.c /^int f(int j)$/;" z function:f typeref:typename:int file: roles:def
9-
j input.c /^ if (j == 0)$/;" Y roles:ref
10-
i input.c /^ return i + B + j + f(0);$/;" Y roles:ref
11-
B input.c /^ return i + B + j + f(0);$/;" Y roles:ref
12-
j input.c /^ return i + B + j + f(0);$/;" Y roles:ref
13-
f input.c /^ return i + B + j + f(0);$/;" Y roles:ref
9+
j input.c /^ if (j == 0)$/;" Y function:f roles:ref
10+
i input.c /^ return i + B + j + f(0);$/;" Y function:f roles:ref
11+
B input.c /^ return i + B + j + f(0);$/;" Y function:f roles:ref
12+
j input.c /^ return i + B + j + f(0);$/;" Y function:f roles:ref
13+
f input.c /^ return i + B + j + f(0);$/;" Y function:f roles:ref
Original file line numberDiff line numberDiff line change
@@ -1,65 +1,65 @@
11
QFrame input.h /^class ColumnPreferencesFrame : public QFrame$/;" unknown language:C++
22
ColumnPreferencesFrame input.h /^class ColumnPreferencesFrame : public QFrame$/;" class language:C++
3-
Q_OBJECT input.h /^ Q_OBJECT$/;" unknown language:C++
3+
Q_OBJECT input.h /^ Q_OBJECT$/;" unknown language:C++ class:ColumnPreferencesFrame
44
method0 input.h /^ void method0(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
5-
slots input.h /^private slots:$/;" unknown language:C++
5+
slots input.h /^private slots:$/;" unknown language:C++ class:ColumnPreferencesFrame
66
slot0 input.h /^ void slot0(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
77
slot0 input.h /^ void slot0(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
88
slot1 input.h /^ void slot1(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
99
slot1 input.h /^ void slot1(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
10-
slots input.h /^public slots:$/;" unknown language:C++
10+
slots input.h /^public slots:$/;" unknown language:C++ class:ColumnPreferencesFrame
1111
slot2 input.h /^ void slot2(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
1212
slot2 input.h /^ void slot2(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
1313
slot3 input.h /^ void slot3(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
1414
slot3 input.h /^ void slot3(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
15-
Q_SLOTS input.h /^Q_SLOTS:$/;" unknown language:C++
15+
Q_SLOTS input.h /^Q_SLOTS:$/;" unknown language:C++ class:ColumnPreferencesFrame
1616
slot4 input.h /^ void slot4(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
1717
slot4 input.h /^ void slot4(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
1818
slot5 input.h /^ void slot5(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
1919
slot5 input.h /^ void slot5(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
2020
field0 input.h /^ int field0;$/;" member language:C++ class:ColumnPreferencesFrame typeref:typename:int
2121
method1 input.h /^ virtual void method1(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
22-
Q_SLOTS input.h /^private Q_SLOTS:$/;" unknown language:C++
22+
Q_SLOTS input.h /^private Q_SLOTS:$/;" unknown language:C++ class:ColumnPreferencesFrame
2323
slot6 input.h /^ void slot6(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
2424
slot6 input.h /^ void slot6(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
2525
slot7 input.h /^ void slot7(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
2626
slot7 input.h /^ void slot7(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
27-
Q_SLOTS input.h /^public Q_SLOTS:$/;" unknown language:C++
27+
Q_SLOTS input.h /^public Q_SLOTS:$/;" unknown language:C++ class:ColumnPreferencesFrame
2828
slot8 input.h /^ void slot8(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
2929
slot8 input.h /^ void slot8(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
3030
slot9 input.h /^ void slot9(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
3131
slot9 input.h /^ void slot9(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
32-
slots input.h /^slots:$/;" unknown language:C++
32+
slots input.h /^slots:$/;" unknown language:C++ class:ColumnPreferencesFrame
3333
slot10 input.h /^ void slot10(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
3434
slot10 input.h /^ void slot10(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
3535
slot11 input.h /^ void slot11(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
3636
slot11 input.h /^ void slot11(void);$/;" slot language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
3737
field1 input.h /^ int field1;$/;" member language:C++ class:ColumnPreferencesFrame typeref:typename:int
38-
signals input.h /^signals:$/;" unknown language:C++
38+
signals input.h /^signals:$/;" unknown language:C++ class:ColumnPreferencesFrame
3939
signal0 input.h /^ void signal0(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
4040
signal0 input.h /^ void signal0(void);$/;" signal language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
4141
signal1 input.h /^ void signal1(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
4242
signal1 input.h /^ void signal1(void);$/;" signal language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
4343
field2 input.h /^ int field2;$/;" member language:C++ class:ColumnPreferencesFrame typeref:typename:int
4444
method2 input.h /^ virtual void method2(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
45-
Q_SIGNALS input.h /^Q_SIGNALS:$/;" unknown language:C++
45+
Q_SIGNALS input.h /^Q_SIGNALS:$/;" unknown language:C++ class:ColumnPreferencesFrame
4646
signal2 input.h /^ void signal2(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
4747
signal2 input.h /^ void signal2(void);$/;" signal language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
4848
signal3 input.h /^ void signal3(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
4949
signal3 input.h /^ void signal3(void);$/;" signal language:QtMoc class:ColumnPreferencesFrame typeref:typename:void
5050
field3 input.h /^ int field3;$/;" member language:C++ class:ColumnPreferencesFrame typeref:typename:int
5151
method3 input.h /^ virtual void method3(void);$/;" prototype language:C++ class:ColumnPreferencesFrame typeref:typename:void
52-
Q_PROPERTY input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++
53-
QString input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++
52+
Q_PROPERTY input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++ class:ColumnPreferencesFrame
53+
QString input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++ class:ColumnPreferencesFrame
5454
text input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" property language:QtMoc class:ColumnPreferencesFrame typeref:typename:QString
55-
MEMBER input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++
56-
m_text input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++
57-
NOTIFY input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++
58-
textChanged input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++
59-
Q_PROPERTY input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++
55+
MEMBER input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++ class:ColumnPreferencesFrame
56+
m_text input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++ class:ColumnPreferencesFrame
57+
NOTIFY input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++ class:ColumnPreferencesFrame
58+
textChanged input.h /^ Q_PROPERTY(QString text MEMBER m_text NOTIFY textChanged)$/;" unknown language:C++ class:ColumnPreferencesFrame
59+
Q_PROPERTY input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++ class:ColumnPreferencesFrame
6060
ShowNonprinting input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" property language:QtMoc class:ColumnPreferencesFrame typeref:typename:bool
61-
READ input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++
62-
showsNonprinting input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++
63-
WRITE input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++
64-
setShowsNonprinting input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++
61+
READ input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++ class:ColumnPreferencesFrame
62+
showsNonprinting input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++ class:ColumnPreferencesFrame
63+
WRITE input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++ class:ColumnPreferencesFrame
64+
setShowsNonprinting input.h /^ Q_PROPERTY( bool ShowNonprinting READ showsNonprinting WRITE setShowsNonprinting )$/;" unknown language:C++ class:ColumnPreferencesFrame
6565
field4 input.h /^ int field4;$/;" member language:C++ class:ColumnPreferencesFrame typeref:typename:int

parsers/cxx/cxx_parser_tokenizer.c

+5-3
Original file line numberDiff line numberDiff line change
@@ -1705,9 +1705,11 @@ bool cxxParserParseNextToken(void)
17051705
if (in_subparser)
17061706
pushLanguage(g_cxx.eLangType);
17071707

1708-
g_cxx.pToken->iCorkIndex = makeSimpleRefTag(g_cxx.pToken->pszWord,
1709-
CXXTagKindUNKNOWN,
1710-
CXXTagUnknownRoleREFERENCED);
1708+
tagEntryInfo oEntry;
1709+
initRefTagEntry(&oEntry, vStringValue(g_cxx.pToken->pszWord),
1710+
CXXTagKindUNKNOWN, CXXTagUnknownRoleREFERENCED);
1711+
oEntry.extensionFields.scopeIndex = cxxScopeGetDefTag();
1712+
g_cxx.pToken->iCorkIndex = makeTagEntry(&oEntry);
17111713
g_cxx.pToken->bCorkIndexForReftag = true;
17121714

17131715
if (in_subparser)

0 commit comments

Comments
 (0)