[fpc-pascal] not inlined?

Ryan Joseph genericptr at gmail.com
Wed Jun 19 20:36:28 CEST 2019


The method TDictionary.IsSet is not able to be inlined but why not? What are the rules to inlining in FPC? I know calling inherited is not possible (makes sense) but I often get this warning and I don’t always understand why.

      TDictionaryEntry = record
        key: TDictionaryKey;
        value: TValue;
      end;
      TDictionaryEntryArray = array[0..high(integer)] of TDictionaryEntry;
      TDictionaryEntryArrayPtr = ^TDictionaryEntryArray;
      TDictionaryHeader = record
	...
        entries: TDictionaryEntryArrayPtr;
      end;
 

      header: TDictionaryHeaderPtr;

function TDictionary.IsSet (index: integer): boolean;
begin
  result := assigned(header^.entries[index]^.value);
end;


Regards,
	Ryan Joseph



More information about the fpc-pascal mailing list