Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
0d314977
Commit
0d314977
authored
Feb 09, 2009
by
Roberto Raggi
Browse files
Annotated the NameAST nodes.
parent
95d8b844
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/shared/cplusplus/AST.h
View file @
0d314977
...
...
@@ -422,6 +422,9 @@ public:
NameAST
*
name
;
BaseSpecifierAST
*
next
;
public:
// annotations
BaseClass
*
base_class_symbol
;
public:
virtual
unsigned
firstToken
()
const
;
virtual
unsigned
lastToken
()
const
;
...
...
@@ -1060,6 +1063,9 @@ protected:
class
CPLUSPLUS_EXPORT
NameAST
:
public
ExpressionAST
{
public:
// annotations
Name
*
name
;
public:
virtual
NameAST
*
clone
(
MemoryPool
*
pool
)
const
=
0
;
};
...
...
src/shared/cplusplus/CheckName.cpp
View file @
0d314977
...
...
@@ -121,6 +121,8 @@ bool CheckName::visit(QualifiedNameAST *ast)
names
.
push_back
(
semantic
()
->
check
(
ast
->
unqualified_name
,
_scope
));
_name
=
control
()
->
qualifiedNameId
(
&
names
[
0
],
names
.
size
(),
ast
->
global_scope_token
!=
0
);
ast
->
name
=
_name
;
return
false
;
}
...
...
@@ -302,6 +304,7 @@ bool CheckName::visit(OperatorFunctionIdAST *ast)
}
// switch
_name
=
control
()
->
operatorNameId
(
kind
);
ast
->
name
=
_name
;
return
false
;
}
...
...
@@ -317,6 +320,7 @@ bool CheckName::visit(SimpleNameAST *ast)
{
Identifier
*
id
=
identifier
(
ast
->
identifier_token
);
_name
=
control
()
->
nameId
(
id
);
ast
->
name
=
_name
;
return
false
;
}
...
...
@@ -324,6 +328,7 @@ bool CheckName::visit(DestructorNameAST *ast)
{
Identifier
*
id
=
identifier
(
ast
->
identifier_token
);
_name
=
control
()
->
destructorNameId
(
id
);
ast
->
name
=
_name
;
return
false
;
}
...
...
@@ -342,6 +347,7 @@ bool CheckName::visit(TemplateIdAST *ast)
else
_name
=
control
()
->
templateNameId
(
id
,
&
templateArguments
[
0
],
templateArguments
.
size
());
ast
->
name
=
_name
;
return
false
;
}
...
...
src/shared/cplusplus/CheckSpecifier.cpp
View file @
0d314977
...
...
@@ -315,6 +315,7 @@ bool CheckSpecifier::visit(ClassSpecifierAST *ast)
for
(
BaseSpecifierAST
*
base
=
ast
->
base_clause
;
base
;
base
=
base
->
next
)
{
Name
*
baseClassName
=
semantic
()
->
check
(
base
->
name
,
_scope
);
BaseClass
*
baseClass
=
control
()
->
newBaseClass
(
ast
->
firstToken
(),
baseClassName
);
base
->
base_class_symbol
=
baseClass
;
if
(
base
->
token_virtual
)
baseClass
->
setVirtual
(
true
);
if
(
base
->
token_access_specifier
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment