if (key == null || key.length() == 0) {
return null;
}
boolean canAccessFieldsDirectlyTestPerformed = false;
boolean canAccessFieldsDirectly = false;
_KeyBinding lookupBinding = new _KeyBinding(objectClass, key);
_BindingStorage bindingStorage = (_BindingStorage) _bindingStorageMapTable.objectForKey(lookupBinding);
if (bindingStorage == null) {
bindingStorage = new _BindingStorage();
_bindingStorageMapTable.setObjectForKey(bindingStorage, lookupBinding);
}
// MS: We just can't support callbacks without the original object
// ... I think this is PROBABLY OK for our purposes.
Callback keyBindingCreationCallbackObject = null;
// (object instanceof Callback) ? (Callback) object : null;
_KeyBinding keyBindings[] = trueForSetAndFalseForGet ? bindingStorage._keySetBindings : bindingStorage._keyGetBindings;
for (int i = 0; i < lookupOrder.length; i++) {
int lookup = lookupOrder[i];
_KeyBinding keyBinding = lookup < 0 || lookup > 3 ? null : keyBindings[lookup];
if (keyBinding == null) {
switch (lookup) {
case 0:
StringBuilder methodNameBuffer = new StringBuilder(key.length() + 3);