compiler: don't look at unit and namespace symbols from other units while searching for a type (issue #0025054)

git-svn-id: trunk@25536 -
This commit is contained in:
paul 2013-09-23 09:22:47 +00:00
parent 4fc4e4cb88
commit f3963172ba
8 changed files with 61 additions and 0 deletions

6
.gitattributes vendored
View File

@ -12661,6 +12661,8 @@ tests/webtbf/uw4103.pp svneol=native#text/plain
tests/webtbf/uw6922.pp svneol=native#text/plain
tests/webtbf/uw8738a.pas svneol=native#text/plain
tests/webtbf/uw8738b.pas svneol=native#text/plain
tests/webtbs/Integer.ns.pp svneol=native#text/pascal
tests/webtbs/Integer.pp svneol=native#text/pascal
tests/webtbs/tu2002.pp svneol=native#text/plain
tests/webtbs/tw0555.pp svneol=native#text/plain
tests/webtbs/tw0630.pp svneol=native#text/plain
@ -13589,6 +13591,8 @@ tests/webtbs/tw25004.pp svneol=native#text/pascal
tests/webtbs/tw2503.pp svneol=native#text/plain
tests/webtbs/tw25030.pp svneol=native#text/pascal
tests/webtbs/tw2504.pp svneol=native#text/plain
tests/webtbs/tw25054a.pp svneol=native#text/pascal
tests/webtbs/tw25054b.pp svneol=native#text/pascal
tests/webtbs/tw2514.pp svneol=native#text/plain
tests/webtbs/tw2525.pp svneol=native#text/plain
tests/webtbs/tw2536.pp svneol=native#text/plain
@ -14361,6 +14365,8 @@ tests/webtbs/uw22741a.pp svneol=native#text/plain
tests/webtbs/uw22741b.pp svneol=native#text/plain
tests/webtbs/uw23204.pp svneol=native#text/plain
tests/webtbs/uw2364.pp svneol=native#text/plain
tests/webtbs/uw25054a.pp svneol=native#text/pascal
tests/webtbs/uw25054b.pp svneol=native#text/pascal
tests/webtbs/uw2706a.pp svneol=native#text/plain
tests/webtbs/uw2706b.pp svneol=native#text/plain
tests/webtbs/uw2731.pp svneol=native#text/plain

View File

@ -2444,6 +2444,7 @@ implementation
begin
srsym:=tsym(srsymtable.FindWithHash(hashedid));
if assigned(srsym) and
(not(srsym.typ in [unitsym,namespacesym]) or srsymtable.iscurrentunit) and
not(srsym.typ in [fieldvarsym,paravarsym,propertysym,procsym,labelsym]) and
(not (srsym.owner.symtabletype in [objectsymtable,recordsymtable]) or is_visible_for_object(srsym,current_structdef)) then
begin

View File

@ -0,0 +1,7 @@
unit Integer.ns;
interface
implementation
end.

7
tests/webtbs/Integer.pp Normal file
View File

@ -0,0 +1,7 @@
unit Integer;
interface
implementation
end.

10
tests/webtbs/tw25054a.pp Normal file
View File

@ -0,0 +1,10 @@
program tw25054a;
uses
uw25054a;
var
X: Integer;
begin
end.

10
tests/webtbs/tw25054b.pp Normal file
View File

@ -0,0 +1,10 @@
program tw25054b;
uses
uw25054b;
var
X: Integer;
begin
end.

10
tests/webtbs/uw25054a.pp Normal file
View File

@ -0,0 +1,10 @@
unit uw25054a;
interface
uses
Integer.ns;
implementation
end.

10
tests/webtbs/uw25054b.pp Normal file
View File

@ -0,0 +1,10 @@
unit uw25054b;
interface
uses
Integer;
implementation
end.