* 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;
d: TDef;
s: string;
excl: boolean;
begin
for i:=0 to u.Count - 1 do begin
d:=u[i];
if d.DefType = dtClass then begin
s:=u.Name + '.' + d.Name;
if (TClassDef(d).AncestorClass = AAncestorClass) or
( (AAncestorClass = nil) and (DoCheckItem(u.Name + '.' + d.Name) = crExclude) )
then begin
if AAncestorClass = nil then begin
excl:=DoCheckItem(s) = crExclude;
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;
ExcludeList.Add(s);
_ExcludeClasses(TClassDef(d));