@Test public void testVisitUint32HighLowExpr() { assertThat( new Uint32HighLowExpr(new LiteralInt(1), new LiteralInt(1)) .accept(LongExprEvaluator.instance(), null), equalTo((1L << 16) | 1L)); }
@Override public Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr) { long high = uint32HighLowExpr.getHighExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= high && high <= 0xFFFFL; long low = uint32HighLowExpr.getLowExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= low && low <= 0xFFFFL; return (high << 16) | low; }
LongExprEvaluator implements LongExprVisitor<Long, Void> { @Override public Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr) { long high = uint32HighLowExpr.getHighExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= high && high <= 0xFFFFL; long low = uint32HighLowExpr.getLowExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= low && low <= 0xFFFFL; return (high << 16) | low; } }
LongExprEvaluator implements LongExprVisitor<Long, Void> { @Override public Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr) { long high = uint32HighLowExpr.getHighExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= high && high <= 0xFFFFL; long low = uint32HighLowExpr.getLowExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= low && low <= 0xFFFFL; return (high << 16) | low; }  }
LongExprEvaluator implements LongExprVisitor<Long, Void> { @Override public Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr) { long high = uint32HighLowExpr.getHighExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= high && high <= 0xFFFFL; long low = uint32HighLowExpr.getLowExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= low && low <= 0xFFFFL; return (high << 16) | low; }  static @Nonnull LongExprEvaluator instance(); @Override Long visitAsnValue(AsnValue asnValue, Void arg); @Override Long visitDecrementLocalPreference(
      DecrementLocalPreference decrementLocalPreference, Void arg); @Override Long visitDecrementMetric(DecrementMetric decrementMetric, Void arg); @Override Long visitIgpCost(IgpCost igpCost, Void arg); @Override Long visitIncrementLocalPreference(
      IncrementLocalPreference incrementLocalPreference, Void arg); @Override Long visitIncrementMetric(IncrementMetric incrementMetric, Void arg); @Override Long visitLiteralLong(LiteralLong literalLong, Void arg); @Override Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr); @Override Long visitVarLong(VarLong varLong, Void arg); }
LongExprEvaluator implements LongExprVisitor<Long, Void> { @Override public Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr) { long high = uint32HighLowExpr.getHighExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= high && high <= 0xFFFFL; long low = uint32HighLowExpr.getLowExpr().accept(IntExprEvaluator.instance(), null); assert 0L <= low && low <= 0xFFFFL; return (high << 16) | low; }  static @Nonnull LongExprEvaluator instance(); @Override Long visitAsnValue(AsnValue asnValue, Void arg); @Override Long visitDecrementLocalPreference(
      DecrementLocalPreference decrementLocalPreference, Void arg); @Override Long visitDecrementMetric(DecrementMetric decrementMetric, Void arg); @Override Long visitIgpCost(IgpCost igpCost, Void arg); @Override Long visitIncrementLocalPreference(
      IncrementLocalPreference incrementLocalPreference, Void arg); @Override Long visitIncrementMetric(IncrementMetric incrementMetric, Void arg); @Override Long visitLiteralLong(LiteralLong literalLong, Void arg); @Override Long visitUint32HighLowExpr(Uint32HighLowExpr uint32HighLowExpr); @Override Long visitVarLong(VarLong varLong, Void arg);  }