Commit graph

413 commits

Author SHA1 Message Date
Mike Kestner 2918e60a50 2002-02-02 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add IntPtr constructor generation. Pass a
	  ctor signature hash around to use in clash resolution. Generate a
	  void ctor if none is present which just calls the parent ctor.
	* generator/StructBase.cs : Add non-void signature ctor generation,
	  including collision handling logic. Collisions are implemented as
	  static methods.
	* generator/SymbolTable.cs : Map GSList to GLib.SList. Add type
	  trimming to remove trailing *'s.  Need to suppress leading const yet.
	* glib/Object.cs : Add default ctor for void and IntPtr ctors.
	* glib/SList.cs : Implementation of a wrapper class for GSLists.  Lots
	  of FIXMEs.
	* parser/gapi2xml.pl : Handle ** and array params.

svn path=/trunk/gtk-sharp/; revision=2232
2002-02-03 03:44:10 +00:00
Mike Kestner 2a29390caf 2002-01-17 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : Removed Name, CName, and QualifiedName.
	* generator/ObjectGen.cs : Removed Name, CName, and QualifiedName.
	* generator/StructBase.cs : Add Name, CName, and QualifiedName. Add
	  GenCtor method. Stub GetCallString, GetImportSig, and GetSignature
	  methods.
	* generator/StructGen.cs : Removed Name, CName, and QualifiedName.
	* generator/SymbolTable.cs : Add GetDllName method.
	* parser/gapi2xml.pl : Fix a couple <parameters> bugs.

svn path=/trunk/gtk-sharp/; revision=2030
2002-01-17 23:44:56 +00:00
Mike Kestner 88175147cf 2002-01-16 Mike Kestner <mkestner@speakeasy.net>
* generator/BoxedGen.cs : New boxed type generatable.
	* generator/ObjectGen.cs : Add boxed type property generation and stub
	  off interface properties for now.
	* generator/Parser.cs : Add boxed element parsing.
	* generator/SymbolTable.cs : Add IsBoxed and IsInterface methods.
	* glib/Boxed.cs : New base class for deriving boxed types.
	* glib/Object.cs : Add boxed GetProp/SetProp methods.
	* parser/gapi2xml.pl : Add boxed type element formatting.
	* parser/gapi_pp.pl : Add preprocessing of the generated sourcefiles.
	  Handle the builtins and make them identifiable to the xml generator.

svn path=/trunk/gtk-sharp/; revision=2012
2002-01-17 00:26:46 +00:00
Mike Kestner 9fcf82d28e 2002-01-11 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Add property generation.
	* generator/SymbolTable.cs : More fixage to simple_types. Add
	  GetMarshalType and IsObject methods.
	* glib/Object.cs : Rename Events prop to EventList to avoid name
	  collision. Add float, double, uint, and IntPtr GetProp and SetProp
	  methods.
	* parser/TODO : Add a couple prop related bugs to come back for.
	* parser/gapi2xml.pl (addPropElems): Restructure.  It was thoroughly
	  broken.  It's better now.

svn path=/trunk/gtk-sharp/; revision=1960
2002-01-12 02:08:16 +00:00
Mike Kestner d828b8ce59 2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/StructBase.cs (GenField): Return a bool success indicator.
	* generator/ObjectGen.cs : Check the return of GenField.
	* generator/SymbolTable.cs : More fixage to simple_types.
	* parser/gapi2xml.pl : Fix multiline comment bug, and callback name
	  hashing logic. Squash callbacks that aren't in the namespace.
	* sample/HelloWorld.cs : Clean out some debugging to make it closer to
	  compiling.  Not quite there yet.

svn path=/trunk/gtk-sharp/; revision=1948
2002-01-10 15:01:31 +00:00
Mike Kestner dbadac1885 2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : Use name in QualName, not cname.
	* generator/EnumGen.cs : Use name in QualName, not cname.
	* generator/InterfaceGen.cs : Use name in QualName, not cname.
	* generator/StructBase.cs (GenField): gen as public.

