yes that makes sense, but here in this specific scenario, I have a file Invoice.php in app folder, which only has Invoice class in it, which extends Model. It's not trait and it doesn't underline non-existent function when referencing via $this and I don't get why. Model uses trait ForwardsCalls and that's it. Does that mean, that when I extend a Model in Laravel, it will break highlighting of such errors in my code, because parent class uses a trait? As I mentioned before, this works fine in PHPStorm ..