@@ -158,7 +158,14 @@ public boolean visit(AnonymousClassDeclaration node) {
158158
159159 String anonClassName = null ;
160160 if (binding .isAnonymous () || binding .isLocal ()) {
161- anonClassName = assureQualifiedName (shortenQualifiedName (binding .getBinaryName ()));
161+ String binaryName = binding .getBinaryName ();
162+ if (binaryName == null ) {
163+ String bindingKey = binding .getKey ();
164+ if (bindingKey != null ) {
165+ binaryName = bindingKey = bindingKey .substring (1 , bindingKey .length () - 1 ).replace ('/' , '.' );
166+ }
167+ }
168+ anonClassName = assureQualifiedName (shortenQualifiedName (binaryName ));
162169 } else {
163170 anonClassName = assureQualifiedName (shortenQualifiedName (binding .getQualifiedName ()));
164171 }
@@ -534,10 +541,14 @@ public boolean visit(ClassInstanceCreation node) {
534541 ITypeBinding binding = node .resolveTypeBinding ();
535542 String anonClassName = null ;
536543 if (binding .isAnonymous () || binding .isLocal ()) {
537- if (binding .getBinaryName () == null ) {
538- System .out .println ("what?" + binding .getQualifiedName ());
544+ String binaryName = binding .getBinaryName ();
545+ if (binaryName == null ) {
546+ String bindingKey = binding .getKey ();
547+ if (bindingKey != null ) {
548+ binaryName = bindingKey = bindingKey .substring (1 , bindingKey .length () - 1 ).replace ('/' , '.' );
549+ }
539550 }
540- anonClassName = assureQualifiedName (shortenQualifiedName (binding . getBinaryName () ));
551+ anonClassName = assureQualifiedName (shortenQualifiedName (binaryName ));
541552 } else {
542553 anonClassName = assureQualifiedName (shortenQualifiedName (binding .getQualifiedName ()));
543554 }
0 commit comments