diff options
-rw-r--r-- | ccode/valaccodefile.vala | 10 | ||||
-rw-r--r-- | codegen/valaccodebasemodule.vala | 12 | ||||
-rw-r--r-- | codegen/valagtypemodule.vala | 8 | ||||
-rw-r--r-- | compiler/valacompiler.vala | 7 | ||||
-rw-r--r-- | vala/valacodecontext.vala | 2 |
5 files changed, 14 insertions, 25 deletions
diff --git a/ccode/valaccodefile.vala b/ccode/valaccodefile.vala index a82eac5c0..7145946b1 100644 --- a/ccode/valaccodefile.vala +++ b/ccode/valaccodefile.vala @@ -22,7 +22,7 @@ public class Vala.CCodeFile { - public CCodeFileType cfile_type { get; set; } + public CCodeFileType file_type { get; private set; } public weak SourceFile? file { get; private set; } @@ -39,11 +39,9 @@ public class Vala.CCodeFile { CCodeFragment constant_declaration = new CCodeFragment (); CCodeFragment type_member_definition = new CCodeFragment (); - public CCodeFile (SourceFile? source_file = null) { + public CCodeFile (CCodeFileType type = CCodeFileType.SOURCE, SourceFile? source_file = null) { file = source_file; - if (source_file != null) { - cfile_type = CCodeFileType.SOURCE; - } + file_type = type; } public bool add_declaration (string name) { @@ -154,7 +152,7 @@ public class Vala.CCodeFile { return false; } - if (cfile_type == CCodeFileType.SOURCE) { + if (file_type == CCodeFileType.SOURCE) { writer.line_directives = line_directives; comments.write (writer); diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala index 5e1b6e5f1..f58985b9e 100644 --- a/codegen/valaccodebasemodule.vala +++ b/codegen/valaccodebasemodule.vala @@ -557,10 +557,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { gtk_widget_type = (Class) gtk_ns.scope.lookup ("Widget"); } - header_file = new CCodeFile (); - header_file.cfile_type = CCodeFileType.PUBLIC_HEADER; - internal_header_file = new CCodeFile (); - internal_header_file.cfile_type = CCodeFileType.INTERNAL_HEADER; + header_file = new CCodeFile (CCodeFileType.PUBLIC_HEADER); + internal_header_file = new CCodeFile (CCodeFileType.INTERNAL_HEADER); /* we're only interested in non-pkg source files */ var source_files = context.get_source_files (); @@ -672,8 +670,8 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } public bool add_symbol_declaration (CCodeFile decl_space, Symbol sym, string name) { - bool in_generated_header = CodeContext.get ().use_header - && (decl_space.cfile_type != CCodeFileType.PUBLIC_HEADER && !sym.is_internal_symbol ()); + bool in_generated_header = context.header_filename != null + && (decl_space.file_type != CCodeFileType.PUBLIC_HEADER && !sym.is_internal_symbol ()); if (decl_space.add_declaration (name)) { return true; } @@ -755,7 +753,7 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator { } public override void visit_source_file (SourceFile source_file) { - cfile = new CCodeFile (source_file); + cfile = new CCodeFile (CCodeFileType.SOURCE, source_file); user_marshal_set = new HashSet<string> (str_hash, str_equal); diff --git a/codegen/valagtypemodule.vala b/codegen/valagtypemodule.vala index f7433f205..4e8c91702 100644 --- a/codegen/valagtypemodule.vala +++ b/codegen/valagtypemodule.vala @@ -198,8 +198,8 @@ public class Vala.GTypeModule : GErrorModule { // Custom unref-methods need to be emitted before G_DEFINE_AUTOPTR_CLEANUP_FUNC, // so we guard against that special case and handle it in generate_method_declaration. if (!(base_class.is_compact && is_reference_counting (base_class)) - && (!context.use_header || decl_space.cfile_type == CCodeFileType.PUBLIC_HEADER - || (decl_space.cfile_type == CCodeFileType.INTERNAL_HEADER && base_class.is_internal_symbol()))) { + && (context.header_filename == null|| decl_space.file_type == CCodeFileType.PUBLIC_HEADER + || (decl_space.file_type == CCodeFileType.INTERNAL_HEADER && base_class.is_internal_symbol()))) { string autoptr_cleanup_func; if (is_reference_counting (base_class)) { autoptr_cleanup_func = get_ccode_unref_function (base_class); @@ -426,8 +426,8 @@ public class Vala.GTypeModule : GErrorModule { // in addition to the non-ref-countable case in generate_class_declaration. unowned Class? cl = m.parent_symbol as Class; if (cl != null && cl.is_compact && get_ccode_unref_function (cl) == get_ccode_name (m) - && (!context.use_header || decl_space.cfile_type == CCodeFileType.PUBLIC_HEADER - || (decl_space.cfile_type == CCodeFileType.INTERNAL_HEADER && cl.is_internal_symbol()))) { + && (context.header_filename == null || decl_space.file_type == CCodeFileType.PUBLIC_HEADER + || (decl_space.file_type == CCodeFileType.INTERNAL_HEADER && cl.is_internal_symbol()))) { decl_space.add_type_member_declaration (new CCodeIdentifier ("G_DEFINE_AUTOPTR_CLEANUP_FUNC (%s, %s)".printf (get_ccode_name (cl), get_ccode_name (m)))); decl_space.add_type_member_declaration (new CCodeNewline ()); } diff --git a/compiler/valacompiler.vala b/compiler/valacompiler.vala index 37d43008d..4cf66f3c5 100644 --- a/compiler/valacompiler.vala +++ b/compiler/valacompiler.vala @@ -55,7 +55,6 @@ class Vala.Compiler { static bool ccode_only; static bool abi_stability; static string header_filename; - static bool use_header; static string internal_header_filename; static string internal_vapi_filename; static string fast_vapi_filename; @@ -119,7 +118,7 @@ class Vala.Compiler { { "api-version", 0, 0, OptionArg.NONE, ref api_version, "Display API version number", null }, { "ccode", 'C', 0, OptionArg.NONE, ref ccode_only, "Output C code", null }, { "header", 'H', 0, OptionArg.FILENAME, ref header_filename, "Output C header file", "FILE" }, - { "use-header", 0, 0, OptionArg.NONE, ref use_header, "Use C header file", null }, + { "use-header", 0, OptionFlags.OPTIONAL_ARG | OptionFlags.NO_ARG, OptionArg.CALLBACK, (void*) option_deprecated, "Use C header file (DEPRECATED AND IGNORED)", null }, { "includedir", 0, 0, OptionArg.FILENAME, ref includedir, "Directory used to include the C header file", "DIRECTORY" }, { "internal-header", 'h', 0, OptionArg.FILENAME, ref internal_header_filename, "Output internal C header file", "FILE" }, { "internal-vapi", 0, 0, OptionArg.FILENAME, ref internal_vapi_filename, "Output vapi with internal api", "FILE" }, @@ -266,10 +265,6 @@ class Vala.Compiler { context.abi_stability = abi_stability; context.compile_only = compile_only; context.header_filename = header_filename; - if (header_filename == null && use_header) { - Report.error (null, "--use-header may only be used in combination with --header"); - } - context.use_header = use_header; context.internal_header_filename = internal_header_filename; context.symbols_filename = symbols_filename; context.includedir = includedir; diff --git a/vala/valacodecontext.vala b/vala/valacodecontext.vala index da07b6f54..6ddcd8f5c 100644 --- a/vala/valacodecontext.vala +++ b/vala/valacodecontext.vala @@ -91,8 +91,6 @@ public class Vala.CodeContext { */ public string? internal_header_filename { get; set; } - public bool use_header { get; set; } - /** * Base directory used for header_filename in the VAPIs. */ |