VertexVisitor::copy const

Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
James Cherry 2021-12-15 19:35:02 -07:00
parent 9da23bc4a3
commit 104f90089a
12 changed files with 22 additions and 25 deletions

View File

@ -357,7 +357,7 @@ public:
bool own_arc_delay_calc);
virtual ~FindVertexDelays();
virtual void visit(Vertex *vertex);
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
protected:
GraphDelayCalc1 *graph_delay_calc1_;
@ -382,7 +382,7 @@ FindVertexDelays::~FindVertexDelays()
}
VertexVisitor *
FindVertexDelays::copy()
FindVertexDelays::copy() const
{
// Copy StaState::arc_delay_calc_ because it needs separate state
// for each thread.

View File

@ -704,7 +704,7 @@ public:
void init(bool always_to_endpoints,
SearchPred *pred);
virtual void visit(Vertex *vertex);
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
// Return false to stop visiting.
virtual bool visitFromToPath(const Pin *from_pin,
Vertex *from_vertex,
@ -770,7 +770,7 @@ class RequiredVisitor : public PathVisitor
public:
explicit RequiredVisitor(const StaState *sta);
virtual ~RequiredVisitor();
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *vertex);
protected:

View File

@ -28,13 +28,10 @@ class VertexVisitor
public:
VertexVisitor() {}
virtual ~VertexVisitor() {}
virtual VertexVisitor *copy() = 0;
virtual VertexVisitor *copy() const = 0;
virtual void visit(Vertex *vertex) = 0;
void operator()(Vertex *vertex) { visit(vertex); }
virtual void levelFinished() {}
private:
DISALLOW_COPY_AND_ASSIGN(VertexVisitor);
};
// Collect visited pins into a PinSet.
@ -44,7 +41,7 @@ public:
VertexPinCollector(PinSet *pins);
PinSet *pins() const { return pins_; }
void visit(Vertex *vertex);
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
protected:
PinSet *pins_;

View File

@ -809,7 +809,7 @@ public:
BfsFwdIterator *insert_iter,
GenclkInfo *genclk_info,
const StaState *sta);
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *vertex);
protected:
@ -854,7 +854,7 @@ GenclkSrcArrivalVisitor::GenclkSrcArrivalVisitor(Clock *gclk,
}
VertexVisitor *
GenclkSrcArrivalVisitor::copy()
GenclkSrcArrivalVisitor::copy() const
{
return new GenclkSrcArrivalVisitor(gclk_, insert_iter_, genclk_info_,
always_to_endpoints_, pred_, sta_);

View File

@ -230,7 +230,7 @@ public:
PathRef &before_div,
bool unique_pins,
PathEnum *path_enum);
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *) {} // Not used.
void visitFaninPathsThru(Vertex *vertex,
Vertex *prev_vertex,
@ -307,7 +307,7 @@ PathEnumFaninVisitor::visitFaninPathsThru(Vertex *vertex,
}
VertexVisitor *
PathEnumFaninVisitor::copy()
PathEnumFaninVisitor::copy() const
{
return new PathEnumFaninVisitor(path_end_, before_div_, unique_pins_,
path_enum_);

View File

@ -845,7 +845,7 @@ public:
const MinMaxAll *min_max,
const StaState *sta);
~MakeEndpointPathEnds();
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *vertex);
private:
@ -877,7 +877,7 @@ MakeEndpointPathEnds::~MakeEndpointPathEnds()
}
VertexVisitor *
MakeEndpointPathEnds::copy()
MakeEndpointPathEnds::copy() const
{
return new MakeEndpointPathEnds(path_end_visitor_, corner_, min_max_, sta_);
}

View File

@ -311,7 +311,7 @@ public:
PrevPathVisitor(const Path *path,
SearchPred *pred,
const StaState *sta);
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *) {}
virtual bool visitFromToPath(const Pin *from_pin,
Vertex *from_vertex,
@ -362,7 +362,7 @@ PrevPathVisitor::PrevPathVisitor(const Path *path,
}
VertexVisitor *
PrevPathVisitor::copy()
PrevPathVisitor::copy() const
{
return new PrevPathVisitor(path_, pred_, sta_);
}

View File

@ -269,7 +269,7 @@ public:
PropActivityVisitor(Power *power,
BfsFwdIterator *bfs);
~PropActivityVisitor();
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *vertex);
void init();
bool foundRegWithoutActivity() const;
@ -297,7 +297,7 @@ PropActivityVisitor::~PropActivityVisitor()
}
VertexVisitor *
PropActivityVisitor::copy()
PropActivityVisitor::copy() const
{
return new PropActivityVisitor(power_, bfs_);
}

View File

@ -1041,7 +1041,7 @@ ArrivalVisitor::init(bool always_to_endpoints,
VertexVisitor *
ArrivalVisitor::copy()
ArrivalVisitor::copy() const
{
return new ArrivalVisitor(always_to_endpoints_, pred_, sta_);
}
@ -3398,7 +3398,7 @@ RequiredVisitor::~RequiredVisitor()
}
VertexVisitor *
RequiredVisitor::copy()
RequiredVisitor::copy() const
{
return new RequiredVisitor(sta_);
}

View File

@ -2637,7 +2637,7 @@ public:
EndpointCounter() : count_(0) {}
virtual void visit(Vertex *) { count_++; }
int count() const { return count_; }
virtual EndpointCounter *copy() { return new EndpointCounter; }
virtual EndpointCounter *copy() const { return new EndpointCounter; }
protected:
int count_;
};

View File

@ -27,7 +27,7 @@ VertexPinCollector::VertexPinCollector(PinSet *pins) :
}
VertexVisitor *
VertexPinCollector::copy()
VertexPinCollector::copy() const
{
criticalError(266, "VertexPinCollector::copy not supported.");
return nullptr;

View File

@ -70,7 +70,7 @@ public:
VertexPathSetMap *matching_path_map,
const StaState *sta);
virtual ~PathGroupPathVisitor();
virtual VertexVisitor *copy();
virtual VertexVisitor *copy() const;
virtual void visit(Vertex *vertex);
protected:
@ -232,7 +232,7 @@ PathGroupPathVisitor::~PathGroupPathVisitor()
}
VertexVisitor *
PathGroupPathVisitor::copy()
PathGroupPathVisitor::copy() const
{
return new PathGroupPathVisitor(visitor_, bkwd_iter_, matching_path_map_,
sta_);