The function getIdentifier does not properly sanitize characters from filenames.
For example the file C:\Users\foobar\AppData\Local\Temp\demo-sample.cpp generate the identifier demo-sample which contains the invalid c++ character - (dash).
The function must remove all invalid c++ characters such as +-*/=!"/$%?&()½¾.,;<>^¸¨: .