Internals: Minor refactoring from class branch.
This commit is contained in:
parent
e2ba1c041f
commit
023526ad4b
|
|
@ -999,6 +999,12 @@ void AstJumpGo::dump(std::ostream& str) const {
|
||||||
if (labelp()) { labelp()->dump(str); }
|
if (labelp()) { labelp()->dump(str); }
|
||||||
else { str<<"%Error:UNLINKED"; }
|
else { str<<"%Error:UNLINKED"; }
|
||||||
}
|
}
|
||||||
|
void AstMemberSel::dump(std::ostream& str) const {
|
||||||
|
this->AstNode::dump(str);
|
||||||
|
str << " -> ";
|
||||||
|
if (varp()) { varp()->dump(str); }
|
||||||
|
else { str << "%Error:UNLINKED"; }
|
||||||
|
}
|
||||||
void AstModportFTaskRef::dump(std::ostream& str) const {
|
void AstModportFTaskRef::dump(std::ostream& str) const {
|
||||||
this->AstNode::dump(str);
|
this->AstNode::dump(str);
|
||||||
if (isExport()) str<<" EXPORT";
|
if (isExport()) str<<" EXPORT";
|
||||||
|
|
|
||||||
|
|
@ -2064,6 +2064,7 @@ public:
|
||||||
virtual void cloneRelink() { if (m_varp && m_varp->clonep()) { m_varp = m_varp->clonep(); } }
|
virtual void cloneRelink() { if (m_varp && m_varp->clonep()) { m_varp = m_varp->clonep(); } }
|
||||||
virtual const char* broken() const {
|
virtual const char* broken() const {
|
||||||
BROKEN_RTN(m_varp && !m_varp->brokeExists()); return NULL; }
|
BROKEN_RTN(m_varp && !m_varp->brokeExists()); return NULL; }
|
||||||
|
virtual void dump(std::ostream& str) const;
|
||||||
virtual string name() const { return m_name; }
|
virtual string name() const { return m_name; }
|
||||||
virtual V3Hash sameHash() const { return V3Hash(m_name); }
|
virtual V3Hash sameHash() const { return V3Hash(m_name); }
|
||||||
virtual void numberOperate(V3Number& out, const V3Number& lhs, const V3Number& rhs) {
|
virtual void numberOperate(V3Number& out, const V3Number& lhs, const V3Number& rhs) {
|
||||||
|
|
|
||||||
|
|
@ -49,12 +49,12 @@ private:
|
||||||
// NODE STATE
|
// NODE STATE
|
||||||
// Entire netlist:
|
// Entire netlist:
|
||||||
// AstCaseItem::user2() // bool Moved default caseitems
|
// AstCaseItem::user2() // bool Moved default caseitems
|
||||||
AstUser2InUse m_inuser2;
|
AstUser2InUse m_inuser2;
|
||||||
|
|
||||||
// STATE
|
// STATE
|
||||||
// Below state needs to be preserved between each module call.
|
// Below state needs to be preserved between each module call.
|
||||||
AstNodeModule* m_modp; // Current module
|
AstNodeModule* m_modp; // Current module
|
||||||
AstNodeFTask* m_ftaskp; // Function or task we're inside
|
AstNodeFTask* m_ftaskp; // Function or task we're inside
|
||||||
AstNodeCoverOrAssert* m_assertp; // Current assertion
|
AstNodeCoverOrAssert* m_assertp; // Current assertion
|
||||||
int m_senitemCvtNum; // Temporary signal counter
|
int m_senitemCvtNum; // Temporary signal counter
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -129,15 +129,14 @@ public:
|
||||||
return iter->second;
|
return iter->second;
|
||||||
}
|
}
|
||||||
bool ftaskNoInline(AstNodeFTask* nodep) {
|
bool ftaskNoInline(AstNodeFTask* nodep) {
|
||||||
return (getFTaskVertex(nodep)->noInline());
|
return getFTaskVertex(nodep)->noInline();
|
||||||
}
|
}
|
||||||
AstCFunc* ftaskCFuncp(AstNodeFTask* nodep) {
|
AstCFunc* ftaskCFuncp(AstNodeFTask* nodep) {
|
||||||
return (getFTaskVertex(nodep)->cFuncp());
|
return getFTaskVertex(nodep)->cFuncp();
|
||||||
}
|
}
|
||||||
void ftaskCFuncp(AstNodeFTask* nodep, AstCFunc* cfuncp) {
|
void ftaskCFuncp(AstNodeFTask* nodep, AstCFunc* cfuncp) {
|
||||||
getFTaskVertex(nodep)->cFuncp(cfuncp);
|
getFTaskVertex(nodep)->cFuncp(cfuncp);
|
||||||
}
|
}
|
||||||
|
|
||||||
void checkPurity(AstNodeFTask* nodep) {
|
void checkPurity(AstNodeFTask* nodep) {
|
||||||
checkPurity(nodep, getFTaskVertex(nodep));
|
checkPurity(nodep, getFTaskVertex(nodep));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5354,13 +5354,17 @@ classExtendsE<nodep>: // IEEE: part of class_declaration
|
||||||
|
|
||||||
classExtendsList<nodep>: // IEEE: part of class_declaration
|
classExtendsList<nodep>: // IEEE: part of class_declaration
|
||||||
classExtendsOne { $$ = $1; }
|
classExtendsOne { $$ = $1; }
|
||||||
| classExtendsList ',' classExtendsOne { $$ = AstNode::addNextNull($1, $3); }
|
| classExtendsList ',' classExtendsOne
|
||||||
|
{ $$ = $3; BBUNSUP($3, "Multiple inheritance illegal on non-interface classes (IEEE 8.13)"
|
||||||
|
", and unsupported for interface classes."); }
|
||||||
;
|
;
|
||||||
|
|
||||||
classExtendsOne<nodep>: // IEEE: part of class_declaration
|
classExtendsOne<nodep>: // IEEE: part of class_declaration
|
||||||
class_typeWithoutId { $$ = NULL; BBUNSUP($1, "Unsupported: extends"); }
|
class_typeWithoutId
|
||||||
|
{ $$ = NULL; BBUNSUP($1, "Unsupported: extends"); }
|
||||||
// // IEEE: Might not be legal to have more than one set of parameters in an extends
|
// // IEEE: Might not be legal to have more than one set of parameters in an extends
|
||||||
| class_typeWithoutId '(' list_of_argumentsE ')' { $$ = NULL; BBUNSUP($1, "Unsupported: extends"); }
|
| class_typeWithoutId '(' list_of_argumentsE ')'
|
||||||
|
{ $$ = NULL; BBUNSUP($1, "Unsupported: extends"); }
|
||||||
;
|
;
|
||||||
|
|
||||||
classImplementsE<nodep>: // IEEE: part of class_declaration
|
classImplementsE<nodep>: // IEEE: part of class_declaration
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue