inline directive is handled in psub.pas.
According to tcgprocinfo.generate_code:
Number of nodes generated for the procedure is <= 10
Should not be a nested proc, constructor, destructor
According to checknodeinlining:
It should not have "assembler block", "global goto", or "nested exit"
should not be "inherited"
none of its parameters can be "array of const", "open array", or "out, var, const, constref of formal parameter"
Edit:
In your code, the compiler gave:
Hint: "inherited" not yet supported inside inline procedure/function