|
@@ -1752,7 +1752,7 @@ implementation
|
|
|
records
|
|
|
objects
|
|
|
parameters
|
|
|
- Exception are generic definitions and specializations
|
|
|
+ Exception are classes, generic definitions and specializations
|
|
|
that have the parameterized types inserted in the symtable.
|
|
|
}
|
|
|
srsymtable:=stackitem^.symtable;
|
|
@@ -1760,7 +1760,8 @@ implementation
|
|
|
(assigned(srsymtable.defowner) and
|
|
|
(
|
|
|
(df_generic in tdef(srsymtable.defowner).defoptions) or
|
|
|
- (df_specialization in tdef(srsymtable.defowner).defoptions))
|
|
|
+ (df_specialization in tdef(srsymtable.defowner).defoptions) or
|
|
|
+ is_class(tdef(srsymtable.defowner)))
|
|
|
) then
|
|
|
begin
|
|
|
srsym:=tsym(srsymtable.FindWithHash(hashedid));
|
|
@@ -1768,7 +1769,8 @@ implementation
|
|
|
not(srsym.typ in [fieldvarsym,paravarsym]) and
|
|
|
(
|
|
|
(srsym.owner.symtabletype<>objectsymtable) or
|
|
|
- is_visible_for_object(srsym,current_objectdef)
|
|
|
+ (is_visible_for_object(srsym,current_objectdef) and
|
|
|
+ (srsym.typ=typesym))
|
|
|
) then
|
|
|
begin
|
|
|
{ we need to know if a procedure references symbols
|