Commit Graph

11 Commits

Author SHA1 Message Date
Jonas Maebe
5ed31d4345 * mark records containing at least one bitpacked field as "bitpacked" rather
than only record containing nothing but bitpacked fields (although in
    theory this can also cause errors, it results in correct data layouts
    for all Cocoa structs while the previous code didn't)
  * changed the translation of bitpacked structs so that the compiler will
    properly align them. This requires that all bitpacked fields are
    wrapped into a separate record though, so all fields are now accessible
    via recname.data.field instead of via recname.field. Since all fields
    in the Cocoa classes are private, this should not cause problems
    (except if exported record types are also used elsewhere)

git-svn-id: trunk@18113 -
2011-08-06 12:38:31 +00:00
Jonas Maebe
8af064cf00 * replaced a few eregi's with the faster preg_match()
git-svn-id: trunk@18112 -
2011-08-06 12:32:07 +00:00
Jonas Maebe
9de57f1bd8 * do not calculate array bounds in php, since they may be expressed via
symbolic constants rather than numerically
  * replace an empty C array (such as int[0]) with an empty record declaration
    rather than with an array of one element, since it doesn't take up any
    space in C either

git-svn-id: trunk@18111 -
2011-08-06 12:21:40 +00:00
Jonas Maebe
9d033909df * forgot to commit (part of r16923)
git-svn-id: trunk@16977 -
2011-02-22 17:49:12 +00:00
Jonas Maebe
11d780e62f * properly update the current enum value ("auto_increment") in case it
is assigned a particular value in the C header

git-svn-id: trunk@16963 -
2011-02-21 19:43:27 +00:00
Jonas Maebe
b3ee4ea4eb + support for parsing docsets to add documentation to the parsed headers
* re-enabled support for ignoring certain methods, but removed all ignored
    methods because all of them are handled correctly with the current version
  - disabled adding the script version and time stamp to the generated headers,
    so not all headers change every time they are re-parsed
  + support for optional/required sections in protocols
  + documentation from Ryan

git-svn-id: trunk@16923 -
2011-02-16 18:46:26 +00:00
Jonas Maebe
c1385b6446 * whitespace fixes from Ryan
+ some comments from Ryan

git-svn-id: trunk@16919 -
2011-02-15 20:53:03 +00:00
Jonas Maebe
d6e7023038 * automatically comment out methods that take blocks as parameters or return
them
  * handle inline protocol definitions in parameter lists (replace id<protocol>
    with protocol, and class<protocol[,protocol,..]> with class), and made
    some fixes to this support for fields (many "id" fields/parameters are
    now protocols)
  * fix from Phil Hess for parsing some read-only properties
  * also translate ..._BUT_DEPRECATED macros (without any "_IN_VERSION..."
    coming after it) into "deprecated" modifiers
  * several fixes for handling deprecation macros (in several cases, half the
    macro was mangled into the name of the symbol itself)
  * default now to parsing the iOS 4.2 SDK headers, and fixed passing an
    alternate SDK on the command line to make-ios-headers.sh
  * updated Cocoa headers as parsed by the new parser, and with the headers
    from Mac OS X 10.6.5/Safari 5.0.2 (contains some WebKit updates)

git-svn-id: trunk@16908 -
2011-02-11 21:26:24 +00:00
Jonas Maebe
3ca3276400 * changed syntax of external objcclasses (see wiki/FPC_PasCocoa). Another
change is that it is now also allowed to specify an external name for
    formal external class definitions, but if they are later mixed with
    regular class definitions the external names have to match.
   o because the "external" status of methods is now set while parsing the
     class rather than afterwards, some procdir compatibility checks had to
     be inlined because they only have to be performed for 
  * also adapted the syntax for external cppclasses in the same way
  * fixed return type of NSObject.retainCount and NSObject.hash
    (NSUInteger instead of cint)
  * moved "patches" directory from cocoaint/src to cocoaint/utils/cocoa-skel
    so they are used by the conversion script when re-parsing the headers
  * updated Objective-C header parser script to
   o use the new external class syntax
   o not write inheritance information for root classes (NSObject, NSProxy)
   o use internal translation tables for some conflicting method names that
    are named specially in objcbase.pp
   and updated parsed headers
  * fixed rtl/inc/objcbase.pp and tests to conform to the new external class
    syntax

git-svn-id: trunk@16684 -
2011-01-02 14:50:46 +00:00
Jonas Maebe
482a244f30 * version 2.13 of the parser, by Ryan Joseph: mainly restructuring and
cleanup

git-svn-id: trunk@16666 -
2010-12-30 23:28:02 +00:00
Jonas Maebe
a880603816 * updated version of the conversion script, used to generate the previously
committed cocoa unit conversions, and which can also be used to translate
    the iOS SDK 3.2 headers
  + scripts (make-cocoa-headers.sh, make-ios-headers.sh) to (re)build the
    Cocoa/iOS headers, along with skeleton directories that contain the
    necessary helper files and a few required patches
  + frameworks.xml used by the conversion script
  * updated build instructions

git-svn-id: trunk@16522 -
2010-12-08 21:12:27 +00:00