synchronized (this) {
// Build a cache key and check the cache
- StringBuffer keyb = (packageName == null) ? new StringBuffer() : new StringBuffer(packageName);
+ StringBuilder keyb = (packageName == null) ? new StringBuilder() : new StringBuilder(packageName);
keyb.append(".").append(typeName);
String key = keyb.toString();
IProgramElement cachedValue = typeMap.get(key);
}
for (IProgramElement classNode : nodes) {
+ if (!classNode.getKind().isType()) {
+ List<IProgramElement> kids = classNode.getChildren();
+ if (kids != null && !kids.isEmpty()) {
+ IProgramElement node = findClassInNodes(kids, name, typeName);
+ if (node != null) {
+ return node;
+ }
+ }
+ } else {
if (baseName.equals(classNode.getName())) {
if (innerName == null) {
return classNode;
return node;
}
}
+ }
}
return null;
}