import java.util.Objects;
import java.util.Optional;
import java.util.Set;
-import javax.annotation.Nullable;
import org.antlr.v4.runtime.ParserRuleContext;
-import org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser.ArgumentContext;
-import org.opendaylight.yangtools.antlrv4.code.gen.YangStatementParser.StatementContext;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
import org.opendaylight.yangtools.concepts.SemVer;
import org.opendaylight.yangtools.openconfig.model.api.OpenConfigStatements;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.model.parser.api.YangSyntaxErrorException;
import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
import org.opendaylight.yangtools.yang.model.repo.api.YangTextSchemaSource;
+import org.opendaylight.yangtools.yang.parser.antlr.YangStatementParser.ArgumentContext;
+import org.opendaylight.yangtools.yang.parser.antlr.YangStatementParser.StatementContext;
import org.opendaylight.yangtools.yang.parser.spi.source.DeclarationInTextSource;
import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
* @return {@link YangModelDependencyInfo}
* @throws YangSyntaxErrorException If the AST is not a valid YANG module/submodule
*/
- static YangModelDependencyInfo fromAST(final SourceIdentifier source, final ParserRuleContext tree)
+ static @NonNull YangModelDependencyInfo fromAST(final SourceIdentifier source, final ParserRuleContext tree)
throws YangSyntaxErrorException {
if (tree instanceof StatementContext) {
throw new YangSyntaxErrorException(source, 0, 0, "Unknown YANG text type");
}
- private static YangModelDependencyInfo parseAST(final StatementContext rootStatement,
+ private static @NonNull YangModelDependencyInfo parseAST(final StatementContext rootStatement,
final SourceIdentifier source) {
final String keyWordText = rootStatement.keyword().getText();
if (MODULE.equals(keyWordText)) {
return parseAST((StatementContext) ast, source.getIdentifier());
}
- private static YangModelDependencyInfo parseModuleContext(final StatementContext module,
+ private static @NonNull YangModelDependencyInfo parseModuleContext(final StatementContext module,
final SourceIdentifier source) {
final String name = safeStringArgument(source, module, "module name");
final String latestRevision = getLatestRevision(module, source);
return latestRevision;
}
- private static YangModelDependencyInfo parseSubmoduleContext(final StatementContext submodule,
+ private static @NonNull YangModelDependencyInfo parseSubmoduleContext(final StatementContext submodule,
final SourceIdentifier source) {
final String name = safeStringArgument(source, submodule, "submodule name");
final String belongsTo = parseBelongsTo(submodule, source);
private final SemVer semVer;
private final String name;
- ModuleImportImpl(final String moduleName, final Revision revision) {
+ ModuleImportImpl(final @NonNull String moduleName, final @Nullable Revision revision) {
this(moduleName, revision, null);
}
- ModuleImportImpl(final String moduleName, @Nullable final Revision revision, @Nullable final SemVer semVer) {
+ ModuleImportImpl(final @NonNull String moduleName, final @Nullable Revision revision,
+ final @Nullable SemVer semVer) {
this.name = requireNonNull(moduleName, "Module name must not be null.");
this.revision = revision;
this.semVer = semVer;