Defer copy decisions to StatementSupport
[yangtools.git] / yang / yang-parser-spi / src / main / java / org / opendaylight / yangtools / yang / parser / spi / meta / StmtContextUtils.java
index 7d4ffbfe0f78e86be2a100b93bfe830c70799635..1a0f9462b99c9a0b442f6e520877746da81969bd 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.parser.spi.meta;
 import static com.google.common.base.Preconditions.checkArgument;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.annotations.Beta;
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
 import java.util.Collection;
@@ -645,4 +646,16 @@ public final class StmtContextUtils {
         }
         return Optional.ofNullable(revision);
     }
+
+    /**
+     * Determine if a specific statetement context is a child of a statement context which produces a grouping.
+     *
+     * @param stmt Statement to examine
+     * @return True if parent context is that of a grouping.
+     */
+    @Beta
+    public static boolean isChildOfGrouping(final StmtContext<?, ?, ?> stmt) {
+        final StmtContext<?, ?, ?> parent = stmt.getParentContext();
+        return parent != null && parent.getPublicDefinition() == YangStmtMapping.GROUPING;
+    }
 }