| OLD | NEW |
| 1 {% extends 'interface_base.cpp' %} | 1 {% extends 'interface_base.cpp' %} |
| 2 | 2 |
| 3 | 3 |
| 4 {##############################################################################} | 4 {##############################################################################} |
| 5 {% macro attribute_configuration(attribute) %} | 5 {% macro attribute_configuration(attribute) %} |
| 6 {% set getter_callback = | 6 {% set getter_callback = |
| 7 '%sV8Internal::%sAttributeGetterCallback' % | 7 '%sV8Internal::%sAttributeGetterCallback' % |
| 8 (cpp_class, attribute.name) | 8 (cpp_class, attribute.name) |
| 9 if not attribute.constructor_type else | 9 if not attribute.constructor_type else |
| 10 ('%sV8Internal::%sConstructorGetterCallback' % | 10 ('%sV8Internal::%sConstructorGetterCallback' % |
| (...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 {# Then resolve by testing argument #} | 602 {# Then resolve by testing argument #} |
| 603 {% for test, constructor in tests_constructors %} | 603 {% for test, constructor in tests_constructors %} |
| 604 {# 10. If i = d, then: #} | 604 {# 10. If i = d, then: #} |
| 605 if ({{test}}) { | 605 if ({{test}}) { |
| 606 {{cpp_class}}V8Internal::constructor{{constructor.overload_index}}(i
nfo); | 606 {{cpp_class}}V8Internal::constructor{{constructor.overload_index}}(i
nfo); |
| 607 return; | 607 return; |
| 608 } | 608 } |
| 609 {% endfor %} | 609 {% endfor %} |
| 610 break; | 610 break; |
| 611 {% endfor %} | 611 {% endfor %} |
| 612 } | 612 default: |
| 613 {# No match, throw error #} | 613 {# Invalid arity, throw error #} |
| 614 {% if interface_length %} | 614 {# Report full list of valid arities if gaps and above minimum #} |
| 615 if (UNLIKELY(info.Length() < {{interface_length}})) { | 615 {% if constructor_overloads.valid_arities %} |
| 616 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments({{in
terface_length}}, info.Length())); | 616 if (info.Length() >= {{constructor_overloads.minarg}}) { |
| 617 throwArityTypeError(exceptionState, "{{constructor_overloads.valid_a
rities}}", info.Length()); |
| 618 return; |
| 619 } |
| 620 {% endif %} |
| 621 {# Otherwise just report "not enough arguments" #} |
| 622 exceptionState.throwTypeError(ExceptionMessages::notEnoughArguments({{co
nstructor_overloads.minarg}}, info.Length())); |
| 617 exceptionState.throwIfNeeded(); | 623 exceptionState.throwIfNeeded(); |
| 618 return; | 624 return; |
| 619 } | 625 } |
| 620 {% endif %} | 626 {# No match, throw error #} |
| 621 exceptionState.throwTypeError("No matching constructor signature."); | 627 exceptionState.throwTypeError("No matching constructor signature."); |
| 622 exceptionState.throwIfNeeded(); | 628 exceptionState.throwIfNeeded(); |
| 623 } | 629 } |
| 624 | 630 |
| 625 {% endif %} | 631 {% endif %} |
| 626 {% endblock %} | 632 {% endblock %} |
| 627 | 633 |
| 628 | 634 |
| 629 {##############################################################################} | 635 {##############################################################################} |
| 630 {% block event_constructor %} | 636 {% block event_constructor %} |
| (...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1330 {% endif %} | 1336 {% endif %} |
| 1331 } | 1337 } |
| 1332 | 1338 |
| 1333 template<> | 1339 template<> |
| 1334 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) | 1340 v8::Handle<v8::Value> toV8NoInline({{cpp_class}}* impl, v8::Handle<v8::Object> c
reationContext, v8::Isolate* isolate) |
| 1335 { | 1341 { |
| 1336 return toV8(impl, creationContext, isolate); | 1342 return toV8(impl, creationContext, isolate); |
| 1337 } | 1343 } |
| 1338 | 1344 |
| 1339 {% endblock %} | 1345 {% endblock %} |
| OLD | NEW |