Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-12-13 | Use clang-sys bindings instead of ours. | Emilio Cobos Álvarez | |
I plan to use a dynamically loaded clang-sys library to remove the llvm-stable feature. This is part of the work. | |||
2016-12-13 | ir: Add documentation for CompInfo::constructors | Emilio Cobos Álvarez | |
2016-12-13 | Add support for constructors, and integration tests. | Emilio Cobos Álvarez | |
2016-12-09 | Upgrade deps to have syntex 0.50 | Xidorn Quan | |
2016-12-07 | ir: Fix namespace_aware_canonical_name with disable_name_namespacing. | Emilio Cobos Álvarez | |
2016-12-07 | ir: Move duplicated checks into a function. | Emilio Cobos Álvarez | |
2016-12-07 | ir: Saner whitelisting/blacklisting. | Emilio Cobos Álvarez | |
2016-12-07 | ir: Auto-whitelist replacements. | Emilio Cobos Álvarez | |
2016-12-02 | Rename `AncestorsSeen` to `DebugOnlyItemSet` | Nick Fitzgerald | |
The type is now being used outside of the context of ancestors, and additionally "debug only" more precisely describes its behavior. | |||
2016-12-02 | Assert that we do not infinitely loop in ir::Item::name_target | Nick Fitzgerald | |
This re-uses the infrastructure used when asserting that `ItemAncestorsIter` does not infinitely loop in `ir::Item::name_target`. | |||
2016-12-02 | Assert that we won't infinite loop in ItemAncestorsIter | Nick Fitzgerald | |
In non-release builds with debug assertions, keep track of the set of `ItemId`s that we have iterated over in `ItemAncestorsIter` and make sure that we don't reach an ancestor we have already yielded, which would trigger an infinite loop. | |||
2016-12-02 | Do not treat parent struct as a module for nested structs | Nick Fitzgerald | |
This fixes `ItemCanonicalPath` to return paths of the form `[module*, item]` rather than `[item*, item]`. That is, there will only be module names before the item's name, rather than also other arbitrary item names (such as parent structs). Fixes #311 | |||
2016-12-02 | Unify naming methods into a single method + options builder type | Artem Biryukov | |
This an implementation of `NameOptions` structure which will hold flags for building a name string. This fixes related to issue #201 | |||
2016-11-29 | ir: Don't assume our name is our base name too early when we're in a namespace. | Emilio Cobos Álvarez | |
2016-11-24 | Some fixes for libclang 4.0. | Emilio Cobos Álvarez | |
2016-11-24 | Add a new disable-name-namespacing option. | Emilio Cobos Álvarez | |
2016-11-23 | Auto merge of #285 - tsliang:issue-125, r=emilio | bors-servo | |
clang::Cursor::enum_type should return an Option<Type> Returning an Option<Type> relieves callers from having to check whether clang::Cursor::enum_type returns `CXType_Invalid`. Fixes #125 | |||
2016-11-23 | Use and_then() to properly handle cases when Cursor::enum_type() return None | Tai Sassen-Liang | |
2016-11-22 | Circuit-break if Cursor::enum_type returns None | Tai Sassen-Liang | |
As discussed with @emilio. Part of #125. | |||
2016-11-22 | ir: Rework how we discover children of modules. | Emilio Cobos Álvarez | |
2016-11-22 | A more coherent story for whitelisting. | Emilio Cobos Álvarez | |
2016-11-22 | ir: Deduplicate namespaces. | Emilio Cobos Álvarez | |
2016-11-21 | Trace function signature types | Nick Fitzgerald | |
This extends the `TypeCollector` trait implementation for `Item` to consider items of kind `Function` and to collect the types found in the function's signature. Fixes #291 | |||
2016-11-21 | Recurse on the innter type when finding a template alias name target | Nick Fitzgerald | |
The assertion that the template alias's inner type was our name target, and that we didn't need to recurse, is failing when generating SpiderMonkey bindings. I'm not 100% sure when this can happen, but clearly it can, and it is easy to support, so let's support it. | |||
2016-11-21 | Auto merge of #284 - fitzgen:dont-eval-variadic-templates, r=emilio | bors-servo | |
Do not evaluate variadic template types This is a workaround for an internal clang assertion that gets triggered if we try to evaluate a variadic template type reference. Fixes #283 r? @emilio | |||
2016-11-21 | Address review comments. | Emilio Cobos Álvarez | |
2016-11-21 | ir: Pass the location instead of the declaration for TemplateRef's. | Emilio Cobos Álvarez | |
2016-11-21 | ir: Explicitly bypass NamespaceRef's | Emilio Cobos Álvarez | |
2016-11-21 | ir: Properly recurse inside types. | Emilio Cobos Álvarez | |
2016-11-21 | Reformat. | Emilio Cobos Álvarez | |
2016-11-21 | codegen: Fix whitelisting inside namespaces. | Emilio Cobos Álvarez | |
2016-11-20 | Update error wording for enum_type().expect() | Tai Sassen-Liang | |
2016-11-20 | clang::Cursor::enum_type should return an Option<Type> | Tai Sassen-Liang | |
Fixes issue #125 | |||
2016-11-18 | Do not evaluate variadic template types | Nick Fitzgerald | |
This is a workaround for an internal clang assertion that gets triggered if we try to evaluate a variadic template type reference. Fixes #283 | |||
2016-11-18 | Auto merge of #207 - Natim:130-cursor-args-return-vector, r=emilio | bors-servo | |
clang::Cursor::args should return an Option<Vec<Cursor>> Attempt to fix #130 | |||
2016-11-18 | Auto merge of #281 - fitzgen:namespace-mangle-rust-symbols, r=emilio | bors-servo | |
Include namespaces in mangled symbols When we aren't using `--enable-cxx-namespaces`, we can end up with conflicting struct symbol names that we need to disambiguate. The solution is to mangle the namespaced C++ symbol "foo::bar::Baz" into the Rust "foo_bar_Baz" symbol. This did change the way anonymous types and modules get named a little, but I think our approach is much more sane now than it was before. Fixes #267. r? @emilio | |||
2016-11-18 | Include namespaces in mangled symbols | Nick Fitzgerald | |
When we aren't using `--enable-cxx-namespaces`, we can end up with conflicting struct symbol names that we need to disambiguate. The solution is to mangle the namespaced C++ symbol "foo::bar::Baz" into the Rust "foo_bar_Baz" symbol. | |||
2016-11-17 | Make `ir::Item::is_module` public | Nick Fitzgerald | |
2016-11-17 | Attempt to fix #130 — clang::Cursor::args should return an Option<Vec<Cursor>> | Rémy HUBSCHER | |
2016-11-17 | ir: Avoid generating out-of-range values in constants. | Emilio Cobos Álvarez | |
Fixes #274 | |||
2016-11-17 | Generate bool value for bool constants | Xidorn Quan | |
This fixes #272. | |||
2016-11-16 | Address review comments. | Emilio Cobos Álvarez | |
2016-11-16 | ir: context: fall back to use the declaration as a key when there's no USR. | Emilio Cobos Álvarez | |
Apparently MSVC isn't that good at giving us USRs... Fixes #271 | |||
2016-11-16 | ir: var: Missing docs. | Emilio Cobos Álvarez | |
2016-11-16 | Multiple constant generation evaluation improvements. | Emilio Cobos Álvarez | |
2016-11-16 | reformat. | Emilio Cobos Álvarez | |
2016-11-16 | clang: Evaluate more complex constant expressions in variables. | Emilio Cobos Álvarez | |
2016-11-16 | Transition to libbindgen sub-crate | Jeff Waugh | |
- The root crate is the `bindgen` binary - Rust-ify the test suite, no more subprocesses! - Update Travis config to test both crates |