From 15e4dc6a36bde60c3ff2e0108b64e7f0158bce51 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Wed, 10 Sep 2014 21:31:26 +0200 Subject: [PATCH] BUG-1794: use QName.cachedReference in static references When we emit generated classes, we add a static final reference to a QName created via the usual string factory method. This leads to less-than-optimal string sharing, so we go through a cachedReference initializer to make sure we get maximum resource sharing. Change-Id: Id75286410be4883736164c504dd6cb8f9d26383a Signed-off-by: Robert Varga --- .../sal/binding/generator/impl/TransformerGenerator.xtend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/TransformerGenerator.xtend b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/TransformerGenerator.xtend index 473c8e644c..1a9914828a 100644 --- a/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/TransformerGenerator.xtend +++ b/code-generator/binding-generator-impl/src/main/java/org/opendaylight/yangtools/sal/binding/generator/impl/TransformerGenerator.xtend @@ -1435,7 +1435,7 @@ class TransformerGenerator extends AbstractTransformerGenerator { private def staticQNameField(CtClass it, QName node, SourceCodeGenerator sourceGenerator) { val field = new CtField(ctQName, "QNAME", it); field.modifiers = PUBLIC + FINAL + STATIC; - val code = '''«QName.asCtClass.name».create("«node.namespace»","«node.formattedRevision»","«node.localName»")''' + val code = '''«QName.asCtClass.name».cachedReference(«QName.asCtClass.name».create("«node.namespace»","«node.formattedRevision»","«node.localName»"))''' addField(field, code ) sourceGenerator.appendField( field, code ); -- 2.36.6