-public final class YangStatementStreamSource implements StatementStreamSource {
- private static final ParseTreeListener MAKE_IMMUTABLE_LISTENER = new ParseTreeListener() {
- @Override
- public void enterEveryRule(final ParserRuleContext ctx) {
- // No-op
- }
-
- @Override
- public void exitEveryRule(final ParserRuleContext ctx) {
- ctx.children = ctx.children == null ? ImmutableList.of() : ImmutableList.copyOf(ctx.children);
- }
-
- @Override
- public void visitTerminal(final TerminalNode node) {
- // No-op
- }
-
- @Override
- public void visitErrorNode(final ErrorNode node) {
- // No-op
- }
- };
-
- private final YangStatementParserListenerImpl yangStatementModelParser;
- private final SourceIdentifier identifier;
- private final StatementContext context;
-
- private YangStatementStreamSource(final SourceIdentifier identifier, final YangStatementParserListenerImpl parser,
- final StatementContext context) {
- this.identifier = Preconditions.checkNotNull(identifier);
- this.yangStatementModelParser = Preconditions.checkNotNull(parser);
- this.context = Preconditions.checkNotNull(context);
+public final class YangStatementStreamSource extends AbstractIdentifiable<SourceIdentifier>
+ implements StatementStreamSource {
+ private final IRStatement rootStatement;
+ private final String sourceName;
+
+ private YangStatementStreamSource(final SourceIdentifier identifier, final IRStatement rootStatement,
+ final String sourceName) {
+ super(identifier);
+ this.rootStatement = requireNonNull(rootStatement);
+ this.sourceName = sourceName;