diff --git a/compiler/pdecvar.pas b/compiler/pdecvar.pas index cdf000642e..05d0c14906 100644 --- a/compiler/pdecvar.pas +++ b/compiler/pdecvar.pas @@ -1553,7 +1553,8 @@ implementation This just speedup the search a bit. } recstlist.count:=0; if not is_class_or_object(tdef(recst.defowner)) and - not is_record(tdef(recst.defowner)) then + not is_record(tdef(recst.defowner)) and + not is_java_class_or_interface(tdef(recst.defowner)) then begin recstlist.add(recst); symtablestack.pop(recst); diff --git a/compiler/ptype.pas b/compiler/ptype.pas index 4c7de21c2d..41d596396c 100644 --- a/compiler/ptype.pas +++ b/compiler/ptype.pas @@ -435,8 +435,10 @@ implementation consume(_POINT); consume(_ID); end - else if is_class_or_object(def) or is_record(def) then + else if is_class_or_object(def) or is_record(def) or is_java_class_or_interface(def) then begin + if (def.typ=objectdef) then + def:=find_real_class_definition(tobjectdef(def),false); consume(_POINT); if (structstackindex>=0) and (tabstractrecorddef(currentstructstack[structstackindex]).objname^=pattern) then