Skip to content

Commit c3aef12

Browse files
author
zhourenjian
committed
Fixed bug that "if (true) return;" combining with anonymous class will result in "NPE"
1 parent 46ccae9 commit c3aef12

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

sources/net.sf.j2s.core/src/net/sf/j2s/core/astvisitors/ASTScriptVisitor.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)