Hello,

On 2009 m. June 26 d., Friday 23:01:54 Florian Weimer wrote:
> * Modestas Vainius:
> > While apparently, VT can't be implemented differently (except \d+),
> > what about size_t etc. then? They all can be implemented as regexps
> > too the most simple being 'any character'. However, in my opinion,
> > exact string matching is worthwhile to keep whenever possible.
>
> Can't you ship the demangled names in the symbols file?  I suppose
> this would make rewriting easier.

While it is a good idea worth consideration but I think demangled symbol
names are somewhat too ambiguous to be used in general. See below:

$ grep '^ ' /var/lib/dpkg/info/libphonon4.symbols | c++filt | sort | uniq -c | 
grep '^[[:space:]]*[2-9]' | sort -n
      2  non-virtual thunk to 
Phonon::AbstractAudioOutput::~AbstractAudioOutput()@Base 4:4.2.0
      2  non-virtual thunk to Phonon::Effect::~Effect()@Base 4:4.2.0            
              
      2  non-virtual thunk to Phonon::EffectWidget::~EffectWidget()@Base 
4:4.2.0              
      2  non-virtual thunk to 
Phonon::Experimental::Visualization::~Visualization()@Base 4:4.2.0
      2  non-virtual thunk to Phonon::MediaObject::~MediaObject()@Base 4:4.2.0  
                
      2  non-virtual thunk to Phonon::SeekSlider::~SeekSlider()@Base 4:4.2.0    
                
      2  non-virtual thunk to Phonon::VideoPlayer::~VideoPlayer()@Base 4:4.2.0  
                
      2  non-virtual thunk to Phonon::VolumeSlider::~VolumeSlider()@Base 
4:4.2.0                
      2  
Phonon::AbstractAudioOutput::AbstractAudioOutput(Phonon::AbstractAudioOutputPrivate&,
 QObject*)@Base 4:4.2.0
      2  
Phonon::AbstractMediaStream::AbstractMediaStream(Phonon::AbstractMediaStreamPrivate&,
 QObject*)@Base 4:4.2.0
      2  Phonon::AbstractMediaStream::AbstractMediaStream(QObject*)@Base 
4:4.2.0                                     
      2  
Phonon::AbstractVideoOutput::AbstractVideoOutput(Phonon::AbstractVideoOutputPrivate&)@Base
 4:4.2.0          
      2  Phonon::AudioOutput::AudioOutput(Phonon::Category, QObject*)@Base 
4:4.2.0                                   
      2  Phonon::AudioOutput::AudioOutput(QObject*)@Base 4:4.2.0                
                                     
      2  Phonon::Effect::Effect(Phonon::EffectPrivate&, QObject*)@Base 4:4.2.0  
                                     
      2  
Phonon::Effect::Effect(Phonon::ObjectDescription<(Phonon::ObjectDescriptionType)1>
 const&, QObject*)@Base 4:4.2.0
      2  Phonon::EffectParameter::~EffectParameter()@Base 4:4.2.0               
                                          
      2  Phonon::EffectParameter::EffectParameter()@Base 4:4.2.0                
                                          
      2  Phonon::EffectParameter::EffectParameter(int, QString const&, 
QFlags<Phonon::EffectParameter::Hint>, QVariant const&, QVariant 
const&, QVariant const&, QList<QVariant> const&, QString const&)@Base 4:4.2.0   
                                                                  
      2  Phonon::EffectParameter::EffectParameter(Phonon::EffectParameter 
const&)@Base 4:4.2.0                                               
      2  Phonon::EffectWidget::EffectWidget(Phonon::Effect*, QWidget*)@Base 
4:4.2.0                                                          
      2  
Phonon::Experimental::AbstractAudioDataOutput::AbstractAudioDataOutput()@Base 
4:4.3.0                                               
      2  
Phonon::Experimental::AbstractVideoDataOutput::AbstractVideoDataOutput()@Base 
4:4.3.0                                               
      2  
Phonon::Experimental::AbstractVideoDataOutput::AbstractVideoDataOutput(Phonon::Experimental::AbstractVideoDataOutputPrivate&)@Base
 
