Retain DeclarationReference in DeclaredStatements
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / meta / FractionDigitsStatementSupport.java
index 70c0c88a0912f56a19b571500ecc9f3c0ec7f13e..8709b3b416e68e1bb89b148698b7d0af69591d5c 100644 (file)
@@ -12,10 +12,13 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableMap.Builder;
 import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.model.api.YangStmtMapping;
+import org.opendaylight.yangtools.yang.model.api.meta.DeclarationReference;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.FractionDigitsStatement;
+import org.opendaylight.yangtools.yang.model.parser.api.YangParserConfiguration;
+import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators;
 import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
@@ -28,7 +31,6 @@ public final class FractionDigitsStatementSupport
         extends AbstractStatementSupport<Integer, FractionDigitsStatement, FractionDigitsEffectiveStatement> {
     private static final SubstatementValidator SUBSTATEMENT_VALIDATOR =
             SubstatementValidator.builder(YangStmtMapping.FRACTION_DIGITS).build();
-    private static final FractionDigitsStatementSupport INSTANCE = new FractionDigitsStatementSupport();
 
     // FIXME: move this to yang-model-spi
     private static final ImmutableMap<FractionDigitsStatement, FractionDigitsEffectiveStatement> EMPTY_EFF;
@@ -42,12 +44,8 @@ public final class FractionDigitsStatementSupport
         EMPTY_EFF = effBuilder.build();
     }
 
-    private FractionDigitsStatementSupport() {
-        super(YangStmtMapping.FRACTION_DIGITS, StatementPolicy.contextIndependent());
-    }
-
-    public static FractionDigitsStatementSupport getInstance() {
-        return INSTANCE;
+    public FractionDigitsStatementSupport(final YangParserConfiguration config) {
+        super(YangStmtMapping.FRACTION_DIGITS, StatementPolicy.contextIndependent(), config);
     }
 
     @Override
@@ -76,8 +74,9 @@ public final class FractionDigitsStatementSupport
     }
 
     @Override
-    protected FractionDigitsStatement createEmptyDeclared(final StmtContext<Integer, FractionDigitsStatement, ?> ctx) {
-        return DeclaredStatements.createFractionDigits(ctx.getArgument());
+    protected FractionDigitsStatement attachDeclarationReference(final FractionDigitsStatement stmt,
+            final DeclarationReference reference) {
+        return DeclaredStatementDecorators.decorateFractionDigits(stmt, reference);
     }
 
     @Override