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
17d047ce
Commit
17d047ce
authored
Feb 09, 2009
by
Roberto Raggi
Browse files
Reimplemented Name::as*() using virtual functions.
parent
2f905392
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/shared/cplusplus/Name.cpp
View file @
17d047ce
...
...
@@ -63,58 +63,22 @@ Name::~Name()
{
}
bool
Name
::
isNameId
()
const
{
return
dynamic_cast
<
const
NameId
*>
(
this
)
!=
0
;
}
{
return
asNameId
(
)
!=
0
;
}
bool
Name
::
isTemplateNameId
()
const
{
return
dynamic_cast
<
const
TemplateNameId
*>
(
this
)
!=
0
;
}
{
return
as
TemplateNameId
(
)
!=
0
;
}
bool
Name
::
isDestructorNameId
()
const
{
return
dynamic_cast
<
const
DestructorNameId
*>
(
this
)
!=
0
;
}
{
return
as
DestructorNameId
(
)
!=
0
;
}
bool
Name
::
isOperatorNameId
()
const
{
return
dynamic_cast
<
const
OperatorNameId
*>
(
this
)
!=
0
;
}
{
return
as
OperatorNameId
(
)
!=
0
;
}
bool
Name
::
isConversionNameId
()
const
{
return
dynamic_cast
<
const
ConversionNameId
*>
(
this
)
!=
0
;
}
{
return
as
ConversionNameId
(
)
!=
0
;
}
bool
Name
::
isQualifiedNameId
()
const
{
return
dynamic_cast
<
const
QualifiedNameId
*>
(
this
)
!=
0
;
}
const
NameId
*
Name
::
asNameId
()
const
{
return
dynamic_cast
<
const
NameId
*>
(
this
);
}
const
TemplateNameId
*
Name
::
asTemplateNameId
()
const
{
return
dynamic_cast
<
const
TemplateNameId
*>
(
this
);
}
const
DestructorNameId
*
Name
::
asDestructorNameId
()
const
{
return
dynamic_cast
<
const
DestructorNameId
*>
(
this
);
}
const
OperatorNameId
*
Name
::
asOperatorNameId
()
const
{
return
dynamic_cast
<
const
OperatorNameId
*>
(
this
);
}
const
ConversionNameId
*
Name
::
asConversionNameId
()
const
{
return
dynamic_cast
<
const
ConversionNameId
*>
(
this
);
}
const
QualifiedNameId
*
Name
::
asQualifiedNameId
()
const
{
return
dynamic_cast
<
const
QualifiedNameId
*>
(
this
);
}
NameId
*
Name
::
asNameId
()
{
return
dynamic_cast
<
NameId
*>
(
this
);
}
TemplateNameId
*
Name
::
asTemplateNameId
()
{
return
dynamic_cast
<
TemplateNameId
*>
(
this
);
}
DestructorNameId
*
Name
::
asDestructorNameId
()
{
return
dynamic_cast
<
DestructorNameId
*>
(
this
);
}
OperatorNameId
*
Name
::
asOperatorNameId
()
{
return
dynamic_cast
<
OperatorNameId
*>
(
this
);
}
ConversionNameId
*
Name
::
asConversionNameId
()
{
return
dynamic_cast
<
ConversionNameId
*>
(
this
);
}
QualifiedNameId
*
Name
::
asQualifiedNameId
()
{
return
dynamic_cast
<
QualifiedNameId
*>
(
this
);
}
{
return
asQualifiedNameId
()
!=
0
;
}
void
Name
::
accept
(
NameVisitor
*
visitor
)
{
...
...
src/shared/cplusplus/Name.h
View file @
17d047ce
...
...
@@ -74,19 +74,19 @@ public:
bool
isConversionNameId
()
const
;
bool
isQualifiedNameId
()
const
;
const
NameId
*
asNameId
()
const
;
const
TemplateNameId
*
asTemplateNameId
()
const
;
const
DestructorNameId
*
asDestructorNameId
()
const
;
const
OperatorNameId
*
asOperatorNameId
()
const
;
const
ConversionNameId
*
asConversionNameId
()
const
;
const
QualifiedNameId
*
asQualifiedNameId
()
const
;
virtual
const
NameId
*
asNameId
()
const
{
return
0
;
}
virtual
const
TemplateNameId
*
asTemplateNameId
()
const
{
return
0
;
}
virtual
const
DestructorNameId
*
asDestructorNameId
()
const
{
return
0
;
}
virtual
const
OperatorNameId
*
asOperatorNameId
()
const
{
return
0
;
}
virtual
const
ConversionNameId
*
asConversionNameId
()
const
{
return
0
;
}
virtual
const
QualifiedNameId
*
asQualifiedNameId
()
const
{
return
0
;
}
NameId
*
asNameId
()
;
TemplateNameId
*
asTemplateNameId
()
;
DestructorNameId
*
asDestructorNameId
()
;
OperatorNameId
*
asOperatorNameId
()
;
ConversionNameId
*
asConversionNameId
()
;
QualifiedNameId
*
asQualifiedNameId
()
;
virtual
NameId
*
asNameId
()
{
return
0
;
}
virtual
TemplateNameId
*
asTemplateNameId
()
{
return
0
;
}
virtual
DestructorNameId
*
asDestructorNameId
()
{
return
0
;
}
virtual
OperatorNameId
*
asOperatorNameId
()
{
return
0
;
}
virtual
ConversionNameId
*
asConversionNameId
()
{
return
0
;
}
virtual
QualifiedNameId
*
asQualifiedNameId
()
{
return
0
;
}
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
=
0
;
...
...
src/shared/cplusplus/Names.h
View file @
17d047ce
...
...
@@ -77,6 +77,12 @@ public:
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
;
virtual
const
QualifiedNameId
*
asQualifiedNameId
()
const
{
return
this
;
}
virtual
QualifiedNameId
*
asQualifiedNameId
()
{
return
this
;
}
protected:
virtual
void
accept0
(
NameVisitor
*
visitor
);
...
...
@@ -96,6 +102,12 @@ public:
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
;
virtual
const
NameId
*
asNameId
()
const
{
return
this
;
}
virtual
NameId
*
asNameId
()
{
return
this
;
}
protected:
virtual
void
accept0
(
NameVisitor
*
visitor
);
...
...
@@ -113,6 +125,12 @@ public:
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
;
virtual
const
DestructorNameId
*
asDestructorNameId
()
const
{
return
this
;
}
virtual
DestructorNameId
*
asDestructorNameId
()
{
return
this
;
}
protected:
virtual
void
accept0
(
NameVisitor
*
visitor
);
...
...
@@ -137,6 +155,12 @@ public:
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
;
virtual
const
TemplateNameId
*
asTemplateNameId
()
const
{
return
this
;
}
virtual
TemplateNameId
*
asTemplateNameId
()
{
return
this
;
}
protected:
virtual
void
accept0
(
NameVisitor
*
visitor
);
...
...
@@ -211,6 +235,12 @@ public:
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
;
virtual
const
OperatorNameId
*
asOperatorNameId
()
const
{
return
this
;
}
virtual
OperatorNameId
*
asOperatorNameId
()
{
return
this
;
}
protected:
virtual
void
accept0
(
NameVisitor
*
visitor
);
...
...
@@ -228,6 +258,12 @@ public:
virtual
bool
isEqualTo
(
const
Name
*
other
)
const
;
virtual
const
ConversionNameId
*
asConversionNameId
()
const
{
return
this
;
}
virtual
ConversionNameId
*
asConversionNameId
()
{
return
this
;
}
protected:
virtual
void
accept0
(
NameVisitor
*
visitor
);
...
...
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