Browse Source

* also search for fully qualified nested types in Java classes/interfaces

  * resolve anonymous external classes when handling nested type expressions

git-svn-id: branches/jvmbackend@18400 -
Jonas Maebe 14 years ago
parent
commit
c0b4514b7c
2 changed files with 5 additions and 2 deletions
  1. 2 1
      compiler/pdecvar.pas
  2. 3 1
      compiler/ptype.pas

+ 2 - 1
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);

+ 3 - 1
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