* pas2jni: Again fixed exclusion of descendant classes.

git-svn-id: trunk@29161 -
This commit is contained in:
yury 2014-11-26 17:01:04 +00:00
parent 830e3ceb0d
commit 0809bde8f2

View File

@ -1256,14 +1256,22 @@ procedure TWriter.WriteUnit(u: TUnitDef);
i: integer; i: integer;
d: TDef; d: TDef;
s: string; s: string;
excl: boolean;
begin begin
for i:=0 to u.Count - 1 do begin for i:=0 to u.Count - 1 do begin
d:=u[i]; d:=u[i];
if d.DefType = dtClass then begin if d.DefType = dtClass then begin
s:=u.Name + '.' + d.Name; s:=u.Name + '.' + d.Name;
if (TClassDef(d).AncestorClass = AAncestorClass) or if AAncestorClass = nil then begin
( (AAncestorClass = nil) and (DoCheckItem(u.Name + '.' + d.Name) = crExclude) ) excl:=DoCheckItem(s) = crExclude;
then begin if not excl then
with TClassDef(d).AncestorClass do
excl:=DoCheckItem(Parent.Name + '.' + Name) = crExclude;
end
else
excl:=TClassDef(d).AncestorClass = AAncestorClass;
if excl then begin
d.SetNotUsed; d.SetNotUsed;
ExcludeList.Add(s); ExcludeList.Add(s);
_ExcludeClasses(TClassDef(d)); _ExcludeClasses(TClassDef(d));