Commit Graph

358 Commits

Author SHA1 Message Date
Jonas Maebe
1f6ec379de * moved field definitions before method/property definitions (see mantis
#13971)

git-svn-id: trunk@13330 -
2009-06-27 11:27:31 +00:00
peter
36cad44923 * refactor is_visible_for_object
git-svn-id: trunk@12152 -
2008-11-17 21:41:40 +00:00
peter
0f6f1a9c97 * remove obsolete unchain_overloads
git-svn-id: trunk@12065 -
2008-11-12 22:42:19 +00:00
peter
9086a2549d * refactor overload collection in tcallcandidates. separate
the collecting of overloads. The actual building of
    candidate list is now common

git-svn-id: trunk@12064 -
2008-11-12 22:38:38 +00:00
peter
8419161964 * current_objectdef is now always valid when parsing is within the
context of a class. This can be either the class declaration or
    a method implementation
  * replaced all current_procinfo.procdef._class with current_objectdef

git-svn-id: trunk@12059 -
2008-11-12 18:54:39 +00:00
peter
a3a66ba74d * split tvisibility from tsymoptions
* replace current_object_option with symtable.currentvisibility

git-svn-id: trunk@12048 -
2008-11-11 09:05:39 +00:00
peter
af437d5beb * refactor the forward type declaration handling, remove
global typecanbeforward and move 'class of ..' parsing
    to ptype

git-svn-id: trunk@12045 -
2008-11-09 22:07:36 +00:00
peter
84112032c3 * rename aktobjectdef to current_objectdef
git-svn-id: trunk@12027 -
2008-11-06 19:46:31 +00:00
Jonas Maebe
597622d313 * moved the forwardchecksyms back to symbase (but the main functionality
remains in symtable) to simplify (and fix) its memory management

git-svn-id: trunk@11772 -
2008-09-13 19:59:21 +00:00
Jonas Maebe
0b815a6fff - removed global "resolving_forward" variable (was no longer used)
* moved forward type checking from pdecl/symbase to symtable/symsym

git-svn-id: trunk@11763 -
2008-09-13 12:28:55 +00:00
Jonas Maebe
156acf3817 * fixed version of r11719 (faster parsing of units with lots of declarations
in many different type blocks)

git-svn-id: trunk@11722 -
2008-09-07 13:51:04 +00:00
Jonas Maebe
f35051f76e - reverted r11719, there are still some problems with it
git-svn-id: trunk@11720 -
2008-09-07 12:45:08 +00:00
Jonas Maebe
632abdace8 * keep the syms that need to be checked for forward definitions in a
separate list, so that procsyms, constsym, varsyms etc are not checked
    and so that every sym is checked only once (rather than at the end
    of every type block). This makes parsing units with lots of declarations
    much faster (e.g., compiling MacOSAll is now 2 to 3 times faster)

git-svn-id: trunk@11719 -
2008-09-07 12:24:57 +00:00
florian
19c7d1d14c * reset aktobjectdef before compilation, resolves #10971
git-svn-id: trunk@10874 -
2008-05-03 14:36:47 +00:00
Jonas Maebe
a324744cbe * fixed checking for defined/undefined macro's in the configuration file
(#undef'ed macro's still caused #ifdef/#ifndef to return resp.
     true/false)

git-svn-id: trunk@10872 -
2008-05-03 09:55:41 +00:00
micha
3e1149f740 * fix alignrecord fieldoffset size
git-svn-id: trunk@10548 -
2008-03-24 09:57:28 +00:00
micha
4b8486e55b * fix r10544 to take care of packed objects
git-svn-id: trunk@10546 -
2008-03-24 09:46:24 +00:00
yury
9bca56ac44 * Don't issue "Local variable is assigned but never used" warning for external variables.
git-svn-id: trunk@9538 -
2007-12-26 16:30:45 +00:00
Jonas Maebe
c05f18a1b0 * catch duplicate field declarations in a single class in Delphi mode
(mantis #10457)

git-svn-id: trunk@9534 -
2007-12-26 15:21:18 +00:00
florian
5c96c4a671 + first part of support for an unicodestring type
git-svn-id: trunk@9382 -
2007-12-02 16:39:13 +00:00
tom_at_work
37695af02b * added missing assignment check when searching for a symbol in a class, fixing bug #9673
* test program for above

git-svn-id: trunk@8579 -
2007-09-20 20:35:35 +00:00
Jonas Maebe
0567329343 * the "external alignment" (i.e., that of their starting addresses) of
record variables is now independent of their packrecords setting
    (except for packrecords C, which already calculated a reasonable
    alignment). This means that e.g. a packed record consisting of two
    pointers will be aligned at sizeof(pointer) normally. The internal
    alignment of the individual fields of packed records obviously did
    not change, also not if those fields are records themselves.
  * The size of records without any packing atributes is also padded to
    become a multiple of this improved alignment calculation, which
    means that the size of such records may change after this patch.
    Always explicitly specify a packing for records which are used for
    data storage/transmission if you want to have a consistent layout.

git-svn-id: trunk@8409 -
2007-09-08 18:13:28 +00:00
peter
0fc65c5eec * for tp mode don't allow unitname reuse
git-svn-id: trunk@8158 -
2007-07-23 20:38:05 +00:00
florian
8b11f99765 * let the dfa do the detection of unset function results if possible
git-svn-id: trunk@8156 -
2007-07-23 20:23:50 +00:00
peter
703b8855cc * allow local procsym in delphi mode
git-svn-id: trunk@8148 -
2007-07-23 09:15:32 +00:00
florian
d50f869bbd + allow local const symbols to override class members in delphi mode
git-svn-id: trunk@7793 -
2007-06-24 15:14:47 +00:00
florian
72d49f3033 * reverted r7675
git-svn-id: trunk@7702 -
2007-06-17 13:17:44 +00:00
florian
01a4737b10 + local symbols can hide class members in delphi mode
git-svn-id: trunk@7675 -
2007-06-15 21:41:55 +00:00
daniel
4703ae318b * Change a loop counter from aint to integer; the "to" part of the loop
is of type integer. Fixes compiling ppcx64 with ppc386.

git-svn-id: trunk@7641 -
2007-06-13 08:02:21 +00:00
Jonas Maebe
c77d74127b * fixed some record size checks
(some are still broken, but can't be fixed currently because
    def.size/sym.getsize return an aint, which means low(aint)
    in case of structures with a size = high(aint)+1)

git-svn-id: trunk@7614 -
2007-06-09 19:48:14 +00:00
florian
d48b98e8b9 * unified ies
git-svn-id: trunk@6700 -
2007-03-03 16:03:20 +00:00
Jonas Maebe
0650ebe3f2 * fixed tbf/tb0063
git-svn-id: trunk@6271 -
2007-01-30 15:53:52 +00:00
Jonas Maebe
becd64bfb7 * set srdef to nil if nothing found in searchsym_in_class_by_msgint
git-svn-id: trunk@6197 -
2007-01-26 10:04:32 +00:00
pierre
e3651191f5 * Use IncRefCount
git-svn-id: trunk@6143 -
2007-01-23 05:49:32 +00:00
peter
91dbd27a42 * cleanup deleting of defs
git-svn-id: trunk@5902 -
2007-01-11 20:46:57 +00:00
Jonas Maebe
45e9633f97 * count references to class fields/messages from outside that class'
own methods (mantis #8090)

git-svn-id: trunk@5870 -
2007-01-10 17:50:24 +00:00
Jonas Maebe
efd1e86418 * give a verbose fatal error instead of an internalerror when a required
system unit type is not found

git-svn-id: trunk@5820 -
2007-01-05 19:43:28 +00:00
Jonas Maebe
26f81bfe08 * fixed arithmetic overflow when loading the recorddef of large
(> high(aint)/8 bytes) records from ppu files

git-svn-id: trunk@5595 -
2006-12-14 20:24:20 +00:00
peter
0557ddc342 * removed typed const, it is now handled by staticvarsym
* globalvarsym renamed to staticvarsym
  * fixed invalid regvar use in init when the finalize also uses the var

git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
0c8796c210 * fix hiding of symbols
git-svn-id: trunk@5272 -
2006-11-07 08:53:15 +00:00
peter
3cae449fda * moved rtti to ncgrtti
git-svn-id: trunk@5219 -
2006-11-04 10:43:27 +00:00
peter
658c46b903 * remove tdictionary and tindexarray
* symtables based on TFPHashObjectList and TFPObjectList
  * rename torddef.typ to torddef.ordtype
  * rename tfloatdef.typ to tfloatdef.floattype
  * rename tdef.deftype to tdef.typ
  * remove obsolete browser code, browcol is kept so the ide
    can still be compiled

git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
cb246eb781 * Remove dos,strings units, use SysUtils instead
* replace split* functions with Extract* functions
  * Add Directory caching

git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
bce905b106 * give correct error locations for errors when specializing templates
* removed more germanisms
* better dumping of tokenbuf in ppudump

git-svn-id: trunk@5101 -
2006-10-30 23:28:06 +00:00
florian
85d63d9fa9 * settings refactored
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f * remove ttype
* rename old ttype variables *type to *def
  * rename resulttypepass to pass_typecheck
  * rename pass_2 to pass_generate_code

git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
peter
0f6355e805 * fix property overriding
git-svn-id: trunk@5045 -
2006-10-28 20:35:53 +00:00
florian
32c7ba29ea * when calling an inherited methode by msg, any var parameters are compatible,
if somebody knows how to implement it better, feel free to do so

git-svn-id: trunk@4889 -
2006-10-13 19:15:00 +00:00
Jonas Maebe
3bb41dcf9a * fixed writing "packed" status of bitpacked records to ppu files.
Not sure how it ever worked, nor how exactly symtable ppu entries
    work -- but it's now stored with the recorddef (which also means
    that bitpacking is disabled currently for objects and classes,
    since they are based on tabstractrecorddef rather than trecorddef)

git-svn-id: trunk@4679 -
2006-09-21 20:39:36 +00:00
Jonas Maebe
c9c56996cc - removed wrong databitsize assignment (which had no effect)
git-svn-id: trunk@4510 -
2006-08-27 11:30:27 +00:00