record the entire reconstructed url

(not just the path)
put semicolon where it normally goes
simplify package extraction

I was wrong about the classname of nested classes; the class-to-class separator is a dollar sign, not a period.
The last period is reliably the end of the package part of the class name.
don’t pretend generated classes are part of the app

(proxy classes often use the same package as the proxied class, but use a noticeably different filename)
add a manual check

to manually check that the reported error looks good in Errbit