Bug 6771: Problem with typedefs nested in augment
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / TypedefStatementImpl.java
index b96a2708e40be500f94fddbe9c7591e573333cf1..0d845ca773c19d579d3a7b703c59bf2f9cf181b9 100644 (file)
@@ -65,24 +65,19 @@ public class TypedefStatementImpl extends AbstractDeclaredStatement<QName> imple
         }
 
         @Override
-        public void onStatementDefinitionDeclared(
-                final StmtContext.Mutable<QName, TypedefStatement, EffectiveStatement<QName, TypedefStatement>> stmt) {
+        public void onFullDefinitionDeclared(final StmtContext.Mutable<QName, TypedefStatement,
+                EffectiveStatement<QName, TypedefStatement>> stmt) {
+            super.onFullDefinitionDeclared(stmt);
+            SUBSTATEMENT_VALIDATOR.validate(stmt);
             if (stmt != null && stmt.getParentContext() != null) {
-                final StmtContext<?, TypedefStatement, TypedefEffectiveStatement> existing =
-                        stmt.getParentContext().getFromNamespace(TypeNamespace.class, stmt.getStatementArgument());
+                final StmtContext<?, TypedefStatement, TypedefEffectiveStatement> existing = stmt.getParentContext()
+                        .getFromNamespace(TypeNamespace.class, stmt.getStatementArgument());
                 SourceException.throwIf(existing != null, stmt.getStatementSourceReference(),
                         "Duplicate name for typedef %s", stmt.getStatementArgument());
 
                 stmt.getParentContext().addContext(TypeNamespace.class, stmt.getStatementArgument(), stmt);
             }
         }
-
-        @Override
-        public void onFullDefinitionDeclared(final StmtContext.Mutable<QName, TypedefStatement,
-                EffectiveStatement<QName, TypedefStatement>> stmt) throws SourceException {
-            super.onFullDefinitionDeclared(stmt);
-            SUBSTATEMENT_VALIDATOR.validate(stmt);
-        }
     }
 
     @Nullable