git-svn-id: svn://db.shs.com.ru/pip@838 12ceb7fc-bf1f-11e4-8940-5bc7170c53b5
This commit is contained in:
@@ -182,14 +182,14 @@ PIStringList PIObject::events() {
|
||||
|
||||
PIStringList PIObject::scopeList() const {
|
||||
PIMutexLocker ml(__meta_mutex());
|
||||
return __meta_data()[className()].scope_list;
|
||||
return __meta_data()[classNameID()].scope_list;
|
||||
}
|
||||
|
||||
|
||||
PIStringList PIObject::methodsEH() const {
|
||||
PIMutexLocker ml(__meta_mutex());
|
||||
PIStringList ret;
|
||||
__MetaData & ehd(__meta_data()[className()]);
|
||||
__MetaData & ehd(__meta_data()[classNameID()]);
|
||||
piForeachC (__EHPair & eh, ehd.eh_func)
|
||||
ret << eh.second.fullFormat();
|
||||
return ret;
|
||||
@@ -198,7 +198,7 @@ PIStringList PIObject::methodsEH() const {
|
||||
|
||||
bool PIObject::isMethodEHContains(const PIString & name) const {
|
||||
PIMutexLocker ml(__meta_mutex());
|
||||
__MetaData & ehd(__meta_data()[className()]);
|
||||
__MetaData & ehd(__meta_data()[classNameID()]);
|
||||
piForeachC (__EHPair & eh, ehd.eh_func)
|
||||
if (eh.second.func_name == name)
|
||||
return true;
|
||||
@@ -208,7 +208,7 @@ bool PIObject::isMethodEHContains(const PIString & name) const {
|
||||
|
||||
PIString PIObject::methodEHArguments(const PIString & name) const {
|
||||
PIMutexLocker ml(__meta_mutex());
|
||||
__MetaData & ehd(__meta_data()[className()]);
|
||||
__MetaData & ehd(__meta_data()[classNameID()]);
|
||||
piForeachC (__EHPair & eh, ehd.eh_func)
|
||||
if (eh.second.func_name == name)
|
||||
return eh.second.arguments();
|
||||
@@ -218,7 +218,7 @@ PIString PIObject::methodEHArguments(const PIString & name) const {
|
||||
|
||||
PIString PIObject::methodEHFullFormat(const PIString & name) const {
|
||||
PIMutexLocker ml(__meta_mutex());
|
||||
__MetaData & ehd(__meta_data()[className()]);
|
||||
__MetaData & ehd(__meta_data()[classNameID()]);
|
||||
piForeachC (__EHPair & eh, ehd.eh_func)
|
||||
if (eh.second.func_name == name)
|
||||
return eh.second.fullFormat();
|
||||
@@ -233,7 +233,7 @@ PIString PIObject::methodEHFromAddr(const void * addr) const {
|
||||
|
||||
PIVector<PIObject::__MetaFunc> PIObject::findEH(const PIString & name) const {
|
||||
PIVector<__MetaFunc> ret;
|
||||
__MetaData & ehd(__meta_data()[className()]);
|
||||
__MetaData & ehd(__meta_data()[classNameID()]);
|
||||
piForeachC (__EHPair & eh, ehd.eh_func)
|
||||
if (eh.second.func_name == name)
|
||||
ret << eh.second;
|
||||
@@ -243,7 +243,7 @@ PIVector<PIObject::__MetaFunc> PIObject::findEH(const PIString & name) const {
|
||||
|
||||
PIObject::__MetaFunc PIObject::methodEH(const void * addr) const {
|
||||
PIMutexLocker ml(__meta_mutex());
|
||||
return __meta_data()[className()].eh_func.value(addr);
|
||||
return __meta_data()[classNameID()].eh_func.value(addr);
|
||||
}
|
||||
|
||||
|
||||
@@ -418,12 +418,24 @@ PIMutex & PIObject::__meta_mutex() {
|
||||
}
|
||||
|
||||
|
||||
PIMap<PIString, PIObject::__MetaData> & PIObject::__meta_data() {
|
||||
static PIMap<PIString, PIObject::__MetaData> ret;
|
||||
PIMap<uint, PIObject::__MetaData> & PIObject::__meta_data() {
|
||||
static PIMap<uint, PIObject::__MetaData> ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
CRC_32 & PIObject::__meta_crc() {
|
||||
static CRC_32 ret = standardCRC_32();
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
uint PIObject::__string_id(const PIString & s) {
|
||||
if (s.isEmpty()) return 0;
|
||||
return __meta_crc().calculate(s.toByteArray());
|
||||
}
|
||||
|
||||
|
||||
void PIObject::callQueuedEvents() {
|
||||
mutex_queue.lock();
|
||||
PIVector<__QueuedEvent> qe = events_queue;
|
||||
@@ -538,7 +550,7 @@ void PIObject::dump(const PIString & line_prefix) const {
|
||||
//printf("dump %d properties ok\n", properties_.size());
|
||||
PICout(PICoutManipulators::AddNewLine) << line_prefix << " }";
|
||||
PICout(PICoutManipulators::AddNewLine) << line_prefix << " methods {";
|
||||
__MetaData & ehd(__meta_data()[className()]);
|
||||
__MetaData & ehd(__meta_data()[classNameID()]);
|
||||
PICout(PICoutManipulators::AddNewLine) << line_prefix << " count: " << ehd.eh_func.size_s();
|
||||
//printf("dump %d methods\n", ehd.eh_func.size());
|
||||
piForeachC (__EHPair & eh, ehd.eh_func) {
|
||||
|
||||
Reference in New Issue
Block a user