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
Tobias Hunger
qt-creator
Commits
e9a5ab1b
Commit
e9a5ab1b
authored
Sep 25, 2009
by
Roberto Raggi
Browse files
Added the `isVirtual' attribute to Function.
parent
54d60a77
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/shared/cplusplus/CheckDeclaration.cpp
View file @
e9a5ab1b
...
...
@@ -316,6 +316,7 @@ bool CheckDeclaration::visit(FunctionDefinitionAST *ast)
translationUnit
()
->
error
(
ast
->
ctor_initializer
->
firstToken
(),
"only constructors take base initializers"
);
}
accept
(
ast
->
ctor_initializer
);
}
const
int
previousVisibility
=
semantic
()
->
switchVisibility
(
Symbol
::
Public
);
...
...
src/shared/cplusplus/CheckDeclarator.cpp
View file @
e9a5ab1b
...
...
@@ -168,6 +168,9 @@ bool CheckDeclarator::visit(FunctionDeclaratorAST *ast)
ast
->
symbol
=
fun
;
fun
->
setReturnType
(
_fullySpecifiedType
);
if
(
_fullySpecifiedType
.
isVirtual
())
fun
->
setVirtual
(
true
);
if
(
ast
->
parameters
)
{
DeclarationListAST
*
parameter_declarations
=
ast
->
parameters
->
parameter_declarations
;
for
(
DeclarationListAST
*
decl
=
parameter_declarations
;
decl
;
decl
=
decl
->
next
)
{
...
...
src/shared/cplusplus/Symbols.cpp
View file @
e9a5ab1b
...
...
@@ -259,6 +259,12 @@ bool Function::hasArguments() const
(
argumentCount
()
==
1
&&
argumentAt
(
0
)
->
type
()
->
isVoidType
()));
}
bool
Function
::
isVirtual
()
const
{
return
f
.
_isVirtual
;
}
void
Function
::
setVirtual
(
bool
isVirtual
)
{
f
.
_isVirtual
=
isVirtual
;
}
bool
Function
::
isVariadic
()
const
{
return
f
.
_isVariadic
;
}
...
...
src/shared/cplusplus/Symbols.h
View file @
e9a5ab1b
...
...
@@ -307,6 +307,9 @@ public:
/** Convenience function that returns whether the function receives any arguments. */
bool
hasArguments
()
const
;
bool
isVirtual
()
const
;
void
setVirtual
(
bool
isVirtual
);
bool
isVariadic
()
const
;
void
setVariadic
(
bool
isVariadic
);
...
...
@@ -348,6 +351,7 @@ private:
TemplateParameters
*
_templateParameters
;
FullySpecifiedType
_returnType
;
struct
Flags
{
unsigned
_isVirtual
:
1
;
unsigned
_isVariadic
:
1
;
unsigned
_isPureVirtual
:
1
;
unsigned
_isConst
:
1
;
...
...
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