svn path=/trunk/gtk-sharp/; revision=1920
2002-01-08 20:30:29 +00:00
Mike Kestner a9581bd50b 2002-01-08 Mike Kestner <mkestner@speakeasy.net>
* generator/CallbackGen.cs : New stub for delegate generation.
	* generator/InterfaceGen.cs : New stub for interface generation.
	* generator/Parser.cs : Add the interface and callback element hooks.
	* generator/SymbolTable.cs : Additions to simple_types hash.

svn path=/trunk/gtk-sharp/; revision=1919
2002-01-08 20:05:47 +00:00
Mike Kestner e33710f1c3 2002-01-07 Mike Kestner <mkestner@speakeasy.net>
* generator/ObjectGen.cs : Make parent debug statement more helpful.
	* generator/Parser.cs : Add interface element case.
	* parser/gapi2xml.pl : Add interface types.
	* parser/gapi_pp.pl : Grab G_TYPE_INSTANCE_GET_INTERFACE defines. Grab
	  struct declarations out of private headers.

svn path=/trunk/gtk-sharp/; revision=1904
2002-01-07 23:30:01 +00:00
Mike Kestner 8648757e19 2002-01-06 Mike Kestner <mkestner@speakeasy.net>
* */makefile : Add atk to the build.
	* generator/EnumGen.cs : Create the generated dir if necessary.
	* generator/ObjectGen.cs : Create the generated dir if necessary.
	* generator/StructGen.cs : Create the generated dir if necessary.
	* parser/gapi2xml.pl : Squash bug in comma separated field defs.

svn path=/trunk/gtk-sharp/; revision=1882
2002-01-07 00:25:51 +00:00
Mike Kestner ca64721a09 2002-01-06 Mike Kestner <mkestner@speakeasy.net>
* generator/EnumGen.cs : Open stream Create only.
	* generator/ObjectGen.cs : New generatable for GObject subclasses.
	* generator/Parser.cs : Add the object element hook.
	* generator/StructBase.cs : Handle bits element in GenField.
	* generator/StructGen.cs : Open stream Create only.
	* generator/SymbolTable.cs : Additions to simple_types hash.
	* parser/gapi2xml.pl : Parse bitflags into the bits element.

svn path=/trunk/gtk-sharp/; revision=1871
2002-01-06 13:33:25 +00:00
Mike Kestner 43a19345ca 2002-01-05 Mike Kestner <mkestner@speakeasy.net>
* generator/SymbolTable.cs : First pass at simple_types hash.

svn path=/trunk/gtk-sharp/; revision=1860
2002-01-05 13:24:13 +00:00
Mike Kestner 02fa6a31e6 2002-01-05 Mike Kestner <mkestner@speakeasy.net>
* generator/*.cs : Move into GtkSharp.Generation namespace.
	* generator/CodeGenerator.cs (Main): Add usage check. Add SymbolTable.
	* generator/EnumGen.cs (QualifiedName): New.
	(Generate): Add SymbolTable to signature.
	* generator/IGeneratable : Add QualifiedName prop and update Generate
	  signature.
	* generator/Parser.cs : Switch from plain Hashtable to SymbolTable.
	(Parse): Replaces the Types property and returns a SymbolTable.
	* generator/StructBase.cs : New base class to derive struct and object
	  types. Initial implementation of protected GenField method and ctor.
	* generator/StructGen.cs : New non-object struct type generatable.
	* generator/SymbolTable.cs : New. Manages complex types hash and a
	  simple types hash.  Will provide generic lookup interface.

svn path=/trunk/gtk-sharp/; revision=1855
2002-01-05 12:45:55 +00:00
Mike Kestner 30e653825c This is an enormous commit of stuff that I've been working on for several
weeks.  I'll be posting an update to gtk-sharp-list in a bit to describe my
latest psychosis.

svn path=/trunk/gtk-sharp/; revision=1797
2002-01-04 02:02:28 +00:00