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