瀏覽代碼

Avoid invalid typecast to tabstractvarsym

Pierre Muller 3 年之前
父節點
當前提交
bb39ec1610
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      compiler/defcmp.pas

+ 2 - 1
compiler/defcmp.pas

@@ -2662,7 +2662,8 @@ implementation
                         - method variable
                         - function reference
                         - nested function }
-                    else if (captured.count=1) and (vo_is_self in tabstractvarsym(pcapturedsyminfo(captured[0])^.sym).varoptions) then
+                    else if (captured.count=1) and (tsym(pcapturedsyminfo(captured[0])^.sym).typ in [localvarsym,paravarsym]) and
+                         (vo_is_self in tabstractvarsym(pcapturedsyminfo(captured[0])^.sym).varoptions) then
                       begin
                         if po_methodpointer in def2.procoptions then
                           eq:=te_convert_l1