mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 10:39:40 +01:00 
			
		
		
		
	
				- remove thelpersearch again => adjustments to searchsym_in_class and calls to it - rename sto_has_classhelper to sto_has_helper * symbase.pas: make push and pop in tsymtablestack virtual * symdef.pas: - add a new class tdefawaresymtablestack which overrides push and pop of tsymtablestack and adjusts the new extendeddefs field of the current tmodule - tobjectdef.create: sto_has_classhelper => sto_has_helper * fmodule.pas: - add new hash object list to tmodule (key: mangled type name) which holds object list instances that contain all helpers currently active for a given type (= key of the hash list) - tmodule.create: the hash list owns the sublists (but those don't own the defs) - tmodule.destroy: free the hash list * pdecobjpas: - rename parse_extended_class to parse_extended_type - parsing of constructors: # for all helper types: no class constructors allowed # for record helpers: as long as constructors for records themselves are disabled they are for record helpers as well - object_dec: manually add the helper to the extendeddefs if the overall owner of the current def is a static symtable (implementation section or program/library main file), because the symtable won't be popped and pushed then * parser.pas: instantiate the new stack class * psub.pas: backup the extendeddefs in specialize_objectdefs as well * ptype.pas: - generate_specialization: backup the extendeddefs as well - record_dec: _RECORD is now consumed in read_named_type itself - read_named_type: parse "record helper" if advanced record syntax is enabled * symtable.pas: - correct searchsym_in_class declaration => adjustments in this unit as well - add the possibility to pass a context def to search_last_objectpascal_helper - rename search_objectpascal_class_helper to search_objectpascal_helper - rename search_class_helper to search_objc_helper - searchsym_in_class: # search for helpers in every level of the tree of the class # the contextclassh can also be a subclass of the extendeddef - searchsym_in_record: search for helper methods as well - searchsym_in_helper: # search for symbols in class and record helpers is the same except for the search in the class' ancestors # search the extendeddef directly and rely on searchsym_in_class only for the class' ancestors as we need to find the helpers there as well - search_last_objectpascal_helper: use the extendeddefs list of current_module instead of scanning the symbol stack itself * pexpr.pas: adjustments because of renaming of sto_has_classhelper * pinline.pas: adjustment because of removing of thelpersearch * nflw.pas: - renamed classhelper to helperdef - adjusted search_last_objectpascal_helper call * msg*: - adjusted error message for constructors in records (this currently applies to record helpers as well) - renamed parser_e_not_allowed_in_classhelper to parser_e_not_allowed_in_helper => adjustments in code - added parser_e_no_class_constructors_in_helpers * pdecsub.pas: adjusted renamed error message * htypechk.pas: check for helpers in every step of the hierarchy * nobj.pas: search_class_helper => search_objc_helper * utils/ppudump.pas: adjust, because of renames Note: the define "useoldsearch" will be only used for performance comparison on my (faster) Linux machine; that (and its associated code) will be removed afterwards git-svn-id: branches/svenbarth/classhelpers@17151 -  | 
			||
|---|---|---|
| .. | ||
| dummyas.pp | ||
| fixlog.pp | ||
| fixmsg.pp | ||
| fixnasm.pp | ||
| fixtab.pp | ||
| fpc.mpw | ||
| fpc.pp | ||
| fpcsubst.pp | ||
| fpimpdef.pp | ||
| gia64reg.pp | ||
| gppc386.pp | ||
| Makefile | ||
| Makefile.fpc | ||
| mk68kreg.pp | ||
| mkarmins.pp | ||
| mkarmreg.pp | ||
| mkavrreg.pp | ||
| mkmpsreg.pp | ||
| mkppcreg.pp | ||
| mkspreg.pp | ||
| mkx86ins.pp | ||
| mkx86reg.pp | ||
| msg2inc.pp | ||
| msgdif.pp | ||
| msgused.pl | ||
| ppudump.pp | ||
| ppufiles.pp | ||
| ppumove.pp | ||
| README.txt | ||
| samplecfg | ||
| usubst.pp | ||
This directory contains some utilities that are used during the
development of the Free Pascal Compiler.
msg2inc  : Convert a compiler message file (errorX.msg) to .inc files to
           include it as the default language in the compiler. It can
	   also convert the .msg to .tex for inclusion the documentation
	  
nasmconv : Convert a Nasm insns.dat to i386tab.inc so it can be used with
           the compiler
makecfg  : This script will make the samplecfg for linux installations
msgdif   : analyzes the differences between two msg files
           msgdif errore.msg errord.msg
           will print out new error msg, removed old ones
           and will create a new file new.msg that will
           contain the new error messages (supposing TeX comment is after
           the message line itself)
           removed messages are prepended by "%%% "
           (they can be useful in case on error enum renaming !)