Keith Yeung
c6b6d2c84e
Avoid generating parameter names that are Rust keywords
2016-04-17 19:37:42 -04:00
Arnaud Marant
315120d6e8
remove unreachable code in codegen
...
code is unreachable after return, and identical to the upper block
2016-04-12 19:10:10 +02:00
Josh Matthews
042883eac2
Enable dictionaries in WebIDL sequences. Fixes #10282 .
2016-03-30 11:07:37 -04:00
bors-servo
edcf24fd4d
Auto merge of #10152 - jdm:9511-rebase, r=nox
...
Fix #9511 . Export webidl enums using "pub use".
Change typedef codegen to export the underlying enum itself, rather
than an alias. Works around https://github.com/rust-lang/rust/issues/31355
Rebase of #9691 .
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg " height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10152 )
<!-- Reviewable:end -->
2016-03-24 10:40:44 +05:30
Ben
2477f6a363
Fix #9511 . Export webidl enums using "pub use".
...
Change typedef codegen to export the underlying enum itself, rather
than an alias. Works around https://github.com/rust-lang/rust/issues/31355
2016-03-23 12:49:34 -04:00
AgostonSzepessy
d3528ffce4
components/script/dom/bindings/codegen/parser/update.sh now downloads all
...
the latest *.py tests from
https://hg.mozilla.org/mozilla-central/archive/tip.tar.gz/dom/bindings/parser/tests/
2016-03-22 23:13:30 -04:00
Guillaume Gomez
b6feab97e0
Make all interface objects share the same funToString
2016-03-21 11:57:48 +01:00
bors-servo
c37a086660
Auto merge of #9786 - peterjoel:fix_codegen_is_array_like, r=jdm
...
Fixed compile error in generated code, when webidl constructors have same number of args
One of the ways that generated code differentiates constructors is by comparing if the args are array-like. The generated code was calling a function `IsArrayLike` that no longer exists. I re-implemented it with a more rust-like naming scheme.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg " height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9786 )
<!-- Reviewable:end -->
2016-03-04 15:14:20 +05:30
Peter
3e78b54d46
Fixed compile error in generated code, when webidl constructors have same number of args
...
Edited test webidl to show issue, and fix
2016-03-03 20:21:48 +00:00
Anthony Ramine
2ed1a4ab3b
Do not generate RegisterBindings::Register anymore
2016-02-25 15:56:54 +01:00
Anthony Ramine
1559f5a39f
Lazily define interface objects on globals ( fixes #6419 )
2016-02-25 15:56:47 +01:00
Anthony Ramine
ca979e115b
Cache legacy callback interface objects in proto_or_icache_array
...
We need them to be cached to not instantiate them multiple times with
lazy initialisation.
2016-02-25 15:15:44 +01:00
Anthony Ramine
2c4d5da866
Lazily-define standard ECMAScript classes
2016-02-25 15:15:44 +01:00
Anthony Ramine
86f3f37950
Always implement getOwnEnumerablePropertyKeys
...
According to JSProxy.h, without this the default implementation calls
ownPropertyKeys and filters out the unenumerable properties. We know when such
things exist so we don't need to do that.
2016-02-23 17:23:56 +01:00
Anthony Ramine
7f36247d03
Support [LegacyUnenumerableNamedProperties]
2016-02-23 17:23:51 +01:00
Anthony Ramine
cbf514d63f
Fix a typo in CGDOMJSProxyHandler_getOwnPropertyDescriptor
...
Named properties are read-only if there is no named setter.
2016-02-23 17:23:03 +01:00
Anthony Ramine
b783d96749
Make fill_property_descriptor take a flags argument
2016-02-23 17:14:27 +01:00
Anthony Ramine
0af373cef6
Just pass global to CreateInterfaceObjects
...
The receiver parameter is useless here.
2016-02-23 15:42:45 +01:00
Anthony Ramine
96e28086e3
Clean up CGDOMJSClass
2016-02-23 15:42:44 +01:00
bors-servo
2676307793
Auto merge of #9633 - GuillaumeGomez:has_instance, r=nox
...
All interface objects now share the same hasInstance
r? @nox
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg " height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9633 )
<!-- Reviewable:end -->
2016-02-19 19:49:33 +05:30
zakorgyula
6d6f23a69d
Fixing issue with uniontypes not created with primitive types
...
refer to #9531
2016-02-18 11:08:47 +01:00
Ms2ger
eede44984d
Derive the Debug trait for WebIDL-generated enums.
2016-02-17 16:29:37 +01:00
Anthony Ramine
c21a164396
Support [ExceptionClass]
...
Use it on DOMException.
2016-02-17 13:58:58 +01:00
Guillaume Gomez
bb9d3692c7
All interface objects now share the same hasInstance
2016-02-17 06:37:52 +01:00
Alexander Lopatin
2be49404be
Fix #9508 : Beautify our union enums constructors
2016-02-07 02:55:21 +03:00
bors-servo
a75f2cecda
Auto merge of #9419 - psdh:includeTypedef, r=nox
...
generate typedefs in CodegenRust.
fixes #9384
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9419 )
<!-- Reviewable:end -->
2016-01-26 22:10:57 +05:30
Prabhjyot Singh Sodhi
d6df844ae5
generate typedefs in CodegenRust
2016-01-26 21:56:44 +05:30
Michael Rosenberg
1f45eaf8a1
For WebIDL interfaces without constant members, do not generate a 'Constant' module
2016-01-26 02:50:53 -05:00
nxnfufunezn
e54929b4d7
Move ConstantSpec, NonNullJSNative and define_constants from utils to interface
2016-01-24 20:37:30 +05:30
Emilio Cobos Álvarez
950821989f
webidl: Refactor isSequence in getJSToNativeConversionInfo
...
That way it does not depend on the return value for the same type.
This hopefully makes the code more clear, and avoids errors if something
changes in the future (for example, we could want to pass slices as
sequence arguments).
2016-01-15 14:30:38 +01:00
Emilio Cobos Álvarez
4ad1a8ddcc
webidl: Implement sequences in unions
...
Unblocks #9053
2016-01-15 13:42:08 +01:00
Emilio Cobos Álvarez
92d7c49924
codegen: Implement WebIDL sequence arguments
2016-01-12 18:25:46 +01:00
Emilio Cobos Álvarez
2f1eee599c
codegen: Move conversion behaviour to a common function
2016-01-12 18:25:46 +01:00
Anthony Ramine
d13da7d9b3
Fix prototypes of interface objects ( fixes #2665 )
2016-01-12 17:15:44 +01:00
Anthony Ramine
e1d3e4df2a
Describe non-callback interface objects with JSClass structures
...
JS_NewFunction doesn't allow us to set the prototype of the interface objects.
2016-01-12 17:15:42 +01:00
Anthony Ramine
2957a56ad3
Bump rust-mozjs to 4d384eb830d8d53c1268e8ce37135ace21e41721
2016-01-12 17:15:29 +01:00
Anthony Ramine
d52948dfd5
Introduce Descriptor.prototypeDepth
2016-01-12 12:34:18 +01:00
Anthony Ramine
7693aecf15
Use the object prototype for callback interface objects
...
window.NodeFilter's prototype should be the object prototype.
2016-01-12 12:34:18 +01:00
Anthony Ramine
833e0d2fac
Refactor prototype initialisation
...
The function do_create_interface_objects is removed in favour of 4 functions:
create_callback_interface_object, create_interface_prototype_object,
create_noncallback_interface_object and create_named_constructors.
While this increases the amount of codegen'd code, this greatly improves the
readability of the code involved in this part of DOM, instead of having one function
doing 4 different things. We can always find a more adequate abstraction later.
NativeProperties and everything related to the interface objects have been removed
from the utils module.
2016-01-12 12:34:18 +01:00
Anthony Ramine
967948be06
Remove NativePropertyHooks
2016-01-12 12:34:18 +01:00
Corey Farwell
d63c9d79d3
Remove unneeded dict sorting functions in CodegenRust.py
2016-01-10 12:20:46 -05:00
Guillaume Gomez
99ac1a81cc
Generate PartialEq automatically
2016-01-03 18:07:09 +01:00
bors-servo
8dc4b8dcb9
Auto merge of #8993 - nox:small-codegen-slimming, r=Ms2ger
...
Slightly reduce the output of codegen
Interfaces which we know are never instantiated can generate less code.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8993 )
<!-- Reviewable:end -->
2015-12-18 06:35:15 +05:30
bors-servo
d1ea209f0f
Auto merge of #8996 - nox:rm-empty-modules, r=frewsxcv
...
Do not create modules from files with nothing to codegen (fixes #8711 )
Fixes #8711 .
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8996 )
<!-- Reviewable:end -->
2015-12-16 21:06:37 +05:30
bors-servo
9c4ca39ebe
Auto merge of #8055 - nox:rm-webidl-patches, r=Ms2ger
...
Remove all our patches to the WebIDL parser
All the tweaks we need can just be made through Configuration.py.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8055 )
<!-- Reviewable:end -->
2015-12-16 15:19:25 +05:30
Anthony Ramine
2522cfe539
Do not create modules from files with nothing to codegen ( fixes #8711 )
2015-12-16 01:17:06 +01:00
Anthony Ramine
372da02a42
Link [Abstract] to the existing concrete descriptor field
...
This makes codegen not emit anything strictly related to the interface which
are never used in the case of abstract interfaces, such as the Wrap method
or the DOMJSClass.
2015-12-16 00:42:15 +01:00
Anthony Ramine
05e456d0d2
Do not export GetProtoObject if the interface has no descendants
2015-12-16 00:39:22 +01:00
Anthony Ramine
561fdbb150
Merge CGClassConstructHook and CGClassNameConstructHook ( fixes #8934 )
2015-12-15 23:55:06 +01:00
Anthony Ramine
06947965b1
Remove all our local patches to the WebIDL parser
...
All the tweaks we need can just be made through Configuration.py, and
[Abstract] is being submitted upstream by Ms2ger.
2015-12-15 23:06:35 +01:00