OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 13197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
13208 | 13208 |
13209 Handle<Object> JSObject::GetPropertyPostInterceptor( | 13209 Handle<Object> JSObject::GetPropertyPostInterceptor( |
13210 Handle<JSObject> object, | 13210 Handle<JSObject> object, |
13211 Handle<Object> receiver, | 13211 Handle<Object> receiver, |
13212 Handle<Name> name, | 13212 Handle<Name> name, |
13213 PropertyAttributes* attributes) { | 13213 PropertyAttributes* attributes) { |
13214 // Check local property in holder, ignore interceptor. | 13214 // Check local property in holder, ignore interceptor. |
13215 Isolate* isolate = object->GetIsolate(); | 13215 Isolate* isolate = object->GetIsolate(); |
13216 LookupResult lookup(isolate); | 13216 LookupResult lookup(isolate); |
13217 object->LocalLookupRealNamedProperty(*name, &lookup); | 13217 object->LocalLookupRealNamedProperty(*name, &lookup); |
13218 Handle<Object> result; | |
13219 if (lookup.IsFound()) { | 13218 if (lookup.IsFound()) { |
13220 result = GetProperty(object, receiver, &lookup, name, attributes); | 13219 return GetProperty(object, receiver, &lookup, name, attributes); |
13221 } else { | 13220 } else { |
13222 // Continue searching via the prototype chain. | 13221 // Continue searching via the prototype chain. |
13223 Handle<Object> prototype(object->GetPrototype(), isolate); | 13222 Handle<Object> prototype(object->GetPrototype(), isolate); |
13224 *attributes = ABSENT; | 13223 *attributes = ABSENT; |
13225 if (prototype->IsNull()) return isolate->factory()->undefined_value(); | 13224 if (prototype->IsNull()) return isolate->factory()->undefined_value(); |
13226 result = GetPropertyWithReceiver(prototype, receiver, name, attributes); | 13225 return GetPropertyWithReceiver(prototype, receiver, name, attributes); |
13227 } | 13226 } |
13228 return result; | |
13229 } | 13227 } |
13230 | 13228 |
13231 | 13229 |
13232 MaybeObject* JSObject::GetLocalPropertyPostInterceptor( | 13230 MaybeObject* JSObject::GetLocalPropertyPostInterceptor( |
13233 Object* receiver, | 13231 Object* receiver, |
13234 Name* name, | 13232 Name* name, |
13235 PropertyAttributes* attributes) { | 13233 PropertyAttributes* attributes) { |
13236 // Check local property in holder, ignore interceptor. | 13234 // Check local property in holder, ignore interceptor. |
13237 LookupResult result(GetIsolate()); | 13235 LookupResult result(GetIsolate()); |
13238 LocalLookupRealNamedProperty(name, &result); | 13236 LocalLookupRealNamedProperty(name, &result); |
(...skipping 3238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
16477 #define ERROR_MESSAGES_TEXTS(C, T) T, | 16475 #define ERROR_MESSAGES_TEXTS(C, T) T, |
16478 static const char* error_messages_[] = { | 16476 static const char* error_messages_[] = { |
16479 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) | 16477 ERROR_MESSAGES_LIST(ERROR_MESSAGES_TEXTS) |
16480 }; | 16478 }; |
16481 #undef ERROR_MESSAGES_TEXTS | 16479 #undef ERROR_MESSAGES_TEXTS |
16482 return error_messages_[reason]; | 16480 return error_messages_[reason]; |
16483 } | 16481 } |
16484 | 16482 |
16485 | 16483 |
16486 } } // namespace v8::internal | 16484 } } // namespace v8::internal |
OLD | NEW |