}
}
- public bool array_length {
- get {
- if (_array_length == null) {
- if (node.get_attribute ("NoArrayLength") != null) {
- // deprecated
- _array_length = false;
- } else if (ccode != null && ccode.has_argument ("array_length")) {
- _array_length = ccode.get_bool ("array_length");
- } else {
- _array_length = get_default_array_length ();
- }
- }
- return _array_length;
- }
- }
-
- public bool array_null_terminated {
- get {
- if (_array_null_terminated == null) {
- if (ccode != null && ccode.has_argument ("array_null_terminated")) {
- _array_null_terminated = ccode.get_bool ("array_null_terminated");
- } else {
- _array_null_terminated = get_default_array_null_terminated ();
- }
- }
- return _array_null_terminated;
- }
- }
-
+ public bool array_length { get; private set; }
public string? array_length_type { get; private set; }
+ public bool array_null_terminated { get; private set; }
public string? array_length_name { get; private set; }
public string? array_length_expr { get; private set; }
public bool delegate_target { get; private set; }
private string _delegate_target_name;
private string _ctype;
private bool ctype_set = false;
- private bool? _array_length;
- private bool? _array_null_terminated;
private static int dynamic_method_id;
this.node = node;
this.sym = node as Symbol;
+ array_length = true;
delegate_target = true;
ccode = node.get_attribute ("CCode");
if (ccode != null) {
+ array_length = ccode.get_bool ("array_length", true);
array_length_type = ccode.get_string ("array_length_type");
+ array_null_terminated = ccode.get_bool ("array_null_terminated");
array_length_name = ccode.get_string ("array_length_cname");
array_length_expr = ccode.get_string ("array_length_cexpr");
if (ccode.has_argument ("pos")) {
delegate_target = ccode.get_bool ("delegate_target", true);
sentinel = ccode.get_string ("sentinel");
}
+ if (node.get_attribute ("NoArrayLength") != null) {
+ // deprecated
+ array_length = false;
+ }
if (sentinel == null) {
sentinel = "NULL";
}
}
}
}
-
- private bool get_default_array_length () {
- if (node is Parameter) {
- var param = (Parameter) node;
- if (param.base_parameter != null) {
- return CCodeBaseModule.get_ccode_array_length (param.base_parameter);
- }
- }
- return true;
- }
-
- private bool get_default_array_null_terminated () {
- if (node is Parameter) {
- var param = (Parameter) node;
- if (param.base_parameter != null) {
- return CCodeBaseModule.get_ccode_array_null_terminated (param.base_parameter);
- }
- }
- return false;
- }
}
+++ /dev/null
-public class Foo : Application {
- public bool activated = false;
-
- public Foo () {
- Object (application_id: "org.foo.bar");
- }
-
- protected override void activate () {
- activated = true;
- }
-
- protected override bool local_command_line (ref unowned string[] arguments, out int exit_status) {
- var option_context = new OptionContext ();
-
- // FIXME: https://bugzilla.gnome.org/show_bug.cgi?id=642885
- unowned string[] args = arguments;
-
- try {
- option_context.parse (ref args);
- } catch (OptionError e) {
- exit_status = 1;
- return true;
- }
-
- return base.local_command_line (ref arguments, out exit_status);
- }
-}
-
-void main () {
- string[] args = {""};
- var app = new Foo ();
- app.run (args);
- assert (app.activated);
-}
-
-
public bool captured { get; set; }
- /**
- * The base parameter of this parameter relative to the base method.
- */
- public Parameter base_parameter { get; set; }
-
/**
* Creates a new formal parameter.
*
}
}
- var m = parent_symbol as Method;
- if (m != null) {
- Method base_method = m.base_method != null ? m.base_method : m.base_interface_method;
- if (base_method != null && base_method != m) {
- int index = m.get_parameters ().index_of (this);
- base_parameter = base_method.get_parameters ().get (index);
- }
- }
-
context.analyzer.current_source_file = old_source_file;
context.analyzer.current_symbol = old_symbol;