}
void visit_sorted (List<Symbol> symbols) {
- if (type != CodeWriterType.EXTERNAL) {
+ if (type != CodeWriterType.EXTERNAL && type != CodeWriterType.VAPIGEN) {
// order of virtual methods matters for fast vapis
foreach (Symbol sym in symbols) {
sym.accept (this);
}
void write_code_block (Block? block) {
- if (block == null || type != CodeWriterType.DUMP) {
+ if (block == null || (type != CodeWriterType.DUMP && type != CodeWriterType.VAPIGEN)) {
write_string (";");
return;
}
private bool check_accessibility (Symbol sym) {
switch (type) {
case CodeWriterType.EXTERNAL:
+ case CodeWriterType.VAPIGEN:
return sym.access == SymbolAccessibility.PUBLIC ||
sym.access == SymbolAccessibility.PROTECTED;
write_string ("private ");
}
- if (type != CodeWriterType.EXTERNAL && sym.external && !sym.external_package) {
+ if (type != CodeWriterType.EXTERNAL && type != CodeWriterType.VAPIGEN && sym.external && !sym.external_package) {
write_string ("extern ");
}
}
EXTERNAL,
INTERNAL,
FAST,
- DUMP
+ DUMP,
+ VAPIGEN
}
}
}
- var interface_writer = new CodeWriter ();
+ var interface_writer = new CodeWriter (CodeWriterType.VAPIGEN);
var vapi_filename = "%s.vapi".printf (library);
if (directory != null) {
vapi_filename = Path.build_path ("/", directory, vapi_filename);