AddSuggestion(matches, word, pword + "." + field.Name);
}
- Object::Ptr prototype = type->GetPrototype();
- Dictionary::Ptr dict = dynamic_pointer_cast<Dictionary>(prototype);
-
- if (dict) {
- ObjectLock olock(dict);
- BOOST_FOREACH(const Dictionary::Pair& kv, dict) {
- AddSuggestion(matches, word, pword + "." + kv.first);
+ while (type) {
+ Object::Ptr prototype = type->GetPrototype();
+ Dictionary::Ptr dict = dynamic_pointer_cast<Dictionary>(prototype);
+
+ if (dict) {
+ ObjectLock olock(dict);
+ BOOST_FOREACH(const Dictionary::Pair& kv, dict) {
+ AddSuggestion(matches, word, pword + "." + kv.first);
+ }
}
+
+ type = type->GetBaseType();
}
} catch (...) { /* Ignore the exception */ }
}