Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
e689a173
Commit
e689a173
authored
Dec 03, 2008
by
Roberto Raggi
Browse files
Check for the wrong usage of ctor initializers.
parent
3d994523
Changes
1
Hide whitespace changes
Inline
Side-by-side
shared/cplusplus/CheckDeclaration.cpp
View file @
e689a173
...
...
@@ -236,13 +236,21 @@ bool CheckDeclaration::visit(FunctionDefinitionAST *ast)
_scope
->
enterSymbol
(
fun
);
if
(
ast
->
ctor_initializer
&&
(
ty
.
isValid
()
||
(
fun
->
identity
()
&&
!
fun
->
identity
()
->
isNameId
())))
{
translationUnit
()
->
error
(
ast
->
ctor_initializer
->
firstToken
(),
"only constructors take base initializers"
);
if
(
ast
->
ctor_initializer
)
{
bool
looksLikeCtor
=
false
;
if
(
ty
.
isValid
()
||
!
fun
->
identity
())
looksLikeCtor
=
false
;
else
if
(
fun
->
identity
()
->
isNameId
()
||
fun
->
identity
()
->
isTemplateNameId
())
looksLikeCtor
=
true
;
if
(
!
looksLikeCtor
)
{
translationUnit
()
->
error
(
ast
->
ctor_initializer
->
firstToken
(),
"only constructors take base initializers"
);
}
}
int
previousVisibility
=
semantic
()
->
switchVisibility
(
Symbol
::
Public
);
int
previousMethodKey
=
semantic
()
->
switchMethodKey
(
Function
::
NormalMethod
);
const
int
previousVisibility
=
semantic
()
->
switchVisibility
(
Symbol
::
Public
);
const
int
previousMethodKey
=
semantic
()
->
switchMethodKey
(
Function
::
NormalMethod
);
semantic
()
->
check
(
ast
->
function_body
,
fun
->
members
());
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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