* correct error handling of virtual constructors

* problem with new type declaration handling fixed
This commit is contained in:
florian 1998-04-08 10:26:07 +00:00
parent cad202a92b
commit 1d8165e4bc
5 changed files with 921 additions and 878 deletions

View File

@ -201,7 +201,7 @@ parser_e_no_paras_allowed,
parser_e_no_property_found_to_override,
parser_e_only_one_default_property,
parser_e_property_need_paras,
parser_w_constructor_cannot_be_not_virtual,
parser_e_constructor_cannot_be_not_virtual,
{
Symbol table
}

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,4 @@
const optiontxt : array[1..04615] of char=(
const optiontxt : array[1..04607] of char=(
' ','[','o','p','t','i','o','n','s',']',' ','<','i','n','p',
'u','t','f','i','l','e','>',' ','[','o','p','t','i','o','n',
's',']',#000,'O','n','l','y',' ','o','n','e',' ','s','o','u',
@ -36,274 +36,274 @@ const optiontxt : array[1..04615] of char=(
' ','F','l','o','r','i','a','n',' ','K','l','a','e','m','p',
'f','l',#000,'F','r','e','e',' ','P','a','s','c','a','l',' ',
'C','o','m','p','i','l','e','r',' ','v','e','r','s','i','o',
'n',' ','0','.','9','9','.','5',#000,#000,'l','f','>',#010,'T',
'h','i','s',' ','p','r','o','g','r','a','m',' ','c','o','m',
'e','s',' ','u','n','d','e','r',' ','t','h','e',' ','G','N',
'U',' ','G','e','n','e','r','a','l',' ','P','u','b','l','i',
'c',' ','L','i','c','e','n','c','e',#000,'F','o','r',' ','m',
'o','r','e',' ','i','n','f','o','r','m','a','t','i','o','n',
' ','r','e','a','d',' ','C','O','P','Y','I','N','G',#000,#000,
'l','f','>',#010,'R','e','p','o','r','t',' ','b','u','g','s',
',','s','u','g','g','e','s','t','i','o','n','s',' ','e','t',
'c',' ','t','o',':',#000,' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ','k','l','a','e','m','p','f','l',
'@','h','a','e','g','a','r','.','c','i','p','.','m','w','.',
't','u','-','m','u','e','n','c','h','e','n','.','d','e',#000,
'*','*','0','*','_','+',' ','s','w','i','t','c','h',' ','o',
'p','t','i','o','n',' ','o','n',',',' ','-',' ','o','f','f',
#000,'*','*','1','a','_','t','h','e',' ','c','o','m','p','i',
'l','e','r',' ','d','o','e','s','n',#039,#039,'t',' ','d','e',
'l','e','t','e',' ','t','h','e',' ','g','e','n','e','r','a',
't','e','d',' ','a','s','s','e','m','b','l','e','r',' ','f',
'i','l','e',#000,'*','t','1','b','_','u','s','e',' ','E','M',
'S',#000,'*','*','1','B','+','_','b','u','i','l','d',#000,'*',
'*','1','C','_','c','o','d','e',' ','g','e','n','e','r','a',
't','i','o','n',' ','o','p','t','i','o','n','s',#000,'*','*',
'2','C','a','_','n','o','t',' ','i','m','p','l','e','m','e',
'n','t','e','d',#000,'*','*','2','C','e','_','n','o','t',' ',
'i','m','p','l','e','m','e','n','t','e','d',#000,'3','*','2',
'C','D','_','D','y','n','a','m','i','c',' ','l','i','n','k',
'i','n','g',#000,'*','*','2','C','h','<','n','>','_','<','n',
'>',' ','b','y','t','e','s',' ','h','e','a','p',' ','(','b',
'e','t','w','e','e','n',' ','1','0','2','3',' ','a','n','d',
' ','6','7','1','0','7','8','4','0',')',#000,'*','*','2','C',
'i','_','I','O','-','c','h','e','c','k','i','n','g',#000,'*',
'*','2','C','n','_','o','m','i','t',' ','l','i','n','k','i',
'n','g',' ','s','t','a','g','e',#000,'*','*','2','C','o','_',
'c','h','e','c','k',' ','o','v','e','r','f','l','o','w',' ',
'o','f',' ','i','n','t','e','g','e','r',' ','o','p','e','r',
'a','t','i','o','n','s',#000,'*','*','2','C','r','_','r','a',
'n','g','e',' ','c','h','e','c','k','i','n','g',#000,'*','O',
'2','C','s','<','n','>','_','s','e','t',' ','s','t','a','c',
'k',' ','s','i','z','e',' ','t','o',' ','<','n','>',#000,'*',
'*','2','C','t','_','s','t','a','c','k',' ','c','h','e','c',
'k','i','n','g',#000,'3','*','2','C','S','_','s','t','a','t',
'i','c',' ','l','i','n','k','i','n','g',#000,'*','*','1','d',
'<','x','>','_','d','e','f','i','n','e','s',' ','t','h','e',
' ','s','y','m','b','o','l',' ','<','x','>',#000,'*','O','1',
'D','_','c','o','n','t','r','o','l','s',' ','t','h','e',' ',
'g','e','n','e','r','a','t','i','o','n',' ','o','f',' ','D',
'E','F',' ','f','i','l','e',' ','(','o','n','l','y',' ','O',
'S','/','2',')',#000,'*','O','2','D','d','<','x','>','_','s',
'e','t',' ','d','e','s','c','r','i','p','t','i','o','n',' ',
't','o',' ','<','x','>',#000,'*','O','2','D','o','_','g','e',
'n','e','r','a','t','e',' ','D','E','F',' ','f','i','l','e',
#000,'*','O','2','D','w','_','P','M',' ','a','p','p','l','i',
'c','a','t','i','o','n',#000,'*','L','1','e','<','x','>','_',
's','e','t',' ','p','a','t','h',' ','t','o',' ','e','x','e',
'c','u','t','a','b','l','e','s',#000,'*','*','1','E','_','s',
'a','m','e',' ','a','s',' ','-','C','n',#000,'*','*','1','g',
'_','g','e','n','e','r','a','t','e',' ','d','e','b','u','g',
'g','e','r',' ','i','n','f','o','r','m','a','t','i','o','n',
#000,'*','*','2','g','p','_','g','e','n','e','r','a','t','e',
' ','a','l','s','o',' ','p','r','o','f','i','l','e',' ','c',
'o','d','e',' ','f','o','r',' ','g','p','r','o','f',#000,'*',
'*','1','F','_','s','e','t',' ','f','i','l','e',' ','n','a',
'm','e','s',' ','a','n','d',' ','p','a','t','h','s',#000,'*',
'*','2','F','e','<','x','>','_','r','e','d','i','r','e','c',
't',' ','e','r','r','o','r',' ','o','u','t','p','u','t',' ',
't','o',' ','<','x','>',#000,'*','L','2','F','g','<','x','>',
'_','<','x','>',' ','s','e','a','r','c','h',' ','p','a','t',
'h',' ','f','o','r',' ','t','h','e',' ','G','N','U',' ','C',
' ','l','i','b',#000,'*','L','2','F','r','<','x','>','_','<',
'x','>',' ','s','e','a','r','c','h',' ','p','a','t','h',' ',
'f','o','r',' ','t','h','e',' ','e','r','r','o','r',' ','m',
'e','s','s','a','g','e',' ','f','i','l','e',#000,'*','*','2',
'F','i','<','x','>','_','a','d','d','s',' ','<','x','>',' ',
't','o',' ','i','n','c','l','u','d','e',' ','p','a','t','h',
#000,'*','*','2','F','l','<','x','>','_','a','d','d','s',' ',
'<','x','>',' ','t','o',' ','l','i','b','r','a','r','y',' ',
'p','a','t','h',#000,'*','*','2','F','u','<','x','>','_','a',
'd','d','s',' ','<','x','>',' ','t','o',' ','u','n','i','t',
' ','p','a','t','h',#000,'*','*','1','k','<','x','>','_','P',
'a','s','s',' ','<','x','>',' ','t','o',' ','t','h','e',' ',
'l','i','n','k','e','r',#000,'*','*','1','L','_','s','e','t',
' ','l','a','n','g','u','a','g','e',#000,'*','*','2','L','D',
'_','g','e','r','m','a','n',#000,'*','*','2','L','E','_','e',
'n','g','l','i','s','h',#000,'*','*','1','l','_','w','r','i',
't','e',' ','l','o','g','o',#000,'*','*','1','i','_','i','n',
'f','o','r','m','a','t','i','o','n',#000,'*','*','1','n','_',
'd','o','n',#039,'t',' ','r','e','a','d',' ','t','h','e',' ',
'd','e','f','a','u','l','t',' ','c','o','n','f','i','g',' ',
'f','i','l','e',#000,'*','*','1','o','<','x','>','_','c','h',
'a','n','g','e',' ','t','h','e',' ','n','a','m','e',' ','o',
'f',' ','t','h','e',' ','e','x','e','c','u','t','a','b','l',
'e',' ','p','r','o','d','u','c','e','d',' ','t','o',' ','<',
'x','>',#000,'*','*','1','p','g','_','g','e','n','e','r','a',
't','e',' ','p','r','o','f','i','l','e',' ','c','o','d','e',
' ','f','o','r',' ','g','p','r','o','f',#000,'*','L','1','P',
'_','u','s','e',' ','p','i','p','e','s',' ','i','n','s','t',
'e','a','d',' ','o','f',' ','c','r','e','a','t','i','n','g',
' ','t','e','m','p','o','r','a','r','y',' ','a','s','s','e',
'm','b','l','e','r',' ','f','i','l','e','s',#000,'*','*','1',
'S','_','s','y','n','t','a','x',' ','o','p','t','i','o','n',
's',#000,'*','*','2','S','2','_','s','w','i','t','c','h',' ',
's','o','m','e',' ','D','e','l','p','h','i',' ','2',' ','e',
'x','t','e','n','s','i','o','n',' ','o','n',#000,'*','*','2',
'S','c','_','s','u','p','p','o','r','t','s',' ','o','p','e',
'r','a','t','o','r','s',' ','l','i','k','e',' ','C',' ','(',
'*','=',',','+','=',',','/','=',' ','a','n','d',' ','-','=',
')',#000,'*','*','2','S','e','_','c','o','m','p','i','l','e',
'r',' ','s','t','o','p','s',' ','a','f','t','e','r',' ','t',
'h','e',' ','f','i','r','s','t',' ','e','r','r','o','r',#000,
'*','*','2','S','g','_','a','l','l','o','w','s',' ','L','A',
'B','E','L',' ','a','n','d',' ','G','O','T','O',#000,'*','*',
'2','S','i','_','s','u','p','p','o','r','t',' ','C','+','+',
' ','s','t','l','y','e','d',' ','I','N','L','I','N','E',#000,
'*','*','2','S','m','_','s','u','p','p','o','r','t',' ','m',
'a','c','r','o','s',' ','l','i','k','e',' ','C',' ','(','g',
'l','o','b','a','l',')',#000,'*','*','2','S','o','_','t','r',
'i','e','s',' ','t','o',' ','b','e',' ','T','P','/','B','P',
' ','7','.','0',' ','c','o','m','p','a','t','i','b','l','e',
#000,'*','*','2','S','s','_','c','o','n','s','t','r','u','c',
't','o','r',' ','n','a','m','e',' ','m','u','s','t',' ','b',
'e',' ','i','n','i','t',' ','(','d','e','s','t','r','u','c',
't','o','r',' ','m','u','s','t',' ','b','e',' ','d','o','n',
'e',')',#000,'*','*','2','S','t','_','a','l','l','o','w','s',
' ','s','t','a','t','i','c',' ','k','e','y','w','o','r','d',
' ','i','n',' ','o','b','j','e','c','t','s',#000,'*','*','1',
's','_','d','o','n',#039,'t',' ','c','a','l','l',' ','a','s',
's','e','m','b','l','e','r',' ','a','n','d',' ','l','i','n',
'k','e','r',' ','(','o','n','l','y',' ','w','i','t','h',' ',
'-','a',')',#000,'*','*','1','T','<','x','>','_','T','a','r',
'g','e','t',' ','o','p','e','r','a','t','i','n','g',' ','s',
'y','s','t','e','m',#000,'3','*','2','T','G','O','3','2','V',
'1','_','v','e','r','s','i','o','n',' ','1',' ','o','f',' ',
'D','J',' ','D','e','l','o','r','i','e',' ','D','O','S',' ',
'e','x','t','e','n','d','e','r',#000,'3','*','2','T','G','O',
'3','2','V','2','_','v','e','r','s','i','o','n',' ','2',' ',
'o','f',' ','D','J',' ','D','e','l','o','r','i','e',' ','D',
'O','S',' ','e','x','t','e','n','d','e','r',#000,'3','*','2',
'T','L','I','N','U','X','_','L','i','n','u','x',#000,'3','*',
'2','T','O','S','2','_','O','S','/','2',' ','2','.','x',#000,
'3','*','2','T','W','i','n','3','2','_','W','i','n','d','o',
'w','s',' ','3','2',' ','B','i','t',#000,'6','*','2','T','A',
'M','I','G','A','_','C','o','m','m','o','d','o','r','e',' ',
'A','m','i','g','a',#000,'6','*','2','T','A','T','A','R','I',
'_','A','t','a','r','i',' ','S','T','/','S','T','e','/','T',
'T',#000,'6','*','2','T','M','A','C','O','S','_','M','a','c',
'i','n','t','o','s','h',' ','m','6','8','k',#000,'6','*','2',
'T','L','I','N','U','X','_','L','i','n','u','x','-','6','8',
'k',#000,'*','*','1','u','<','x','>','_','u','n','d','e','f',
'i','n','e','s',' ','t','h','e',' ','s','y','m','b','o','l',
' ','<','x','>',#000,'*','*','1','U','_','u','n','i','t',' ',
'o','p','t','i','o','n','s',#000,'*','*','2','U','l','s','_',
'm','a','k','e',' ','s','t','a','t','i','c',' ','l','i','b',
'n',' ','0','.','9','9','.','5',#000,#000,'T','h','i','s',' ',
'p','r','o','g','r','a','m',' ','c','o','m','e','s',' ','u',
'n','d','e','r',' ','t','h','e',' ','G','N','U',' ','G','e',
'n','e','r','a','l',' ','P','u','b','l','i','c',' ','L','i',
'c','e','n','c','e',#000,'F','o','r',' ','m','o','r','e',' ',
'i','n','f','o','r','m','a','t','i','o','n',' ','r','e','a',
'd',' ','C','O','P','Y','I','N','G',#000,#000,'R','e','p','o',
'r','t',' ','b','u','g','s',',','s','u','g','g','e','s','t',
'i','o','n','s',' ','e','t','c',' ','t','o',':',#000,' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','k',
'l','a','e','m','p','f','l','@','h','a','e','g','a','r','.',
'c','i','p','.','m','w','.','t','u','-','m','u','e','n','c',
'h','e','n','.','d','e',#000,'*','*','0','*','_','+',' ','s',
'w','i','t','c','h',' ','o','p','t','i','o','n',' ','o','n',
',',' ','-',' ','o','f','f',#000,'*','*','1','a','_','t','h',
'e',' ','c','o','m','p','i','l','e','r',' ','d','o','e','s',
'n',#039,#039,'t',' ','d','e','l','e','t','e',' ','t','h','e',
' ','g','e','n','e','r','a','t','e','d',' ','a','s','s','e',
'm','b','l','e','r',' ','f','i','l','e',#000,'*','t','1','b',
'_','u','s','e',' ','E','M','S',#000,'*','*','1','B','+','_',
'b','u','i','l','d',#000,'*','*','1','C','_','c','o','d','e',
' ','g','e','n','e','r','a','t','i','o','n',' ','o','p','t',
'i','o','n','s',#000,'*','*','2','C','a','_','n','o','t',' ',
'i','m','p','l','e','m','e','n','t','e','d',#000,'*','*','2',
'C','e','_','n','o','t',' ','i','m','p','l','e','m','e','n',
't','e','d',#000,'3','*','2','C','D','_','D','y','n','a','m',
'i','c',' ','l','i','n','k','i','n','g',#000,'*','*','2','C',
'h','<','n','>','_','<','n','>',' ','b','y','t','e','s',' ',
'h','e','a','p',' ','(','b','e','t','w','e','e','n',' ','1',
'0','2','3',' ','a','n','d',' ','6','7','1','0','7','8','4',
'0',')',#000,'*','*','2','C','i','_','I','O','-','c','h','e',
'c','k','i','n','g',#000,'*','*','2','C','n','_','o','m','i',
't',' ','l','i','n','k','i','n','g',' ','s','t','a','g','e',
#000,'*','*','2','C','o','_','c','h','e','c','k',' ','o','v',
'e','r','f','l','o','w',' ','o','f',' ','i','n','t','e','g',
'e','r',' ','o','p','e','r','a','t','i','o','n','s',#000,'*',
'*','2','C','r','_','r','a','n','g','e',' ','c','h','e','c',
'k','i','n','g',#000,'*','O','2','C','s','<','n','>','_','s',
'e','t',' ','s','t','a','c','k',' ','s','i','z','e',' ','t',
'o',' ','<','n','>',#000,'*','*','2','C','t','_','s','t','a',
'c','k',' ','c','h','e','c','k','i','n','g',#000,'3','*','2',
'C','S','_','s','t','a','t','i','c',' ','l','i','n','k','i',
'n','g',#000,'*','*','1','d','<','x','>','_','d','e','f','i',
'n','e','s',' ','t','h','e',' ','s','y','m','b','o','l',' ',
'<','x','>',#000,'*','O','1','D','_','c','o','n','t','r','o',
'l','s',' ','t','h','e',' ','g','e','n','e','r','a','t','i',
'o','n',' ','o','f',' ','D','E','F',' ','f','i','l','e',' ',
'(','o','n','l','y',' ','O','S','/','2',')',#000,'*','O','2',
'D','d','<','x','>','_','s','e','t',' ','d','e','s','c','r',
'i','p','t','i','o','n',' ','t','o',' ','<','x','>',#000,'*',
'O','2','D','o','_','g','e','n','e','r','a','t','e',' ','D',
'E','F',' ','f','i','l','e',#000,'*','O','2','D','w','_','P',
'M',' ','a','p','p','l','i','c','a','t','i','o','n',#000,'*',
'L','1','e','<','x','>','_','s','e','t',' ','p','a','t','h',
' ','t','o',' ','e','x','e','c','u','t','a','b','l','e','s',
#000,'*','*','1','E','_','s','a','m','e',' ','a','s',' ','-',
'C','n',#000,'*','*','1','g','_','g','e','n','e','r','a','t',
'e',' ','d','e','b','u','g','g','e','r',' ','i','n','f','o',
'r','m','a','t','i','o','n',#000,'*','*','2','g','p','_','g',
'e','n','e','r','a','t','e',' ','a','l','s','o',' ','p','r',
'o','f','i','l','e',' ','c','o','d','e',' ','f','o','r',' ',
'g','p','r','o','f',#000,'*','*','1','F','_','s','e','t',' ',
'f','i','l','e',' ','n','a','m','e','s',' ','a','n','d',' ',
'p','a','t','h','s',#000,'*','*','2','F','e','<','x','>','_',
'r','e','d','i','r','e','c','t',' ','e','r','r','o','r',' ',
'o','u','t','p','u','t',' ','t','o',' ','<','x','>',#000,'*',
'L','2','F','g','<','x','>','_','<','x','>',' ','s','e','a',
'r','c','h',' ','p','a','t','h',' ','f','o','r',' ','t','h',
'e',' ','G','N','U',' ','C',' ','l','i','b',#000,'*','L','2',
'F','r','<','x','>','_','<','x','>',' ','s','e','a','r','c',
'h',' ','p','a','t','h',' ','f','o','r',' ','t','h','e',' ',
'e','r','r','o','r',' ','m','e','s','s','a','g','e',' ','f',
'i','l','e',#000,'*','*','2','F','i','<','x','>','_','a','d',
'd','s',' ','<','x','>',' ','t','o',' ','i','n','c','l','u',
'd','e',' ','p','a','t','h',#000,'*','*','2','F','l','<','x',
'>','_','a','d','d','s',' ','<','x','>',' ','t','o',' ','l',
'i','b','r','a','r','y',' ','p','a','t','h',#000,'*','*','2',
'F','u','<','x','>','_','a','d','d','s',' ','<','x','>',' ',
't','o',' ','u','n','i','t',' ','p','a','t','h',#000,'*','*',
'1','k','<','x','>','_','P','a','s','s',' ','<','x','>',' ',
't','o',' ','t','h','e',' ','l','i','n','k','e','r',#000,'*',
'*','1','L','_','s','e','t',' ','l','a','n','g','u','a','g',
'e',#000,'*','*','2','L','D','_','g','e','r','m','a','n',#000,
'*','*','2','L','E','_','e','n','g','l','i','s','h',#000,'*',
'*','1','l','_','w','r','i','t','e',' ','l','o','g','o',#000,
'*','*','1','i','_','i','n','f','o','r','m','a','t','i','o',
'n',#000,'*','*','1','n','_','d','o','n',#039,'t',' ','r','e',
'a','d',' ','t','h','e',' ','d','e','f','a','u','l','t',' ',
'c','o','n','f','i','g',' ','f','i','l','e',#000,'*','*','1',
'o','<','x','>','_','c','h','a','n','g','e',' ','t','h','e',
' ','n','a','m','e',' ','o','f',' ','t','h','e',' ','e','x',
'e','c','u','t','a','b','l','e',' ','p','r','o','d','u','c',
'e','d',' ','t','o',' ','<','x','>',#000,'*','*','1','p','g',
'_','g','e','n','e','r','a','t','e',' ','p','r','o','f','i',
'l','e',' ','c','o','d','e',' ','f','o','r',' ','g','p','r',
'o','f',#000,'*','L','1','P','_','u','s','e',' ','p','i','p',
'e','s',' ','i','n','s','t','e','a','d',' ','o','f',' ','c',
'r','e','a','t','i','n','g',' ','t','e','m','p','o','r','a',
'r','y',' ','a','s','s','e','m','b','l','e','r',' ','f','i',
'l','e','s',#000,'*','*','1','S','_','s','y','n','t','a','x',
' ','o','p','t','i','o','n','s',#000,'*','*','2','S','2','_',
's','w','i','t','c','h',' ','s','o','m','e',' ','D','e','l',
'p','h','i',' ','2',' ','e','x','t','e','n','s','i','o','n',
' ','o','n',#000,'*','*','2','S','c','_','s','u','p','p','o',
'r','t','s',' ','o','p','e','r','a','t','o','r','s',' ','l',
'i','k','e',' ','C',' ','(','*','=',',','+','=',',','/','=',
' ','a','n','d',' ','-','=',')',#000,'*','*','2','S','e','_',
'c','o','m','p','i','l','e','r',' ','s','t','o','p','s',' ',
'a','f','t','e','r',' ','t','h','e',' ','f','i','r','s','t',
' ','e','r','r','o','r',#000,'*','*','2','S','g','_','a','l',
'l','o','w','s',' ','L','A','B','E','L',' ','a','n','d',' ',
'G','O','T','O',#000,'*','*','2','S','i','_','s','u','p','p',
'o','r','t',' ','C','+','+',' ','s','t','l','y','e','d',' ',
'I','N','L','I','N','E',#000,'*','*','2','S','m','_','s','u',
'p','p','o','r','t',' ','m','a','c','r','o','s',' ','l','i',
'k','e',' ','C',' ','(','g','l','o','b','a','l',')',#000,'*',
'*','2','S','o','_','t','r','i','e','s',' ','t','o',' ','b',
'e',' ','T','P','/','B','P',' ','7','.','0',' ','c','o','m',
'p','a','t','i','b','l','e',#000,'*','*','2','S','s','_','c',
'o','n','s','t','r','u','c','t','o','r',' ','n','a','m','e',
' ','m','u','s','t',' ','b','e',' ','i','n','i','t',' ','(',
'd','e','s','t','r','u','c','t','o','r',' ','m','u','s','t',
' ','b','e',' ','d','o','n','e',')',#000,'*','*','2','S','t',
'_','a','l','l','o','w','s',' ','s','t','a','t','i','c',' ',
'k','e','y','w','o','r','d',' ','i','n',' ','o','b','j','e',
'c','t','s',#000,'*','*','1','s','_','d','o','n',#039,'t',' ',
'c','a','l','l',' ','a','s','s','e','m','b','l','e','r',' ',
'a','n','d',' ','l','i','n','k','e','r',' ','(','o','n','l',
'y',' ','w','i','t','h',' ','-','a',')',#000,'*','*','1','T',
'<','x','>','_','T','a','r','g','e','t',' ','o','p','e','r',
'a','t','i','n','g',' ','s','y','s','t','e','m',#000,'3','*',
'2','T','G','O','3','2','V','1','_','v','e','r','s','i','o',
'n',' ','1',' ','o','f',' ','D','J',' ','D','e','l','o','r',
'i','e',' ','D','O','S',' ','e','x','t','e','n','d','e','r',
#000,'3','*','2','T','G','O','3','2','V','2','_','v','e','r',
's','i','o','n',' ','2',' ','o','f',' ','D','J',' ','D','e',
'l','o','r','i','e',' ','D','O','S',' ','e','x','t','e','n',
'd','e','r',#000,'3','*','2','T','L','I','N','U','X','_','L',
'i','n','u','x',#000,'3','*','2','T','O','S','2','_','O','S',
'/','2',' ','2','.','x',#000,'3','*','2','T','W','i','n','3',
'2','_','W','i','n','d','o','w','s',' ','3','2',' ','B','i',
't',#000,'6','*','2','T','A','M','I','G','A','_','C','o','m',
'm','o','d','o','r','e',' ','A','m','i','g','a',#000,'6','*',
'2','T','A','T','A','R','I','_','A','t','a','r','i',' ','S',
'T','/','S','T','e','/','T','T',#000,'6','*','2','T','M','A',
'C','O','S','_','M','a','c','i','n','t','o','s','h',' ','m',
'6','8','k',#000,'6','*','2','T','L','I','N','U','X','_','L',
'i','n','u','x','-','6','8','k',#000,'*','*','1','u','<','x',
'>','_','u','n','d','e','f','i','n','e','s',' ','t','h','e',
' ','s','y','m','b','o','l',' ','<','x','>',#000,'*','*','1',
'U','_','u','n','i','t',' ','o','p','t','i','o','n','s',#000,
'*','*','2','U','l','s','_','m','a','k','e',' ','s','t','a',
't','i','c',' ','l','i','b','r','a','r','y',' ','f','r','o',
'm',' ','u','n','i','t',#000,'*','*','2','U','l','d','_','m',
'a','k','e',' ','d','y','n','a','m','i','c',' ','l','i','b',
'r','a','r','y',' ','f','r','o','m',' ','u','n','i','t',#000,
'*','*','2','U','l','d','_','m','a','k','e',' ','d','y','n',
'a','m','i','c',' ','l','i','b','r','a','r','y',' ','f','r',
'o','m',' ','u','n','i','t',#000,'*','*','2','U','n','_','d',
'o','n',#039,'t',' ','c','h','e','c','k',' ','t','h','e',' ',
'u','n','i','t',' ','n','a','m','e',#000,'*','*','2','U','p',
'<','x','>','_','s','a','m','e',' ','a','s',' ','-','F','u',
'<','x','>',#000,'*','*','2','U','s','_','c','o','m','p','i',
'l','e',' ','a',' ','s','y','s','t','e','m',' ','u','n','i',
't',#000,'*','*','1','v','<','x','>','_','B','e',' ','v','e',
'r','b','o','s','e','.',' ','<','x','>',' ','i','s',' ','a',
' ','c','o','m','b','i','n','a','t','i','o','n',' ','o','f',
' ','t','h','e',' ','f','o','l','l','o','w','i','n','g',' ',
'l','e','t','t','e','r','s',' ',':',#000,'*','*','2','*','_',
'e',' ',':',' ','S','h','o','w',' ','e','r','r','o','r','s',
' ','(','d','e','f','a','u','l','t',')',' ',' ',' ',' ',' ',
' ',' ','d',' ',':',' ','S','h','o','w',' ','d','e','b','u',
'g',' ','i','n','f','o',#000,'*','*','2','*','_','w',' ',':',
' ','S','h','o','w',' ','w','a','r','n','i','n','g','s',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','u',
' ',':',' ','S','h','o','w',' ','u','s','e','d',' ','f','i',
'l','e','s',#000,'*','*','2','*','_','n',' ',':',' ','S','h',
'o','w',' ','n','o','t','e','s',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','t',' ',':',' ',
'S','h','o','w',' ','t','r','i','e','d',' ','f','i','l','e',
's',#000,'*','*','2','*','_','h',' ',':',' ','S','h','o','w',
' ','h','i','n','t','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ','m',' ',':',' ','S','h',
'o','w',' ','d','e','f','i','n','e','d',' ','m','a','c','r',
'o','s',#000,'*','*','2','*','_','i',' ',':',' ','S','h','o',
'w',' ','g','e','n','e','r','a','l',' ','i','n','f','o',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','p',' ',':',' ','S',
'h','o','w',' ','c','o','m','p','i','l','e','d',' ','p','r',
'o','c','e','d','u','r','e','s',#000,'*','*','2','*','_','l',
' ',':',' ','S','h','o','w',' ','l','i','n','e','n','u','m',
'b','e','r','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ','c',' ',':',' ','S','h','o','w',' ','c','o','n','d','i',
't','i','o','n','a','l','s',#000,'*','*','2','*','_','a',' ',
':',' ','S','h','o','w',' ','e','v','e','r','y','t','h','i',
'n','g',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
'0',' ',':',' ','S','h','o','w',' ','n','o','t','h','i','n',
'g',' ','(','e','x','c','e','p','t',' ','e','r','r','o','r',
's',')',#000,'*','*','1','X','_','e','x','e','c','u','t','a',
'b','l','e',' ','o','p','t','i','o','n','s',#000,'*','L','2',
'X','c','_','l','i','n','k',' ','w','i','t','h',' ','t','h',
'e',' ','c',' ','l','i','b','r','a','r','y',#000,'*','*','2',
'X','s','_','s','t','r','i','p',' ','a','l','l',' ','s','y',
'm','b','o','l','s',' ','f','r','o','m',' ','e','x','e','c',
'u','t','a','b','l','e',#000,'*','*','0','*','_','P','r','o',
'c','e','s','s','o','r',' ','s','p','e','c','i','f','i','c',
' ','o','p','t','i','o','n','s',':',#000,'3','*','1','A','_',
'o','u','t','p','u','t',' ','f','o','r','m','a','t',#000,'3',
'*','2','A','a','t','t','_','A','T','&','T',' ','a','s','s',
'e','m','b','l','e','r',#000,'3','*','2','A','o','_','c','o',
'f','f',' ','f','i','l','e',' ','u','s','i','n','g',' ','G',
'N','U',' ','A','S',#000,'3','*','2','A','o','b','j','_','O',
'M','F',' ','f','i','l','e',' ','u','s','i','n','g',' ','N',
'A','S','M',#000,'3','*','2','A','n','a','s','m','_','c','o',
'f','f',' ','f','i','l','e',' ','u','s','i','n','g',' ','N',
'A','S','M',#000,'3','*','2','A','m','a','s','m','_','a','s',
's','e','m','b','l','e','r',' ','f','o','r',' ','t','h','e',
' ','M','i','c','r','o','s','o','f','t','/','B','o','r','l',
'a','n','d','/','W','a','t','c','o','m',' ','a','s','s','e',
'm','b','l','e','r',#000,'3','*','1','R','_','a','s','s','e',
'm','b','l','e','r',' ','r','e','a','d','i','n','g',' ','s',
't','y','l','e',#000,'3','*','2','R','a','t','t','_','r','e',
'a','d',' ','A','T','&','T',' ','s','t','y','l','e',' ','a',
's','s','e','m','b','l','e','r',#000,'3','*','2','R','i','n',
't','e','l','_','r','e','a','d',' ','I','n','t','e','l',' ',
'*','*','2','U','n','_','d','o','n',#039,'t',' ','c','h','e',
'c','k',' ','t','h','e',' ','u','n','i','t',' ','n','a','m',
'e',#000,'*','*','2','U','p','<','x','>','_','s','a','m','e',
' ','a','s',' ','-','F','u','<','x','>',#000,'*','*','2','U',
's','_','c','o','m','p','i','l','e',' ','a',' ','s','y','s',
't','e','m',' ','u','n','i','t',#000,'*','*','1','v','<','x',
'>','_','B','e',' ','v','e','r','b','o','s','e','.',' ','<',
'x','>',' ','i','s',' ','a',' ','c','o','m','b','i','n','a',
't','i','o','n',' ','o','f',' ','t','h','e',' ','f','o','l',
'l','o','w','i','n','g',' ','l','e','t','t','e','r','s',' ',
':',#000,'*','*','2','*','_','e',' ',':',' ','S','h','o','w',
' ','e','r','r','o','r','s',' ','(','d','e','f','a','u','l',
't',')',' ',' ',' ',' ',' ',' ',' ','d',' ',':',' ','S','h',
'o','w',' ','d','e','b','u','g',' ','i','n','f','o',#000,'*',
'*','2','*','_','w',' ',':',' ','S','h','o','w',' ','w','a',
'r','n','i','n','g','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ','u',' ',':',' ','S','h','o','w',' ',
'u','s','e','d',' ','f','i','l','e','s',#000,'*','*','2','*',
'_','n',' ',':',' ','S','h','o','w',' ','n','o','t','e','s',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ',' ','t',' ',':',' ','S','h','o','w',' ','t','r','i',
'e','d',' ','f','i','l','e','s',#000,'*','*','2','*','_','h',
' ',':',' ','S','h','o','w',' ','h','i','n','t','s',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ','m',' ',':',' ','S','h','o','w',' ','d','e','f','i','n',
'e','d',' ','m','a','c','r','o','s',#000,'*','*','2','*','_',
'i',' ',':',' ','S','h','o','w',' ','g','e','n','e','r','a',
'l',' ','i','n','f','o',' ',' ',' ',' ',' ',' ',' ',' ',' ',
' ',' ','p',' ',':',' ','S','h','o','w',' ','c','o','m','p',
'i','l','e','d',' ','p','r','o','c','e','d','u','r','e','s',
#000,'*','*','2','*','_','l',' ',':',' ','S','h','o','w',' ',
'l','i','n','e','n','u','m','b','e','r','s',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ',' ','c',' ',':',' ','S','h','o',
'w',' ','c','o','n','d','i','t','i','o','n','a','l','s',#000,
'*','*','2','*','_','a',' ',':',' ','S','h','o','w',' ','e',
'v','e','r','y','t','h','i','n','g',' ',' ',' ',' ',' ',' ',
' ',' ',' ',' ',' ',' ',' ','0',' ',':',' ','S','h','o','w',
' ','n','o','t','h','i','n','g',' ','(','e','x','c','e','p',
't',' ','e','r','r','o','r','s',')',#000,'*','*','1','X','_',
'e','x','e','c','u','t','a','b','l','e',' ','o','p','t','i',
'o','n','s',#000,'*','L','2','X','c','_','l','i','n','k',' ',
'w','i','t','h',' ','t','h','e',' ','c',' ','l','i','b','r',
'a','r','y',#000,'*','*','2','X','s','_','s','t','r','i','p',
' ','a','l','l',' ','s','y','m','b','o','l','s',' ','f','r',
'o','m',' ','e','x','e','c','u','t','a','b','l','e',#000,'*',
'*','0','*','_','P','r','o','c','e','s','s','o','r',' ','s',
'p','e','c','i','f','i','c',' ','o','p','t','i','o','n','s',
':',#000,'3','*','1','A','_','o','u','t','p','u','t',' ','f',
'o','r','m','a','t',#000,'3','*','2','A','a','t','t','_','A',
'T','&','T',' ','a','s','s','e','m','b','l','e','r',#000,'3',
'*','2','A','o','_','c','o','f','f',' ','f','i','l','e',' ',
'u','s','i','n','g',' ','G','N','U',' ','A','S',#000,'3','*',
'2','A','o','b','j','_','O','M','F',' ','f','i','l','e',' ',
'u','s','i','n','g',' ','N','A','S','M',#000,'3','*','2','A',
'n','a','s','m','_','c','o','f','f',' ','f','i','l','e',' ',
'u','s','i','n','g',' ','N','A','S','M',#000,'3','*','2','A',
'm','a','s','m','_','a','s','s','e','m','b','l','e','r',' ',
'f','o','r',' ','t','h','e',' ','M','i','c','r','o','s','o',
'f','t','/','B','o','r','l','a','n','d','/','W','a','t','c',
'o','m',' ','a','s','s','e','m','b','l','e','r',#000,'3','*',
'1','R','_','a','s','s','e','m','b','l','e','r',' ','r','e',
'a','d','i','n','g',' ','s','t','y','l','e',#000,'3','*','2',
'R','a','t','t','_','r','e','a','d',' ','A','T','&','T',' ',
's','t','y','l','e',' ','a','s','s','e','m','b','l','e','r',
#000,'3','*','2','R','d','i','r','e','c','t','_','c','o','p',
'y',' ','a','s','s','e','m','b','l','e','r',' ','t','e','x',
't',' ','d','i','r','e','c','t','l','y',' ','t','o',' ','a',
's','s','e','m','b','l','e','r',' ','f','i','l','e',#000,'3',
'*','1','O','_','o','p','t','i','m','i','z','a','t','i','o',
'n','s',#000,'3','*','2','O','a','_','s','i','m','p','l','e',
' ','o','p','t','i','m','i','z','a','t','i','o','n','s',#000,
'3','*','2','O','g','_','o','p','t','i','m','i','z','e',' ',
'f','o','r',' ','s','i','z','e',#000,'3','*','2','O','G','_',
'o','p','t','i','m','i','z','e',' ','f','o','r',' ','t','i',
'm','e',#000,'3','*','2','O','x','_','o','p','t','i','m','i',
'z','e',' ','m','a','x','i','m','u','m',#000,'3','*','2','O',
'z','_','u','n','c','e','r','t','a','i','n',' ','o','p','t',
'i','m','i','z','e','s',' ','(','s','e','e',' ','d','o','c',
's',')',#000,'3','*','2','O','2','_','o','p','t','i','m','i',
#000,'3','*','2','R','i','n','t','e','l','_','r','e','a','d',
' ','I','n','t','e','l',' ','s','t','y','l','e',' ','a','s',
's','e','m','b','l','e','r',#000,'3','*','2','R','d','i','r',
'e','c','t','_','c','o','p','y',' ','a','s','s','e','m','b',
'l','e','r',' ','t','e','x','t',' ','d','i','r','e','c','t',
'l','y',' ','t','o',' ','a','s','s','e','m','b','l','e','r',
' ','f','i','l','e',#000,'3','*','1','O','_','o','p','t','i',
'm','i','z','a','t','i','o','n','s',#000,'3','*','2','O','a',
'_','s','i','m','p','l','e',' ','o','p','t','i','m','i','z',
'a','t','i','o','n','s',#000,'3','*','2','O','g','_','o','p',
't','i','m','i','z','e',' ','f','o','r',' ','s','i','z','e',
#000,'3','*','2','O','G','_','o','p','t','i','m','i','z','e',
' ','f','o','r',' ','t','i','m','e',#000,'3','*','2','O','x',
'_','o','p','t','i','m','i','z','e',' ','m','a','x','i','m',
'u','m',#000,'3','*','2','O','z','_','u','n','c','e','r','t',
'a','i','n',' ','o','p','t','i','m','i','z','e','s',' ','(',
's','e','e',' ','d','o','c','s',')',#000,'3','*','2','O','2',
'_','o','p','t','i','m','i','z','e',' ','f','o','r',' ','P',
'e','n','t','i','u','m',' ','I','I',' ','(','t','m',')',#000,
'3','*','2','O','3','_','o','p','t','i','m','i','z','e',' ',
'f','o','r',' ','i','3','8','6',#000,'3','*','2','O','4','_',
'o','p','t','i','m','i','z','e',' ','f','o','r',' ','i','4',
'8','6',#000,'3','*','2','O','5','_','o','p','t','i','m','i',
'z','e',' ','f','o','r',' ','P','e','n','t','i','u','m',' ',
'I','I',' ','(','t','m',')',#000,'3','*','2','O','3','_','o',
'p','t','i','m','i','z','e',' ','f','o','r',' ','i','3','8',
'6',#000,'3','*','2','O','4','_','o','p','t','i','m','i','z',
'e',' ','f','o','r',' ','i','4','8','6',#000,'3','*','2','O',
'5','_','o','p','t','i','m','i','z','e',' ','f','o','r',' ',
'P','e','n','t','i','u','m',' ','(','t','m',')',#000,'3','*',
'2','O','6','_','o','p','t','i','m','i','z','a','t','i','o',
'n','s',' ','f','o','r',' ','P','e','n','t','i','u','m','P',
'r','o',' ','(','t','m',')',#000,'6','*','1','A','_','o','u',
't','p','u','t',' ','f','o','r','m','a','t',#000,'6','*','2',
'A','g','a','s','_','G','N','U',' ','M','o','t','o','r','o',
'l','a',' ','a','s','s','e','m','b','l','e','r',#000,'6','*',
'2','A','o','_','U','N','I','X',' ','o','-','f','i','l','e',
#000,'6','*','2','A','m','_','S','t','a','n','d','a','r','d',
'(','t','m',')',#000,'3','*','2','O','6','_','o','p','t','i',
'm','i','z','a','t','i','o','n','s',' ','f','o','r',' ','P',
'e','n','t','i','u','m','P','r','o',' ','(','t','m',')',#000,
'6','*','1','A','_','o','u','t','p','u','t',' ','f','o','r',
'm','a','t',#000,'6','*','2','A','g','a','s','_','G','N','U',
' ','M','o','t','o','r','o','l','a',' ','a','s','s','e','m',
'b','l','e','r',#000,'6','*','2','A','i','_','M','I','T',' ',
'S','y','n','t','a','x',' ','(','o','l','d',' ','G','A','S',
')',#000,'6','*','1','O','_','o','p','t','i','m','i','z','a',
't','i','o','n','s',#000,'6','*','2','O','a','_','s','i','m',
'p','l','e',' ','o','p','t','i','m','i','z','a','t','i','o',
'n','s',#000,'6','*','2','O','g','_','o','p','t','i','m','i',
'z','e',' ','f','o','r',' ','s','i','z','e',#000,'6','*','2',
'O','G','_','o','p','t','i','m','i','z','e',' ','f','o','r',
' ','t','i','m','e',#000,'6','*','2','O','x','_','o','p','t',
'i','m','i','z','e',' ','m','a','x','i','m','u','m',#000,'6',
'*','2','O','2','_','t','a','r','g','e','t',' ','i','s',' ',
'a',' ','M','C','6','8','0','2','0','+',' ','p','r','o','c',
'e','s','s','o','r',#000,'*','*','1','*','_',#000,'*','*','1',
'?','_','s','h','o','w','s',' ','t','h','i','s',' ','h','e',
'l','p',#000,'*','*','1','h','_','s','h','o','w','s',' ','t',
'h','i','s',' ','h','e','l','p',' ','w','i','t','h','o','u',
't',' ','w','a','i','t','i','n','g',#000);
'b','l','e','r',#000,'6','*','2','A','o','_','U','N','I','X',
' ','o','-','f','i','l','e',#000,'6','*','2','A','m','_','S',
't','a','n','d','a','r','d',' ','M','o','t','o','r','o','l',
'a',' ','a','s','s','e','m','b','l','e','r',#000,'6','*','2',
'A','i','_','M','I','T',' ','S','y','n','t','a','x',' ','(',
'o','l','d',' ','G','A','S',')',#000,'6','*','1','O','_','o',
'p','t','i','m','i','z','a','t','i','o','n','s',#000,'6','*',
'2','O','a','_','s','i','m','p','l','e',' ','o','p','t','i',
'm','i','z','a','t','i','o','n','s',#000,'6','*','2','O','g',
'_','o','p','t','i','m','i','z','e',' ','f','o','r',' ','s',
'i','z','e',#000,'6','*','2','O','G','_','o','p','t','i','m',
'i','z','e',' ','f','o','r',' ','t','i','m','e',#000,'6','*',
'2','O','x','_','o','p','t','i','m','i','z','e',' ','m','a',
'x','i','m','u','m',#000,'6','*','2','O','2','_','t','a','r',
'g','e','t',' ','i','s',' ','a',' ','M','C','6','8','0','2',
'0','+',' ','p','r','o','c','e','s','s','o','r',#000,'*','*',
'1','*','_',#000,'*','*','1','?','_','s','h','o','w','s',' ',
't','h','i','s',' ','h','e','l','p',#000,'*','*','1','h','_',
's','h','o','w','s',' ','t','h','i','s',' ','h','e','l','p',
' ','w','i','t','h','o','u','t',' ','w','a','i','t','i','n',
'g',#000);

View File

@ -666,7 +666,30 @@ unit pdecl;
parse_only:=oldparse_only;
if (token=ID) and
((pattern='VIRTUAL') or (pattern='DYNAMIC')) then
Message(parser_w_constructor_cannot_be_not_virtual);
begin
consume(ID);
consume(SEMICOLON);
if (aktclass^.options and oois_class=0) then
Message(parser_e_constructor_cannot_be_not_virtual)
else
begin
aktprocsym^.definition^.options:=
aktprocsym^.definition^.options or povirtualmethod;
aktclass^.options:=aktclass^.options or oo_hasvirtual;
end
end
else if (token=ID) and (pattern='OVERRIDE') then
begin
consume(ID);
consume(SEMICOLON);
if (aktclass^.options and oois_class=0) then
Message(parser_e_constructor_cannot_be_not_virtual)
else
begin
aktprocsym^.definition^.options:=
aktprocsym^.definition^.options or pooverridingmethod or povirtualmethod;
end;
end;
end;
_DESTRUCTOR:
begin
@ -1666,7 +1689,11 @@ unit pdecl;
end.
{
$Log$
Revision 1.3 1998-04-07 22:45:05 florian
Revision 1.4 1998-04-08 10:26:09 florian
* correct error handling of virtual constructors
* problem with new type declaration handling fixed
Revision 1.3 1998/04/07 22:45:05 florian
* bug0092, bug0115 and bug0121 fixed
+ packed object/class/array

View File

@ -828,7 +828,7 @@ unit pexpr;
begin
case token of
ID:
begin
begin
{ allow post fix operators }
again:=true;
if (cs_delphi2_compatible in aktswitches) and
@ -916,75 +916,87 @@ unit pexpr;
typesym:
begin
pd:=ptypesym(srsym)^.definition;
if token=LKLAMMER then
{ if we read a type declaration }
{ we have to return the type and }
{ nothing else }
if block_type=bt_type then
begin
consume(LKLAMMER);
p1:=expr;
consume(RKLAMMER);
p1:=gentypeconvnode(p1,pd);
p1^.explizit:=true;
end
else if (token=POINT) and
(pd^.deftype=objectdef) and
((pobjectdef(pd)^.options and oois_class)=0) then
begin
consume(POINT);
if assigned(procinfo._class) then
begin
if procinfo._class^.isrelated(pobjectdef(pd)) then
begin
p1:=genzeronode(typen);
p1^.resulttype:=pd;
srsymtable:=pobjectdef(pd)^.publicsyms;
sym:=pvarsym(srsymtable^.search(pattern));
consume(ID);
do_member_read(sym,p1,pd,again);
end
else
begin
Message(parser_e_no_super_class);
pd:=generrordef;
again:=false;
end;
end
else
begin
{ allows @TObject.Load }
{ also allows static methods and variables }
p1:=genzeronode(typen);
p1^.resulttype:=pd;
srsymtable:=pobjectdef(pd)^.publicsyms;
sym:=pvarsym(srsymtable^.search(pattern));
if not(getaddr) and
((sym^.properties and sp_static)=0) then
Message(sym_e_only_static_in_static)
else
begin
consume(ID);
do_member_read(sym,p1,pd,again);
end;
end
p1:=genzeronode(typen);
p1^.resulttype:=pd;
pd:=voiddef;
end
else
begin
{ class reference ? }
if (pd^.deftype=objectdef)
and ((pobjectdef(pd)^.options and oois_class)<>0) then
if token=LKLAMMER then
begin
p1:=genzeronode(typen);
p1^.resulttype:=pd;
pd:=new(pclassrefdef,init(pd));
p1:=gensinglenode(loadvmtn,p1);
p1^.resulttype:=pd;
consume(LKLAMMER);
p1:=expr;
consume(RKLAMMER);
p1:=gentypeconvnode(p1,pd);
p1^.explizit:=true;
end
else if (token=POINT) and
(pd^.deftype=objectdef) and
((pobjectdef(pd)^.options and oois_class)=0) then
begin
consume(POINT);
if assigned(procinfo._class) then
begin
if procinfo._class^.isrelated(pobjectdef(pd)) then
begin
p1:=genzeronode(typen);
p1^.resulttype:=pd;
srsymtable:=pobjectdef(pd)^.publicsyms;
sym:=pvarsym(srsymtable^.search(pattern));
consume(ID);
do_member_read(sym,p1,pd,again);
end
else
begin
Message(parser_e_no_super_class);
pd:=generrordef;
again:=false;
end;
end
else
begin
{ allows @TObject.Load }
{ also allows static methods and variables }
p1:=genzeronode(typen);
p1^.resulttype:=pd;
srsymtable:=pobjectdef(pd)^.publicsyms;
sym:=pvarsym(srsymtable^.search(pattern));
if not(getaddr) and
((sym^.properties and sp_static)=0) then
Message(sym_e_only_static_in_static)
else
begin
consume(ID);
do_member_read(sym,p1,pd,again);
end;
end
end
else
begin
{ generate a type node }
{ (for typeof etc) }
p1:=genzeronode(typen);
p1^.resulttype:=pd;
pd:=voiddef;
{ class reference ? }
if (pd^.deftype=objectdef)
and ((pobjectdef(pd)^.options and oois_class)<>0) then
begin
p1:=genzeronode(typen);
p1^.resulttype:=pd;
pd:=new(pclassrefdef,init(pd));
p1:=gensinglenode(loadvmtn,p1);
p1^.resulttype:=pd;
end
else
begin
{ generate a type node }
{ (for typeof etc) }
p1:=genzeronode(typen);
p1^.resulttype:=pd;
pd:=voiddef;
end;
end;
end;
end;
@ -1565,7 +1577,11 @@ unit pexpr;
end.
{
$Log$
Revision 1.4 1998-04-07 22:45:05 florian
Revision 1.5 1998-04-08 10:26:09 florian
* correct error handling of virtual constructors
* problem with new type declaration handling fixed
Revision 1.4 1998/04/07 22:45:05 florian
* bug0092, bug0115 and bug0121 fixed
+ packed object/class/array