| 764 | /************************************ AccentedAtom implementation *********************************/ |
| 765 | |
| 766 | void AccentedAtom::init( |
| 767 | const sptr<Atom>& base, const sptr<Atom>& accent) throw(ex_invalid_symbol_type) { |
| 768 | _base = base; |
| 769 | AccentedAtom* a = dynamic_cast<AccentedAtom*>(base.get()); |
| 770 | if (a != nullptr) |
| 771 | _underbase = a->_underbase; |
| 772 | else |
| 773 | _underbase = base; |
| 774 | |
| 775 | _accent = dynamic_pointer_cast<SymbolAtom>(accent); |
| 776 | if (_accent == nullptr) throw ex_invalid_symbol_type("Invalid accent!"); |
| 777 | |
| 778 | _acc = true; |
| 779 | _changeSize = true; |
| 780 | } |
| 781 | |
| 782 | AccentedAtom::AccentedAtom( |
| 783 | const sptr<Atom>& base, const string& name) throw(ex_invalid_symbol_type, ex_symbol_not_found) { |
nothing calls this directly
no test coverage detected