{"action":"opened","issue":{"url":"https://api.github.com/repos/ftomassetti/java-symbol-solver/issues/47","repository_url":"https://api.github.com/repos/ftomassetti/java-symbol-solver","labels_url":"https://api.github.com/repos/ftomassetti/java-symbol-solver/issues/47/labels{/name}","comments_url":"https://api.github.com/repos/ftomassetti/java-symbol-solver/issues/47/comments","events_url":"https://api.github.com/repos/ftomassetti/java-symbol-solver/issues/47/events","html_url":"https://github.com/ftomassetti/java-symbol-solver/issues/47","id":167642407,"number":47,"title":"Unable to solve Type defined in base class","user":{"login":"mlangkabel","id":16242920,"avatar_url":"https://avatars.githubusercontent.com/u/16242920?v=3","gravatar_id":"","url":"https://api.github.com/users/mlangkabel","html_url":"https://github.com/mlangkabel","followers_url":"https://api.github.com/users/mlangkabel/followers","following_url":"https://api.github.com/users/mlangkabel/following{/other_user}","gists_url":"https://api.github.com/users/mlangkabel/gists{/gist_id}","starred_url":"https://api.github.com/users/mlangkabel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mlangkabel/subscriptions","organizations_url":"https://api.github.com/users/mlangkabel/orgs","repos_url":"https://api.github.com/users/mlangkabel/repos","events_url":"https://api.github.com/users/mlangkabel/events{/privacy}","received_events_url":"https://api.github.com/users/mlangkabel/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-07-26T15:50:13Z","updated_at":"2016-07-26T15:50:13Z","closed_at":null,"body":"It seems like the symbol solver is unable to solve a type that has been defined in a class' base class. Please refer to the following code snippet for an example:\r\n```\r\npublic class Foo {\r\n\tpublic class Base {\r\n\t\tpublic class X {\r\n\t\t}\r\n\t}\r\n\r\n\tpublic class Derived extends Base {\r\n\t\tpublic X x = null;\r\n\t}\r\n}\r\n```\r\nWhen trying to solve the type of `Derived.x` an `UnsolvedSymbolException{context='unknown', name='X', typeSolver=null}` is thrown (callstack is at the end).\r\n\r\nI think the `me.tomassetti.symbolsolver.javaparsermodel.declarations.JavaParserClassDeclaration.solveType(...)` is missing to look into extended or implemented classes/interfaces.\r\n\r\nAnd here the callstack (it's not very spectacular):\r\n```\r\nException in thread \"Thread-0\" UnsolvedSymbolException{context='unknown', name='X', typeSolver=null}\r\n        at me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade.convertToUsage(JavaParserFacade.java:444)\r\n        at me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade.convert(JavaParserFacade.java:487)\r\n\r\n        at me.tomassetti.symbolsolver.javaparsermodel.JavaParserFacade.convert(JavaParserFacade.java:483)\r\n\r\n        at io.coati.JavaTypeNameResolver.getTypeName(JavaTypeNameResolver.java:48)\r\n        ...\r\n```"}}
{"actor":{"display_login":"mlangkabel"}}