refactored resolveTargetClass and resolveTargetMethod. And consider
OuterClass for MethodResolution
don't add the type itself to its subtypes
renamed resolveTargetClass to resolveDefinitionOfMethod. And handle if
method wasn't found
analyzer for main