summaryrefslogtreecommitdiff
path: root/libbindgen/src/codegen/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'libbindgen/src/codegen/mod.rs')
-rw-r--r--libbindgen/src/codegen/mod.rs32
1 files changed, 17 insertions, 15 deletions
diff --git a/libbindgen/src/codegen/mod.rs b/libbindgen/src/codegen/mod.rs
index c267cb95..d2e2b96c 100644
--- a/libbindgen/src/codegen/mod.rs
+++ b/libbindgen/src/codegen/mod.rs
@@ -267,15 +267,19 @@ impl CodeGenerator for Item {
module.codegen(ctx, result, whitelisted_items, self);
}
ItemKind::Function(ref fun) => {
- if !ctx.options().ignore_functions {
+ if ctx.options().codegen_config.functions {
fun.codegen(ctx, result, whitelisted_items, self);
}
}
ItemKind::Var(ref var) => {
- var.codegen(ctx, result, whitelisted_items, self);
+ if ctx.options().codegen_config.vars {
+ var.codegen(ctx, result, whitelisted_items, self);
+ }
}
ItemKind::Type(ref ty) => {
- ty.codegen(ctx, result, whitelisted_items, self);
+ if ctx.options().codegen_config.types {
+ ty.codegen(ctx, result, whitelisted_items, self);
+ }
}
}
}
@@ -1166,14 +1170,16 @@ impl CodeGenerator for CompInfo {
result.push(item);
}
- let mut method_names = Default::default();
- for method in self.methods() {
- method.codegen_method(ctx,
- &mut methods,
- &mut method_names,
- result,
- whitelisted_items,
- item);
+ if ctx.options().codegen_config.methods {
+ let mut method_names = Default::default();
+ for method in self.methods() {
+ method.codegen_method(ctx,
+ &mut methods,
+ &mut method_names,
+ result,
+ whitelisted_items,
+ item);
+ }
}
}
@@ -1236,10 +1242,6 @@ impl MethodCodegen for Method {
result: &mut CodegenResult,
whitelisted_items: &ItemSet,
_parent: &Item) {
- if ctx.options().ignore_methods {
- return;
- }
-
if self.is_virtual() {
return; // FIXME
}