@@ -81,12 +81,14 @@ hierPinsThruEdge(const Edge *edge,
8181 const Graph *graph);
8282
8383ReportField::ReportField (std::string_view name,
84+ std::string_view name_abrev,
8485 std::string_view title,
8586 size_t width,
8687 bool left_justify,
8788 Unit *unit,
8889 ReportFieldGetValue get_value) :
8990 name_ (name),
91+ name_abrev_ (name_abrev),
9092 title_ (title),
9193 left_justify_ (left_justify),
9294 unit_ (unit),
@@ -95,9 +97,6 @@ ReportField::ReportField(std::string_view name,
9597 setWidth (width);
9698}
9799
98- ReportField::~ReportField ()
99- = default ;
100-
101100void
102101ReportField::setProperties (std::string_view title,
103102 size_t width,
@@ -146,42 +145,44 @@ void
146145ReportPath::makeFields ()
147146{
148147 // The order corresponds to the default field order.
149- field_fanout_ = makeField (" fanout" , " Fanout" , 6 , false , nullptr );
150- field_capacitance_ = makeField (" capacitance" , " Cap" , 6 , false ,
148+ field_fanout_ = makeField (" fanout" , " fanout " , " Fanout" , 6 , false , nullptr );
149+ field_capacitance_ = makeField (" capacitance" , " cap " , " Cap" , 6 , false ,
151150 units_->capacitanceUnit ());
152- field_slew_ = makeField (" slew" , " Slew" , 6 , false , units_->timeUnit ());
153- field_incr_ = makeField (" incr" , " Delay" , 6 , false , units_->timeUnit ());
154- field_variation_ = makeField (" variation" , " Variation" , 6 , false ,
151+ field_slew_ = makeField (" slew" , " slew " , " Slew" , 6 , false , units_->timeUnit ());
152+ field_incr_ = makeField (" incr" , " incr " , " Delay" , 6 , false , units_->timeUnit ());
153+ field_variation_ = makeField (" variation" , " var " , " Variation" , 6 , false ,
155154 units_->timeUnit ());
156- field_total_ = makeField (" total" , " Time" , 6 , false , units_->timeUnit ());
157- field_edge_ = makeField (" edge" , " " , 1 , false , nullptr );
158- field_case_ = makeField (" case" , " case" , 11 , false , nullptr );
159- field_description_ = makeField (" description" , " Description" , 36 , true , nullptr );
160- field_src_attr_ = makeField (" src_attr" , " Src Attr" , 40 , true , nullptr );
155+ field_total_ = makeField (" total" , " total " , " Time" , 6 , false , units_->timeUnit ());
156+ field_edge_ = makeField (" edge" , " edge " , " " , 1 , false , nullptr );
157+ field_case_ = makeField (" case" , " case" , " case " , 11 , false , nullptr );
158+ field_description_ = makeField (" description" , " desc " , " Description" , 36 , true , nullptr );
159+ field_src_attr_ = makeField (" src_attr" , " src " , " Src Attr" , 40 , true , nullptr );
161160}
162161
163162ReportField *
164163ReportPath::makeField (std::string_view name,
164+ std::string_view name_abrev,
165165 std::string_view title,
166166 size_t width,
167167 bool left_justify,
168168 Unit *unit)
169169{
170- return makeField (name, title, width, left_justify, unit, nullptr );
170+ return makeField (name, name_abrev, title, width, left_justify, unit, nullptr );
171171}
172172
173173ReportField *
174174ReportPath::makeField (std::string_view name,
175+ std::string_view name_abrev,
175176 std::string_view title,
176177 size_t width,
177178 bool left_justify,
178179 Unit *unit,
179180 ReportFieldGetValue get_value)
180181{
181- ReportField *field = new ReportField (name, title, width, left_justify, unit, get_value);
182+ ReportField *field = new ReportField (name, name_abrev, title, width, left_justify,
183+ unit, get_value);
182184 fields_.push_back (field);
183- std::string sname (name);
184- field_map_[sname] = field;
185+ field_map_[std::string (name)] = field;
185186 return field;
186187}
187188
@@ -194,7 +195,12 @@ ReportPath::findField(std::string_view name)
194195ReportField *
195196ReportPath::findFieldAbrev (std::string_view name)
196197{
197- return findKeyValue (field_map_, std::string (name));
198+ for (ReportField *field : fields_) {
199+ const std::string &name_abrev = field->nameAbrev ();
200+ if (name.substr (0 , name_abrev.size ()) == name_abrev)
201+ return field;
202+ }
203+ return nullptr ;
198204}
199205
200206void
0 commit comments