| 864 | } |
| 865 | |
| 866 | void Expression::Component::toString(std::ostream &ss, bool persistent) const { |
| 867 | if(!e1 && !e2 && !e3) { |
| 868 | if(comp.isSimple()) |
| 869 | ss << '.'; |
| 870 | comp.toString(ss,!persistent); |
| 871 | return; |
| 872 | } |
| 873 | ss << '['; |
| 874 | if(e1) |
| 875 | e1->toString(ss,persistent); |
| 876 | if(e2 || comp.isRange()) |
| 877 | ss << ':'; |
| 878 | if(e2) |
| 879 | e2->toString(ss,persistent); |
| 880 | if(e3) { |
| 881 | ss << ':'; |
| 882 | e3->toString(ss,persistent); |
| 883 | } |
| 884 | ss << ']'; |
| 885 | } |
| 886 | |
| 887 | |
| 888 | // |
no test coverage detected