4:4.3.0                                                                         
                                                              
      2  Phonon::Experimental::AudioDataOutput::AudioDataOutput(QObject*)@Base 
4:4.2.0                                                       
      2  Phonon::Experimental::AvCapture::AvCapture(QObject*)@Base 4:4.3.0      
                                                             
      2  
Phonon::Experimental::MediaSource::MediaSource(Phonon::Experimental::MediaSource
 const&)@Base 4:4.2.0                               
      2  
Phonon::Experimental::MediaSource::MediaSource(Phonon::ObjectDescription<(Phonon::ObjectDescriptionType)65536>
 const&)@Base 
4:4.2.0 
      2  
Phonon::Experimental::MediaSource::MediaSource(QList<Phonon::MediaSource> 
const&)@Base 4:4.2.0                                      
      2  
Phonon::Experimental::VideoDataOutput2::VideoDataOutput2(QObject*)@Base 4:4.3.0 
                                                    
      2  Phonon::Experimental::VideoDataOutput::VideoDataOutput(QObject*)@Base 
4:4.2.0                                                       
      2  Phonon::Experimental::Visualization::Visualization(QObject*)@Base 
4:4.2.0                                                           
      2  Phonon::GlobalConfig::GlobalConfig()@Base 4:4.3.0                      
                                                             
      2  Phonon::MediaController::MediaController(Phonon::MediaObject*)@Base 
4:4.2.0                                                         
      2  Phonon::MediaNode::MediaNode(Phonon::MediaNodePrivate&)@Base 4:4.2.0   
                                                             
      2  
Phonon::MediaNodePrivate::MediaNodePrivate(Phonon::MediaNodePrivate::CastId)@Base
 4:4.2.0                                           
      2  Phonon::MediaObject::MediaObject(QObject*)@Base 4:4.2.0                
                                                             
      2  Phonon::MediaSource::~MediaSource()@Base 4:4.2.0                       
                                                             
      2  Phonon::MediaSource::MediaSource()@Base 4:4.2.0                        
                                                             
      2  Phonon::MediaSource::MediaSource(Phonon::AbstractMediaStream*)@Base 
4:4.2.0                                                         
      2  Phonon::MediaSource::MediaSource(Phonon::DiscType, QString 
const&)@Base 4:4.2.0                                                     
      2  Phonon::MediaSource::MediaSource(Phonon::MediaSource const&)@Base 
4:4.2.0                                                           
      2  Phonon::MediaSource::MediaSource(Phonon::MediaSourcePrivate&)@Base 
4:4.2.0                                                          
      2  Phonon::MediaSource::MediaSource(QIODevice*)@Base 4:4.2.0              
                                                             
      2  Phonon::MediaSource::MediaSource(QString const&)@Base 4:4.2.0          
                                                             
      2  Phonon::MediaSource::MediaSource(QUrl const&)@Base 4:4.2.0             
                                                             
      2  Phonon::ObjectDescriptionData::~ObjectDescriptionData()@Base 4:4.2.0   
                                                             
      2  Phonon::ObjectDescriptionData::ObjectDescriptionData(int, 
QHash<QByteArray, QVariant> const&)@Base 4:4.2.0                          
      2  
Phonon::ObjectDescriptionData::ObjectDescriptionData(Phonon::ObjectDescriptionPrivate*)@Base
 4:4.2.0                                
      2  Phonon::ObjectDescriptionModelData::~ObjectDescriptionModelData()@Base 
4:4.2.0                                                      
      2  
