BUG-6522: grow namespaces lazily
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / reactor / NamespaceStorageSupport.java
index c9a9cde76265eb910d9b6cab302a5bc606b59cc9..c8ae51ea7618e179e1bdc593ac168f75bb766dc7 100644 (file)
@@ -22,7 +22,7 @@ import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils;
 
 abstract class NamespaceStorageSupport implements NamespaceStorageNode {
 
-    private final Map<Class<?>, Map<?,?>> namespaces = new HashMap<>();
+    private Map<Class<?>, Map<?,?>> namespaces = new HashMap<>();
 
     @Override
     public abstract NamespaceStorageNode getParentNamespaceStorage();
@@ -111,6 +111,10 @@ abstract class NamespaceStorageSupport implements NamespaceStorageNode {
         if (localNamespace == null) {
             checkLocalNamespaceAllowed(type);
             localNamespace = new HashMap<>(1);
+
+            if (namespaces.isEmpty()) {
+                namespaces = new HashMap<>(1);
+            }
             namespaces.put(type, localNamespace);
         }
         localNamespace.put(key,value);