Integrate {Inference,Source}Exception with CommonStmtCtx
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / length / LengthStatementSupport.java
index eed28a0ce2e4ef37b62b7408b436d08b72a977f1..120a7d870808f83acc15d73849432e1e1e72b1b2 100644 (file)
@@ -60,18 +60,18 @@ public final class LengthStatementSupport
                 max = parseIntegerConstraintValue(ctx, boundaries.next());
 
                 // if min larger than max then error
-                SourceException.throwIf(ArgumentUtils.compareNumbers(min, max) == 1, ctx.getStatementSourceReference(),
-                        "Length constraint %s has descending order of boundaries; should be ascending.", singleRange);
-                SourceException.throwIf(boundaries.hasNext(), ctx.getStatementSourceReference(),
-                        "Wrong number of boundaries in length constraint %s.", singleRange);
+                SourceException.throwIf(ArgumentUtils.compareNumbers(min, max) == 1, ctx,
+                    "Length constraint %s has descending order of boundaries; should be ascending.", singleRange);
+                SourceException.throwIf(boundaries.hasNext(), ctx,
+                    "Wrong number of boundaries in length constraint %s.", singleRange);
             } else {
                 max = min;
             }
 
             // some of intervals overlapping
-            InferenceException.throwIf(ranges.size() > 1
-                && ArgumentUtils.compareNumbers(min, Iterables.getLast(ranges).upperBound()) != 1,
-                        ctx.getStatementSourceReference(),  "Some of the length ranges in %s are not disjoint", value);
+            InferenceException.throwIf(
+                ranges.size() > 1 && ArgumentUtils.compareNumbers(min, Iterables.getLast(ranges).upperBound()) != 1,
+                ctx, "Some of the length ranges in %s are not disjoint", value);
             ranges.add(ValueRange.of(min, max));
         }
 
@@ -86,13 +86,12 @@ public final class LengthStatementSupport
     @Override
     protected LengthStatement createDeclared(final StmtContext<List<ValueRange>, LengthStatement, ?> ctx,
             final ImmutableList<? extends DeclaredStatement<?>> substatements) {
-        return new RegularLengthStatement(ctx.coerceRawStatementArgument(), ctx.coerceStatementArgument(),
-            substatements);
+        return new RegularLengthStatement(ctx.getRawArgument(), ctx.getArgument(), substatements);
     }
 
     @Override
     protected LengthStatement createEmptyDeclared(final StmtContext<List<ValueRange>, LengthStatement, ?> ctx) {
-        return new EmptyLengthStatement(ctx.coerceRawStatementArgument(), ctx.coerceStatementArgument());
+        return new EmptyLengthStatement(ctx.getRawArgument(), ctx.getArgument());
     }
 
     @Override
@@ -113,7 +112,7 @@ public final class LengthStatementSupport
         try {
             return new BigInteger(value);
         } catch (final NumberFormatException e) {
-            throw new SourceException(ctx.getStatementSourceReference(), e, "Value %s is not a valid integer", value);
+            throw new SourceException(ctx, e, "Value %s is not a valid integer", value);
         }
     }
 }
\ No newline at end of file