Bug in TMembersSymbolTable.Visibilities

Issue #68 resolved
Anders Melander created an issue

The TMembersSymbolTable.Visibilities method in dwsSymbols.pas contains a small bug:

function TMembersSymbolTable.Visibilities : TdwsVisibilities;
var
   sym : TSymbol;
   symClass : TClass;
begin
   Result:=[];
   for sym in Self do begin
      symClass:=sym.ClassType;
      if symClass=TFieldSymbol then
         Include(Result, TFieldSymbol(sym).Visibility)
      else if symClass.InheritsFrom(TPropertySymbol) then
         Include(Result, TPropertySymbol(sym).Visibility)
      else if symClass.InheritsFrom(TMethodSymbol) then
         Include(Result, TMethodSymbol(symClass).Visibility)
   end;
end;

The line

Include(Result, TMethodSymbol(symClass).Visibility)

should read

Include(Result, TMethodSymbol(sym).Visibility)

Comments (1)

  1. Log in to comment