OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 2423 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2434 return isolate->Throw(*error); | 2434 return isolate->Throw(*error); |
2435 } else if (!getter->IsUndefined()) { | 2435 } else if (!getter->IsUndefined()) { |
2436 // We have a getter but no setter -- the property may not be | 2436 // We have a getter but no setter -- the property may not be |
2437 // written. In strict mode, throw an error. | 2437 // written. In strict mode, throw an error. |
2438 if (strict_mode == kNonStrictMode) return *hvalue; | 2438 if (strict_mode == kNonStrictMode) return *hvalue; |
2439 Handle<Object> args[] = { hname, proxy }; | 2439 Handle<Object> args[] = { hname, proxy }; |
2440 Handle<Object> error = isolate->factory()->NewTypeError( | 2440 Handle<Object> error = isolate->factory()->NewTypeError( |
2441 "no_setter_in_callback", HandleVector(args, ARRAY_SIZE(args))); | 2441 "no_setter_in_callback", HandleVector(args, ARRAY_SIZE(args))); |
2442 return isolate->Throw(*error); | 2442 return isolate->Throw(*error); |
2443 } | 2443 } |
2444 // The proxy does not define the property as an accessor. | |
2445 // Consequently, it has no effect on setting the receiver. | |
2446 return self->AddProperty(*hname, *hvalue, attributes, strict_mode); | |
2447 } | 2444 } |
| 2445 // The proxy does not define the property as an accessor. |
| 2446 // Consequently, it has no effect on setting the receiver. |
| 2447 return self->AddProperty(*hname, *hvalue, attributes, strict_mode); |
2448 } | 2448 } |
2449 } | 2449 } |
2450 } | 2450 } |
2451 | 2451 |
2452 // At this point, no GC should have happened, as this would invalidate | 2452 // At this point, no GC should have happened, as this would invalidate |
2453 // 'result', which we cannot handlify! | 2453 // 'result', which we cannot handlify! |
2454 | 2454 |
2455 if (!result->IsFound()) { | 2455 if (!result->IsFound()) { |
2456 // Neither properties nor transitions found. | 2456 // Neither properties nor transitions found. |
2457 return AddProperty(name, value, attributes, strict_mode); | 2457 return AddProperty(name, value, attributes, strict_mode); |
(...skipping 9173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
11631 if (break_point_objects()->IsUndefined()) return 0; | 11631 if (break_point_objects()->IsUndefined()) return 0; |
11632 // Single break point. | 11632 // Single break point. |
11633 if (!break_point_objects()->IsFixedArray()) return 1; | 11633 if (!break_point_objects()->IsFixedArray()) return 1; |
11634 // Multiple break points. | 11634 // Multiple break points. |
11635 return FixedArray::cast(break_point_objects())->length(); | 11635 return FixedArray::cast(break_point_objects())->length(); |
11636 } | 11636 } |
11637 #endif | 11637 #endif |
11638 | 11638 |
11639 | 11639 |
11640 } } // namespace v8::internal | 11640 } } // namespace v8::internal |
OLD | NEW |