diff --git a/utils/pas2jni/ppuparser.pas b/utils/pas2jni/ppuparser.pas index cf0d438276..737113f187 100644 --- a/utils/pas2jni/ppuparser.pas +++ b/utils/pas2jni/ppuparser.pas @@ -308,6 +308,9 @@ var if jt = 'obj' then begin if it.Strings['ObjType'] <> 'class' then continue; + // Exclude class? + if FOnCheckItem(AUnitName + '.' + CurObjName) = crExclude then + continue; d:=TClassDef.Create(CurDef, dtClass); end else @@ -443,6 +446,11 @@ var dtClass: with TClassDef(d) do begin AncestorClass:=TClassDef(_GetRef(it.Get('Ancestor', TJSONObject(nil)), TClassDef)); + if (AncestorClass <> nil) and (AncestorClass.DefType = dtNone) then begin + // Ancestor class has been excluded + FreeAndNil(d); + continue; + end; _ReadDefs(d, it, 'Fields'); end; dtRecord: