-XML format
+GIR XML format
----------
-- Document the format
-- Write a scanner to create XML from annotated headers
+- Document the format better
- Add attributes to connect signals to their default handlers
and wrappers to their vfuncs
-- Add attributes for struct offsets
- Add a way to specify default values
-- Add a way to specify annotations
+- Add a way to mark init functions like gtk_init
+- For argument/return values etc, store only c:identifier in the
+ <class/> definition. Requires a link to the references type in the
+ Type node.
+- replace gidl/gdk-pixbuf.gidl with something generated from headers,
+ verify all information is available, possible to write
Binary format
-------------
-- Type cleanup:
- + for integral types, we just need to discriminate types by width
- and signedness, but keep separate types for platform-dependent types
- like short, int, long, size_t. We should not try to capture different
- type names like guchar vs guint8 vs int8_t.
- + there should probably not be a char type
- + for strings, we need "UTF-8-encoded 0-terminated string and
- "0-terminated byte array", possibly with annotation for encoding
- Sort arrays so that we can use bsearch for lookup
- Maybe add hashes to lookup interfaces and functions in interfaces
- Add default values
-- Write a validator
- Make annotations more flexible (and typed)
Compiler
--------
-- Cleanup, maybe turn the nodes in to objects to avoid the horrific
+- Cleanup, maybe turn the nodes in to objects to avoid the horrific
type switches
- Add thorough error checking
----------
- Reconsider the current clunky API, maybe an iterator approach is better
- Add thorough error checking
-- Use hashes
+- Use hashes
- Maybe allow populating repositories at runtime
-- Think about a system-wide repository mapping namespace ids to
+- Think about a system-wide repository mapping namespace ids to
libraries/metadata files
- Fix extra indirection for out parameters in invoke
-General
+Scanner
+------
+- Property.readable/writable, GLibProperty.blurb/nick
+- Constants
+- Annotations in external files which is not source code
+
+C API
-------
-- More tests
-- Check how the format scales to something the size of GTK+
+- type SYMBOL is kind of inconvenient; would be nicer to go straight to
+ boxed, etc.
+- no way to construct a boxed type
+- no way to access struct fields (should have a way to go field -> GArgument)
+- types namespaced GI, functions namespaced g_
+- no way to get GType given a GIRegisteredTypeInfo