{"id":12163,"date":"2022-09-29T21:44:21","date_gmt":"2022-09-29T16:14:21","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/"},"modified":"2022-09-29T21:44:21","modified_gmt":"2022-09-29T16:14:21","slug":"solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/","title":{"rendered":"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-25840657\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"25840657\" data-parentid=\"25840529\" data-score=\"2\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>What you&#8217;re seeing is Java&#8217;s internal representation of the anonymous inner classes. Java implements these by creating classes with generated names, which &#8212; like all inner classes &#8212; are based on adding $ and a suffix to the name of the containing class. (There are some other changes made to support the inner class&#8217;s ability to refer back to its containing context.)<\/p>\n<p>Apparently whichever decompiler you used didn&#8217;t attempt to reverse that rewrite. That isn&#8217;t very surprising; I haven&#8217;t yet seen one that did handle this situation correctly, and some don&#8217;t even handle constructors correctly (leaving them with their generated function name, &lt;init&gt;(). Unfortunately, compilation of any language always involves discarding some information, and decompilation will generally <em>not<\/em> be able to reconstruct the original code &#8212; and may not be able to reconstruct syntactically correct code, since the object code is generally allowed to do things that the source language can&#8217;t. You should expect to have to manually edit the decompiler&#8217;s output.<\/p>\n<p>If you&#8217;re just trying to get the code running, you may be able to do so by replacing the generated class and function names with ones which are acceptable to Java syntax (as opposed to the less-restricted JRE). If you actually want to turn the generated classes back into anonymous inner classes, you&#8217;ll have to do that manually as well.<\/p>\n<p>Or you can try to find a decompiler which is better at handling this case and isn&#8217;t worse at handling other cases. Good luck; if you do find one, let us know.<\/p>\n<p>(The real answer here is to be <em>extremely<\/em> careful not to lose your source code. The best thing that can be said about decompilers is that they&#8217;re usually better than trying to directly read the instructions.)<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">5<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Why do I get a $ sign in decompiled java classes full with errors? [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] What you&#8217;re seeing is Java&#8217;s internal representation of the anonymous inner classes. Java implements these by creating classes with generated names, which &#8212; like all inner classes &#8212; are based on adding $ and a suffix to the name of the containing class. (There are some other changes made to support the inner class&#8217;s &#8230; <a title=\"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\" aria-label=\"More on [Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[3316,573,323],"class_list":["post-12163","post","type-post","status-publish","format-standard","hentry","category-solved","tag-anonymous","tag-eclipse","tag-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] What you&#8217;re seeing is Java&#8217;s internal representation of the anonymous inner classes. Java implements these by creating classes with generated names, which &#8212; like all inner classes &#8212; are based on adding $ and a suffix to the name of the containing class. (There are some other changes made to support the inner class&#8217;s ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-09-29T16:14:21+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]\",\"datePublished\":\"2022-09-29T16:14:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\"},\"wordCount\":336,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"anonymous\",\"eclipse\",\"java\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\",\"name\":\"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-09-29T16:14:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed] - JassWeb","og_description":"[ad_1] What you&#8217;re seeing is Java&#8217;s internal representation of the anonymous inner classes. Java implements these by creating classes with generated names, which &#8212; like all inner classes &#8212; are based on adding $ and a suffix to the name of the containing class. (There are some other changes made to support the inner class&#8217;s ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/","og_site_name":"JassWeb","article_published_time":"2022-09-29T16:14:21+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]","datePublished":"2022-09-29T16:14:21+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/"},"wordCount":336,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["anonymous","eclipse","java"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/","name":"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-09-29T16:14:21+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-why-do-i-get-a-sign-in-decompiled-java-classes-full-with-errors-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Why do I get a $ sign in decompiled java classes full with errors? [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1776403586","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/12163","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=12163"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/12163\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=12163"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=12163"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=12163"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}