Bläddra i källkod

* fixed web bug #4651 + test

git-svn-id: trunk@2108 -
Jonas Maebe 19 år sedan
förälder
incheckning
cbb59be2f1
3 ändrade filer med 27 tillägg och 1 borttagningar
  1. 1 0
      .gitattributes
  2. 3 1
      compiler/ncal.pas
  3. 23 0
      tests/webtbf/tw4651.pp

+ 1 - 0
.gitattributes

@@ -5941,6 +5941,7 @@ tests/webtbf/tw4569a.pp svneol=native#text/plain
 tests/webtbf/tw4569b.pp svneol=native#text/plain
 tests/webtbf/tw4619a.pp -text svneol=unset#text/plain
 tests/webtbf/tw4619b.pp svneol=native#text/plain
+tests/webtbf/tw4651.pp svneol=native#text/plain
 tests/webtbf/uw0744.pp svneol=native#text/plain
 tests/webtbf/uw0840a.pp svneol=native#text/plain
 tests/webtbf/uw0840b.pp svneol=native#text/plain

+ 3 - 1
compiler/ncal.pas

@@ -1661,7 +1661,9 @@ type
                              not(cnf_inherited in callnodeflags) and
                              ((m_tp_procvar in aktmodeswitches) or
                               (m_mac_procvar in aktmodeswitches)) and
-                             (symtableprocentry.procdef_count=1) then
+                             (symtableprocentry.procdef_count=1) and
+                             (not assigned(methodpointer) or
+                              (methodpointer.nodetype <> typen)) then
                             begin
                               hpt:=cloadnode.create(tprocsym(symtableprocentry),symtableproc);
                               if assigned(methodpointer) then

+ 23 - 0
tests/webtbf/tw4651.pp

@@ -0,0 +1,23 @@
+{ %fail }
+
+{$mode delphi}
+program test;
+
+type
+  TFoo = class(TObject)
+    constructor Create(Foo: Pointer);
+  end;
+
+constructor TFoo.Create(Foo: Pointer);
+begin
+end;
+
+procedure shiny;
+var
+  p: pointer;
+  M: TFoo.Create;
+begin
+end;
+
+end.
+