write [NoArrayLength] for fields
authorJuerg Billeter <j@bitron.ch>
Fri, 18 Jan 2008 20:15:47 +0000 (20:15 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 18 Jan 2008 20:15:47 +0000 (20:15 +0000)
2008-01-18  Juerg Billeter  <j@bitron.ch>

* vala/valainterfacewriter.vala: write [NoArrayLength] for fields

* vapigen/valagidlparser.vala: set no_array_length for fields

* vapi/packages/gtk+-2.0/: fix GtkRecentData binding, fixes bug 509168

* vapi/gdk-2.0.vapi, vapi/gstreamer-0.10.vapi,
  vapi/gstreamer-audio-0.10.vapi, vapi/gstreamer-dataprotocol-0.10.vapi,
  vapi/gstreamer-fft-0.10.vapi, vapi/gstreamer-net-0.10.vapi,
  vapi/gstreamer-netbuffer-0.10.vapi, vapi/gstreamer-rtsp-0.10.vapi,
  vapi/gstreamer-tag-0.10.vapi, vapi/gtk+-2.0.vapi, vapi/hildon-1.vapi,
  vapi/vte.vapi: regenerated

svn path=/trunk/; revision=856

16 files changed:
ChangeLog
vala/valainterfacewriter.vala
vapi/gdk-2.0.vapi
vapi/gstreamer-0.10.vapi
vapi/gstreamer-audio-0.10.vapi
vapi/gstreamer-dataprotocol-0.10.vapi
vapi/gstreamer-fft-0.10.vapi
vapi/gstreamer-net-0.10.vapi
vapi/gstreamer-netbuffer-0.10.vapi
vapi/gstreamer-rtsp-0.10.vapi
vapi/gstreamer-tag-0.10.vapi
vapi/gtk+-2.0.vapi
vapi/hildon-1.vapi
vapi/packages/gtk+-2.0/gtk+-2.0.metadata
vapi/vte.vapi
vapigen/valagidlparser.vala

index 66ba9df..99d7066 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,20 @@
 2008-01-18  Jürg Billeter  <j@bitron.ch>
 
+       * vala/valainterfacewriter.vala: write [NoArrayLength] for fields
+
+       * vapigen/valagidlparser.vala: set no_array_length for fields
+
+       * vapi/packages/gtk+-2.0/: fix GtkRecentData binding, fixes bug 509168
+
+       * vapi/gdk-2.0.vapi, vapi/gstreamer-0.10.vapi,
+         vapi/gstreamer-audio-0.10.vapi, vapi/gstreamer-dataprotocol-0.10.vapi,
+         vapi/gstreamer-fft-0.10.vapi, vapi/gstreamer-net-0.10.vapi,
+         vapi/gstreamer-netbuffer-0.10.vapi, vapi/gstreamer-rtsp-0.10.vapi,
+         vapi/gstreamer-tag-0.10.vapi, vapi/gtk+-2.0.vapi, vapi/hildon-1.vapi,
+         vapi/vte.vapi: regenerated
+
+2008-01-18  Jürg Billeter  <j@bitron.ch>
+
        * vala/valacodenode.vala, vala/valasemanticanalyzer.vala: don't output
          full source file path in generated C code
 
index b9f1fd7..c3d750a 100644 (file)
@@ -371,6 +371,11 @@ public class Vala.InterfaceWriter : CodeVisitor {
                        write_string ("[CCode (cname = \"%s\")]".printf (f.get_cname ()));
                }
 
+               if (f.no_array_length && f.type_reference.data_type is Array) {
+                       write_indent ();
+                       write_string ("[NoArrayLength]");
+               }
+
                write_indent ();
                write_accessibility (f);
 
index eeded8b..581ef5f 100644 (file)
@@ -939,6 +939,7 @@ namespace Gdk {
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
        public class RgbCmap {
+               [NoArrayLength]
                public weak uint[] colors;
                public int n_colors;
                public weak GLib.SList info_list;
@@ -961,6 +962,7 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public class TimeCoord {
                public uint time;
+               [NoArrayLength]
                public weak double[] axes;
        }
        [CCode (cheader_filename = "gdk/gdk.h")]
@@ -1078,14 +1080,19 @@ namespace Gdk {
        public class Display : GLib.Object {
                public weak GLib.List queued_events;
                public weak GLib.List queued_tail;
+               [NoArrayLength]
                public weak uint[] button_click_time;
+               [NoArrayLength]
                public weak Gdk.Window[] button_window;
+               [NoArrayLength]
                public weak int[] button_number;
                public uint double_click_time;
                public weak Gdk.Device core_pointer;
                public weak Gdk.DisplayPointerHooks pointer_hooks;
                public uint double_click_distance;
+               [NoArrayLength]
                public weak int[] button_x;
+               [NoArrayLength]
                public weak int[] button_y;
                public void add_client_message_filter (Gdk.Atom message_type, Gdk.FilterFunc func, pointer data);
                public void beep ();
@@ -1373,7 +1380,9 @@ namespace Gdk {
        [CCode (cheader_filename = "gdk/gdk.h")]
        public class Screen : GLib.Object {
                public uint closed;
+               [NoArrayLength]
                public weak Gdk.GC[] normal_gcs;
+               [NoArrayLength]
                public weak Gdk.GC[] exposure_gcs;
                public void broadcast_client_message (Gdk.Event event);
                public weak Gdk.Window get_active_window ();
index f85d06b..51ef001 100644 (file)
@@ -522,6 +522,7 @@ namespace Gst {
                public uint64 offset;
                public uint64 offset_end;
                public uchar malloc_data;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                public void copy_metadata (Gst.Buffer src, Gst.BufferCopyFlags flags);
                public weak Gst.Buffer create_sub (uint offset, uint size);
@@ -590,6 +591,7 @@ namespace Gst {
                public weak string klass;
                public weak string description;
                public weak string author;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (cheader_filename = "gst/gst.h")]
@@ -627,6 +629,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public class EventClass {
                public weak Gst.MiniObjectClass mini_object_class;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (cheader_filename = "gst/gst.h")]
@@ -659,6 +662,7 @@ namespace Gst {
                public weak GLib.Mutex @lock;
                public uint cookie;
                public uint master_cookie;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                public weak Gst.Iterator filter (GLib.CompareFunc func, pointer user_data);
                public pointer find_custom (GLib.CompareFunc func, pointer user_data);
@@ -677,6 +681,7 @@ namespace Gst {
                public uint64 timestamp;
                public weak Gst.Object src;
                public weak Gst.Structure structure;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                public weak Gst.Structure get_structure ();
                public Message.application (Gst.Object src, Gst.Structure structure);
@@ -718,6 +723,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public class MessageClass {
                public weak Gst.MiniObjectClass mini_object_class;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (ref_function = "gst_mini_object_ref", unref_function = "gst_mini_object_unref", cheader_filename = "gst/gst.h")]
@@ -761,6 +767,7 @@ namespace Gst {
                public weak string source;
                public weak string package;
                public weak string origin;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (cheader_filename = "gst/gst.h")]
@@ -805,6 +812,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public class QueryClass {
                public weak Gst.MiniObjectClass mini_object_class;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (cheader_filename = "gst/gst.h")]
@@ -818,6 +826,7 @@ namespace Gst {
        public class StaticCaps {
                public weak Gst.Caps caps;
                public weak string string;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                public weak Gst.Caps get ();
        }
@@ -895,11 +904,13 @@ namespace Gst {
                public int64 timestamp;
                public uint sequence;
                public uint data;
+               [NoArrayLength]
                public weak char[] message;
        }
        [CCode (cheader_filename = "gst/gst.h")]
        public class TypeFind {
                public pointer data;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                [CCode (cname = "gst_type_find_get_length")]
                public uint64 get_length ();
@@ -921,6 +932,7 @@ namespace Gst {
                public Gst.ValueCompareFunc compare;
                public Gst.ValueSerializeFunc serialize;
                public Gst.ValueDeserializeFunc deserialize;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (ref_function = "gst_caps_ref", unref_function = "gst_caps_unref", cheader_filename = "gst/gst.h")]
@@ -929,6 +941,7 @@ namespace Gst {
                public int refcount;
                public Gst.CapsFlags flags;
                public weak GLib.PtrArray structs;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                public void append (Gst.Caps caps2);
                public void append_structure (Gst.Structure structure);
@@ -993,6 +1006,7 @@ namespace Gst {
                public int64 last_stop;
                public int64 duration;
                public double applied_rate;
+               [NoArrayLength]
                public weak uchar[] _gst_reserved;
                public bool clip (Gst.Format format, int64 start, int64 stop, int64 clip_start, int64 clip_stop);
                public void init (Gst.Format format);
index 5e54a09..0c3543a 100644 (file)
@@ -113,7 +113,9 @@ namespace Gst {
                public int segsize;
                public int segtotal;
                public int bytes_per_sample;
+               [NoArrayLength]
                public weak uchar[] silence_sample;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
        [CCode (cheader_filename = "gst/gst.h")]
index a8fc81d..765c151 100644 (file)
@@ -27,6 +27,7 @@ namespace Gst {
                public Gst.DPHeaderFromBufferFunction header_from_buffer;
                public Gst.DPPacketFromCapsFunction packet_from_caps;
                public Gst.DPPacketFromEventFunction packet_from_event;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                public DPPacketizer (Gst.DPVersion version);
        }
index a197791..93ea370 100644 (file)
@@ -15,6 +15,7 @@ namespace Gst {
                public pointer cfg;
                public bool inverse;
                public int len;
+               [NoArrayLength]
                public weak pointer[] _padding;
                public void fft (float timedata, Gst.FFTF32Complex freqdata);
                public void inverse_fft (Gst.FFTF32Complex freqdata, float timedata);
@@ -31,6 +32,7 @@ namespace Gst {
                public pointer cfg;
                public bool inverse;
                public int len;
+               [NoArrayLength]
                public weak pointer[] _padding;
                public void fft (double timedata, Gst.FFTF64Complex freqdata);
                public void inverse_fft (Gst.FFTF64Complex freqdata, double timedata);
@@ -47,6 +49,7 @@ namespace Gst {
                public pointer cfg;
                public bool inverse;
                public int len;
+               [NoArrayLength]
                public weak pointer[] _padding;
                public void fft (short timedata, Gst.FFTS16Complex freqdata);
                public void inverse_fft (Gst.FFTS16Complex freqdata, short timedata);
@@ -63,6 +66,7 @@ namespace Gst {
                public pointer cfg;
                public bool inverse;
                public int len;
+               [NoArrayLength]
                public weak pointer[] _padding;
                public void fft (int timedata, Gst.FFTS32Complex freqdata);
                public void inverse_fft (Gst.FFTS32Complex freqdata, int timedata);
index 1ea17d4..00d0a28 100644 (file)
@@ -14,6 +14,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public class NetClientClock : Gst.SystemClock {
                public int sock;
+               [NoArrayLength]
                public weak int[] control_sock;
                public weak Gst.ClockTime current_timeout;
                public pointer servaddr;
@@ -27,6 +28,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public class NetTimeProvider : Gst.Object {
                public int sock;
+               [NoArrayLength]
                public weak int[] control_sock;
                public weak GLib.Thread thread;
                public NetTimeProvider (Gst.Clock clock, string address, int port);
index fa7e0d1..1a86996 100644 (file)
@@ -13,6 +13,7 @@ namespace Gst {
                public Gst.NetType type;
                public pointer address;
                public ushort port;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                [CCode (cname = "gst_netaddress_get_ip4_address")]
                public bool get_ip4_address (uint address, ushort port);
@@ -32,6 +33,7 @@ namespace Gst {
                public weak Gst.Buffer buffer;
                public weak Gst.NetAddress from;
                public weak Gst.NetAddress to;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
                [CCode (cname = "gst_netbuffer_new")]
                public NetBuffer ();
@@ -39,6 +41,7 @@ namespace Gst {
        [CCode (cheader_filename = "gst/gst.h")]
        public class NetBufferClass {
                public weak Gst.BufferClass buffer_class;
+               [NoArrayLength]
                public weak pointer[] _gst_reserved;
        }
 }
index 1a772d0..73ff720 100644 (file)
@@ -218,9 +218,11 @@ namespace Gst {
        public class RTSPConnection {
                public weak Gst.RTSPUrl url;
                public int fd;
+               [NoArrayLength]
                public weak int[] control_sock;
                public weak string ip;
                public int cseq;
+               [NoArrayLength]
                public weak char[] session_id;
                public int timeout;
                public weak GLib.Timer timer;
index 00949f4..d9cb938 100644 (file)
@@ -32,6 +32,7 @@ namespace Gst {
        }
        [CCode (cheader_filename = "gst/gst.h")]
        public class TagDemux : Gst.Element {
+               [NoArrayLength]
                public weak pointer[] reserved;
        }
        public const string TAG_CDDA_CDDB_DISCID;
index aec5983..5e471de 100644 (file)
@@ -1332,16 +1332,6 @@ namespace Gtk {
                public static bool parse_requisition (GLib.ParamSpec pspec, GLib.String gstring, GLib.Value property_value);
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
-       public class RecentData {
-               public weak string display_name;
-               public weak string description;
-               public weak string mime_type;
-               public weak string app_name;
-               public weak string app_exec;
-               public weak string groups;
-               public bool is_private;
-       }
-       [CCode (cheader_filename = "gtk/gtk.h")]
        public class RecentFilterInfo {
                public Gtk.RecentFilterFlags contains;
                public weak string uri;
@@ -1356,7 +1346,9 @@ namespace Gtk {
                public weak string metric_name;
                public weak string abbrev;
                public double pixels_per_unit;
+               [NoArrayLength]
                public weak double[] ruler_scale;
+               [NoArrayLength]
                public weak int[] subdivide;
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
@@ -1563,6 +1555,7 @@ namespace Gtk {
                public Gdk.Atom target;
                public Gdk.Atom type;
                public int format;
+               [NoArrayLength]
                public weak uchar[] data;
                public int length;
                public weak Gdk.Display display;
@@ -2075,10 +2068,13 @@ namespace Gtk {
                public weak Gtk.Style header_style;
                public weak Gtk.Style label_style;
                public int selected_day;
+               [NoArrayLength]
                public weak int[] day_month;
                public int num_marked_dates;
+               [NoArrayLength]
                public weak int[] marked_date;
                public Gtk.CalendarDisplayOptions display_flags;
+               [NoArrayLength]
                public weak Gdk.Color[] marked_date_color;
                public weak Gdk.GC gc;
                public weak Gdk.GC xor_gc;
@@ -2086,6 +2082,7 @@ namespace Gtk {
                public int focus_col;
                public int highlight_row;
                public int highlight_col;
+               [NoArrayLength]
                public weak char[] grow_space;
                public void clear_marks ();
                public void get_date (uint year, uint month, uint day);
@@ -2598,6 +2595,7 @@ namespace Gtk {
                public int num_points;
                public weak Gdk.Point point;
                public int num_ctlpoints;
+               [NoArrayLength]
                public weak float[] ctlpoint;
                [NoArrayLength]
                public void get_vector (int veclen, float[] vector);
@@ -2957,6 +2955,7 @@ namespace Gtk {
        public class GammaCurve : Gtk.VBox, Atk.Implementor, Gtk.Buildable {
                public weak Gtk.Widget table;
                public weak Gtk.Widget curve;
+               [NoArrayLength]
                public weak Gtk.Widget[] button;
                public float gamma;
                public weak Gtk.Widget gamma_dialog;
@@ -3043,6 +3042,7 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public class IMContextSimple : Gtk.IMContext {
                public weak GLib.SList tables;
+               [NoArrayLength]
                public weak uint[] compose_buffer;
                public unichar tentative_match;
                public int tentative_match_len;
@@ -3246,6 +3246,7 @@ namespace Gtk {
                public weak Gtk.Widget mode_optionmenu;
                public weak Gtk.Widget close_button;
                public weak Gtk.Widget save_button;
+               [NoArrayLength]
                public weak Gtk.Widget[] axis_items;
                public weak Gdk.Device current_device;
                public weak Gtk.Widget keys_list;
@@ -3393,6 +3394,7 @@ namespace Gtk {
                public int n_columns;
                public int sort_column_id;
                public Gtk.SortType order;
+               [NoArrayLength]
                public weak GLib.Type[] column_headers;
                public int length;
                public Gtk.TreeIterCompareFunc default_sort_func;
@@ -4076,12 +4078,18 @@ namespace Gtk {
        [CCode (cheader_filename = "gtk/gtk.h")]
        public class RcStyle : GLib.Object {
                public weak string name;
+               [NoArrayLength]
                public weak string[] bg_pixmap_name;
                public weak Pango.FontDescription font_desc;
+               [NoArrayLength]
                public weak Gtk.RcFlags[] color_flags;
+               [NoArrayLength]
                public weak Gdk.Color[] fg;
+               [NoArrayLength]
                public weak Gdk.Color[] bg;
+               [NoArrayLength]
                public weak Gdk.Color[] text;
+               [NoArrayLength]
                public weak Gdk.Color[] @base;
                public int xthickness;
                public int ythickness;
@@ -4531,29 +4539,46 @@ namespace Gtk {
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
        public class Style : GLib.Object {
+               [NoArrayLength]
                public Gdk.Color[] fg;
+               [NoArrayLength]
                public Gdk.Color[] bg;
+               [NoArrayLength]
                public Gdk.Color[] light;
+               [NoArrayLength]
                public Gdk.Color[] dark;
+               [NoArrayLength]
                public Gdk.Color[] mid;
+               [NoArrayLength]
                public Gdk.Color[] text;
+               [NoArrayLength]
                public Gdk.Color[] @base;
+               [NoArrayLength]
                public Gdk.Color[] text_aa;
                public Gdk.Color black;
                public Gdk.Color white;
                public weak Pango.FontDescription font_desc;
                public int xthickness;
                public int ythickness;
+               [NoArrayLength]
                public Gdk.GC[] fg_gc;
+               [NoArrayLength]
                public Gdk.GC[] bg_gc;
+               [NoArrayLength]
                public Gdk.GC[] light_gc;
+               [NoArrayLength]
                public Gdk.GC[] dark_gc;
+               [NoArrayLength]
                public Gdk.GC[] mid_gc;
+               [NoArrayLength]
                public Gdk.GC[] text_gc;
+               [NoArrayLength]
                public Gdk.GC[] base_gc;
+               [NoArrayLength]
                public Gdk.GC[] text_aa_gc;
                public weak Gdk.GC black_gc;
                public weak Gdk.GC white_gc;
+               [NoArrayLength]
                public Gdk.Pixmap[] bg_pixmap;
                public int attach_count;
                public int depth;
@@ -5251,6 +5276,7 @@ namespace Gtk {
                public int sort_column_id;
                public weak GLib.List sort_list;
                public Gtk.SortType order;
+               [NoArrayLength]
                public weak GLib.Type[] column_headers;
                public Gtk.TreeIterCompareFunc default_sort_func;
                public pointer default_sort_data;
@@ -6005,6 +6031,17 @@ namespace Gtk {
                public int value;
        }
        [CCode (cheader_filename = "gtk/gtk.h")]
+       public struct RecentData {
+               public string display_name;
+               public string description;
+               public string mime_type;
+               public string app_name;
+               public string app_exec;
+               [NoArrayLength]
+               public string[] groups;
+               public bool is_private;
+       }
+       [CCode (cheader_filename = "gtk/gtk.h")]
        public struct TargetEntry {
                public weak string target;
                public uint flags;
index 1155c7e..57fb27c 100644 (file)
@@ -111,10 +111,13 @@ namespace Hildon {
                public weak Gtk.Style header_style;
                public weak Gtk.Style label_style;
                public int selected_day;
+               [NoArrayLength]
                public weak int[] day_month;
                public int num_marked_dates;
+               [NoArrayLength]
                public weak int[] marked_date;
                public Hildon.CalendarDisplayOptions display_flags;
+               [NoArrayLength]
                public weak Gdk.Color[] marked_date_color;
                public weak Gdk.GC gc;
                public weak Gdk.GC xor_gc;
@@ -122,6 +125,7 @@ namespace Hildon {
                public int focus_col;
                public int highlight_row;
                public int highlight_col;
+               [NoArrayLength]
                public weak char[] grow_space;
                public void clear_marks ();
                public void freeze ();
index 6a89d2e..944ea0b 100644 (file)
@@ -101,6 +101,13 @@ GtkProgressBar base_class="GtkWidget"
 GtkProgressClass hidden="1"
 gtk_quit_add_full hidden="1"
 GtkRadioActionEntry is_value_type="1"
+GtkRecentData is_value_type="1"
+GtkRecentData.display_name weak="0"
+GtkRecentData.description weak="0"
+GtkRecentData.mime_type weak="0"
+GtkRecentData.app_name weak="0"
+GtkRecentData.app_exec weak="0"
+GtkRecentData.groups is_array="1" weak="0"
 GtkRequisition is_value_type="1"
 gtk_scale_button_new.icons is_array="1"
 gtk_scale_button_set_icons.icons is_array="1"
index d7c52e9..a2a49bf 100644 (file)
@@ -27,6 +27,7 @@ namespace Vte {
        [CCode (cheader_filename = "vte/reaper.h")]
        public class Reaper : GLib.Object {
                public weak GLib.IOChannel channel;
+               [NoArrayLength]
                public weak int[] iopipe;
                public static int add_child (GLib.Pid pid);
                public static weak Vte.Reaper get ();
index 2ff1fb8..5710d49 100644 (file)
@@ -1386,7 +1386,9 @@ public class Vala.GIdlParser : CodeVisitor {
                
                var field = new Field (node.name, type, null, current_source_reference);
                field.access = SymbolAccessibility.PUBLIC;
-               
+
+               field.no_array_length = true;
+
                return field;
        }