Cache getting qualified name for package expression

This commit is contained in:
Nikolay Krasko
2012-10-12 15:32:08 +04:00
parent 7d292c62e0
commit ef7ed937c1
@@ -33,6 +33,8 @@ import java.util.List;
* @author abreslav * @author abreslav
*/ */
public class JetNamespaceHeader extends JetReferenceExpression { public class JetNamespaceHeader extends JetReferenceExpression {
private String qualifiedNameCache = null;
public JetNamespaceHeader(@NotNull ASTNode node) { public JetNamespaceHeader(@NotNull ASTNode node) {
super(node); super(node);
} }
@@ -104,9 +106,14 @@ public class JetNamespaceHeader extends JetReferenceExpression {
@NotNull @NotNull
public String getQualifiedName() { public String getQualifiedName() {
return getQualifiedNameParentOf(null); if (qualifiedNameCache == null) {
qualifiedNameCache = getQualifiedNameParentOf(null);
}
return qualifiedNameCache;
} }
@NotNull
private String getQualifiedNameParentOf(@Nullable JetReferenceExpression nameExpression) { private String getQualifiedNameParentOf(@Nullable JetReferenceExpression nameExpression) {
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
for (JetSimpleNameExpression e : findChildrenByClass(JetSimpleNameExpression.class)) { for (JetSimpleNameExpression e : findChildrenByClass(JetSimpleNameExpression.class)) {