Phonon::ObjectDescriptionModelData::ObjectDescriptionModelData(QAbstractListModel*)@Base
 4:4.2.0                                    
      2  Phonon::Packet::~Packet()@Base 4:4.3.0                                 
                                                             
      2  Phonon::Packet::Packet()@Base 4:4.3.0                                  
                                                             
      2  Phonon::Packet::Packet(Phonon::Packet const&)@Base 4:4.3.0             
                                                             
      2  Phonon::Packet::Packet(Phonon::PacketPool&)@Base 4:4.3.0               
                                                             
      2  Phonon::Packet::Packet(Phonon::PacketPrivate&)@Base 4:4.3.0            
                                                             
      2  Phonon::PacketPool::~PacketPool()@Base 4:4.3.0                         
                                                             
      2  Phonon::PacketPool::PacketPool(int, int)@Base 4:4.3.0                  
                                                             
      2  Phonon::PacketPool::PacketPool(Phonon::PacketPool const&)@Base 4:4.3.0 
                                                             
      2  Phonon::Path::~Path()@Base 4:4.2.0                                     
                                                             
      2  Phonon::Path::Path()@Base 4:4.2.0                                      
                                                             
      2  Phonon::Path::Path(Phonon::Path const&)@Base 4:4.2.0                   
                                                             
      2  Phonon::SeekSlider::SeekSlider(Phonon::MediaObject*, QWidget*)@Base 
4:4.2.0                                                         
      2  Phonon::SeekSlider::SeekSlider(QWidget*)@Base 4:4.2.0                  
                                                             
      2  Phonon::StreamInterface::StreamInterface()@Base 4:4.2.0                
                                                             
      2  Phonon::VideoPlayer::VideoPlayer(Phonon::Category, QWidget*)@Base 
4:4.2.0                                                           
      2  Phonon::VideoPlayer::VideoPlayer(QWidget*)@Base 4:4.3.0
      2  Phonon::VideoWidget::VideoWidget(Phonon::VideoWidgetPrivate&, 
QWidget*)@Base 4:4.2.0
      2  Phonon::VideoWidget::VideoWidget(QWidget*)@Base 4:4.2.0
      2  Phonon::VolumeFaderEffect::VolumeFaderEffect(QObject*)@Base 4:4.2.0
      2  Phonon::VolumeSlider::VolumeSlider(Phonon::AudioOutput*, 
QWidget*)@Base 4:4.2.0
      2  Phonon::VolumeSlider::VolumeSlider(QWidget*)@Base 4:4.2.0
      2  typeinfo for Phonon::abstractvideoout...@base 4:4.2.0
      2  typeinfo name for Phonon::abstractvideoout...@base 4:4.2.0
      2  vtable for Phonon::abstractvideoout...@base 4:4.2.0
      3  Phonon::AbstractAudioOutput::~AbstractAudioOutput()@Base 4:4.2.0
      3  Phonon::AbstractMediaStream::~AbstractMediaStream()@Base 4:4.2.0
      3  Phonon::AbstractMediaStreamPrivate::~AbstractMediaStreamPrivate()@Base 
4:4.2.0
      3  Phonon::Effect::~Effect()@Base 4:4.2.0
      3  Phonon::EffectWidget::~EffectWidget()@Base 4:4.2.0
      3  
Phonon::Experimental::AbstractAudioDataOutput::~AbstractAudioDataOutput()@Base 
4:4.3.0
      3  
Phonon::Experimental::AbstractVideoDataOutput::~AbstractVideoDataOutput()@Base 
4:4.3.0
      3  Phonon::Experimental::Visualization::~Visualization()@Base 4:4.2.0
      3  Phonon::GlobalConfig::~GlobalConfig()@Base 4:4.3.0
      3  Phonon::MediaController::~MediaController()@Base 4:4.2.0
      3  Phonon::MediaNode::~MediaNode()@Base 4:4.2.0
      3  Phonon::MediaNodePrivate::~MediaNodePrivate()@Base 4:4.2.0
      3  Phonon::MediaObject::~MediaObject()@Base 4:4.2.0
      3  Phonon::MediaSourcePrivate::~MediaSourcePrivate()@Base 4:4.2.0
      3  Phonon::SeekSlider::~SeekSlider()@Base 4:4.2.0
      3  Phonon::StreamInterface::~StreamInterface()@Base 4:4.2.0
      3  Phonon::VideoPlayer::~VideoPlayer()@Base 4:4.2.0
      3  Phonon::VolumeSlider::~VolumeSlider()@Base 4:4.2.0


-- 
Modestas Vainius <modes...@vainius.eu>

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to