VertexVisitor::copy const
Signed-off-by: James Cherry <cherry@parallaxsw.com>
This commit is contained in:
parent
9da23bc4a3
commit
104f90089a
|
|
@ -357,7 +357,7 @@ public:
|
||||||
bool own_arc_delay_calc);
|
bool own_arc_delay_calc);
|
||||||
virtual ~FindVertexDelays();
|
virtual ~FindVertexDelays();
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
GraphDelayCalc1 *graph_delay_calc1_;
|
GraphDelayCalc1 *graph_delay_calc1_;
|
||||||
|
|
@ -382,7 +382,7 @@ FindVertexDelays::~FindVertexDelays()
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
FindVertexDelays::copy()
|
FindVertexDelays::copy() const
|
||||||
{
|
{
|
||||||
// Copy StaState::arc_delay_calc_ because it needs separate state
|
// Copy StaState::arc_delay_calc_ because it needs separate state
|
||||||
// for each thread.
|
// for each thread.
|
||||||
|
|
|
||||||
|
|
@ -704,7 +704,7 @@ public:
|
||||||
void init(bool always_to_endpoints,
|
void init(bool always_to_endpoints,
|
||||||
SearchPred *pred);
|
SearchPred *pred);
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
// Return false to stop visiting.
|
// Return false to stop visiting.
|
||||||
virtual bool visitFromToPath(const Pin *from_pin,
|
virtual bool visitFromToPath(const Pin *from_pin,
|
||||||
Vertex *from_vertex,
|
Vertex *from_vertex,
|
||||||
|
|
@ -770,7 +770,7 @@ class RequiredVisitor : public PathVisitor
|
||||||
public:
|
public:
|
||||||
explicit RequiredVisitor(const StaState *sta);
|
explicit RequiredVisitor(const StaState *sta);
|
||||||
virtual ~RequiredVisitor();
|
virtual ~RequiredVisitor();
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -28,13 +28,10 @@ class VertexVisitor
|
||||||
public:
|
public:
|
||||||
VertexVisitor() {}
|
VertexVisitor() {}
|
||||||
virtual ~VertexVisitor() {}
|
virtual ~VertexVisitor() {}
|
||||||
virtual VertexVisitor *copy() = 0;
|
virtual VertexVisitor *copy() const = 0;
|
||||||
virtual void visit(Vertex *vertex) = 0;
|
virtual void visit(Vertex *vertex) = 0;
|
||||||
void operator()(Vertex *vertex) { visit(vertex); }
|
void operator()(Vertex *vertex) { visit(vertex); }
|
||||||
virtual void levelFinished() {}
|
virtual void levelFinished() {}
|
||||||
|
|
||||||
private:
|
|
||||||
DISALLOW_COPY_AND_ASSIGN(VertexVisitor);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// Collect visited pins into a PinSet.
|
// Collect visited pins into a PinSet.
|
||||||
|
|
@ -44,7 +41,7 @@ public:
|
||||||
VertexPinCollector(PinSet *pins);
|
VertexPinCollector(PinSet *pins);
|
||||||
PinSet *pins() const { return pins_; }
|
PinSet *pins() const { return pins_; }
|
||||||
void visit(Vertex *vertex);
|
void visit(Vertex *vertex);
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
PinSet *pins_;
|
PinSet *pins_;
|
||||||
|
|
|
||||||
|
|
@ -809,7 +809,7 @@ public:
|
||||||
BfsFwdIterator *insert_iter,
|
BfsFwdIterator *insert_iter,
|
||||||
GenclkInfo *genclk_info,
|
GenclkInfo *genclk_info,
|
||||||
const StaState *sta);
|
const StaState *sta);
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -854,7 +854,7 @@ GenclkSrcArrivalVisitor::GenclkSrcArrivalVisitor(Clock *gclk,
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
GenclkSrcArrivalVisitor::copy()
|
GenclkSrcArrivalVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new GenclkSrcArrivalVisitor(gclk_, insert_iter_, genclk_info_,
|
return new GenclkSrcArrivalVisitor(gclk_, insert_iter_, genclk_info_,
|
||||||
always_to_endpoints_, pred_, sta_);
|
always_to_endpoints_, pred_, sta_);
|
||||||
|
|
|
||||||
|
|
@ -230,7 +230,7 @@ public:
|
||||||
PathRef &before_div,
|
PathRef &before_div,
|
||||||
bool unique_pins,
|
bool unique_pins,
|
||||||
PathEnum *path_enum);
|
PathEnum *path_enum);
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *) {} // Not used.
|
virtual void visit(Vertex *) {} // Not used.
|
||||||
void visitFaninPathsThru(Vertex *vertex,
|
void visitFaninPathsThru(Vertex *vertex,
|
||||||
Vertex *prev_vertex,
|
Vertex *prev_vertex,
|
||||||
|
|
@ -307,7 +307,7 @@ PathEnumFaninVisitor::visitFaninPathsThru(Vertex *vertex,
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
PathEnumFaninVisitor::copy()
|
PathEnumFaninVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new PathEnumFaninVisitor(path_end_, before_div_, unique_pins_,
|
return new PathEnumFaninVisitor(path_end_, before_div_, unique_pins_,
|
||||||
path_enum_);
|
path_enum_);
|
||||||
|
|
|
||||||
|
|
@ -845,7 +845,7 @@ public:
|
||||||
const MinMaxAll *min_max,
|
const MinMaxAll *min_max,
|
||||||
const StaState *sta);
|
const StaState *sta);
|
||||||
~MakeEndpointPathEnds();
|
~MakeEndpointPathEnds();
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
@ -877,7 +877,7 @@ MakeEndpointPathEnds::~MakeEndpointPathEnds()
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
MakeEndpointPathEnds::copy()
|
MakeEndpointPathEnds::copy() const
|
||||||
{
|
{
|
||||||
return new MakeEndpointPathEnds(path_end_visitor_, corner_, min_max_, sta_);
|
return new MakeEndpointPathEnds(path_end_visitor_, corner_, min_max_, sta_);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -311,7 +311,7 @@ public:
|
||||||
PrevPathVisitor(const Path *path,
|
PrevPathVisitor(const Path *path,
|
||||||
SearchPred *pred,
|
SearchPred *pred,
|
||||||
const StaState *sta);
|
const StaState *sta);
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *) {}
|
virtual void visit(Vertex *) {}
|
||||||
virtual bool visitFromToPath(const Pin *from_pin,
|
virtual bool visitFromToPath(const Pin *from_pin,
|
||||||
Vertex *from_vertex,
|
Vertex *from_vertex,
|
||||||
|
|
@ -362,7 +362,7 @@ PrevPathVisitor::PrevPathVisitor(const Path *path,
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
PrevPathVisitor::copy()
|
PrevPathVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new PrevPathVisitor(path_, pred_, sta_);
|
return new PrevPathVisitor(path_, pred_, sta_);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -269,7 +269,7 @@ public:
|
||||||
PropActivityVisitor(Power *power,
|
PropActivityVisitor(Power *power,
|
||||||
BfsFwdIterator *bfs);
|
BfsFwdIterator *bfs);
|
||||||
~PropActivityVisitor();
|
~PropActivityVisitor();
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
void init();
|
void init();
|
||||||
bool foundRegWithoutActivity() const;
|
bool foundRegWithoutActivity() const;
|
||||||
|
|
@ -297,7 +297,7 @@ PropActivityVisitor::~PropActivityVisitor()
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
PropActivityVisitor::copy()
|
PropActivityVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new PropActivityVisitor(power_, bfs_);
|
return new PropActivityVisitor(power_, bfs_);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1041,7 +1041,7 @@ ArrivalVisitor::init(bool always_to_endpoints,
|
||||||
|
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
ArrivalVisitor::copy()
|
ArrivalVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new ArrivalVisitor(always_to_endpoints_, pred_, sta_);
|
return new ArrivalVisitor(always_to_endpoints_, pred_, sta_);
|
||||||
}
|
}
|
||||||
|
|
@ -3398,7 +3398,7 @@ RequiredVisitor::~RequiredVisitor()
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
RequiredVisitor::copy()
|
RequiredVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new RequiredVisitor(sta_);
|
return new RequiredVisitor(sta_);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2637,7 +2637,7 @@ public:
|
||||||
EndpointCounter() : count_(0) {}
|
EndpointCounter() : count_(0) {}
|
||||||
virtual void visit(Vertex *) { count_++; }
|
virtual void visit(Vertex *) { count_++; }
|
||||||
int count() const { return count_; }
|
int count() const { return count_; }
|
||||||
virtual EndpointCounter *copy() { return new EndpointCounter; }
|
virtual EndpointCounter *copy() const { return new EndpointCounter; }
|
||||||
protected:
|
protected:
|
||||||
int count_;
|
int count_;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@ VertexPinCollector::VertexPinCollector(PinSet *pins) :
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
VertexPinCollector::copy()
|
VertexPinCollector::copy() const
|
||||||
{
|
{
|
||||||
criticalError(266, "VertexPinCollector::copy not supported.");
|
criticalError(266, "VertexPinCollector::copy not supported.");
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public:
|
||||||
VertexPathSetMap *matching_path_map,
|
VertexPathSetMap *matching_path_map,
|
||||||
const StaState *sta);
|
const StaState *sta);
|
||||||
virtual ~PathGroupPathVisitor();
|
virtual ~PathGroupPathVisitor();
|
||||||
virtual VertexVisitor *copy();
|
virtual VertexVisitor *copy() const;
|
||||||
virtual void visit(Vertex *vertex);
|
virtual void visit(Vertex *vertex);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
@ -232,7 +232,7 @@ PathGroupPathVisitor::~PathGroupPathVisitor()
|
||||||
}
|
}
|
||||||
|
|
||||||
VertexVisitor *
|
VertexVisitor *
|
||||||
PathGroupPathVisitor::copy()
|
PathGroupPathVisitor::copy() const
|
||||||
{
|
{
|
||||||
return new PathGroupPathVisitor(visitor_, bkwd_iter_, matching_path_map_,
|
return new PathGroupPathVisitor(visitor_, bkwd_iter_, matching_path_map_,
|
||||||
sta_);
|
sta_);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue