ProgramPoint { public ProgramPoint next() { int nextPP = this.i + 1; return new ProgramPoint(block, nextPP); } ProgramPoint(CFG.IBlock<?> block); private  ProgramPoint(CFG.IBlock<?> block, int i); ProgramPoint next(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); Tree syntaxTree(); final CFG.IBlock<?> block; final int i; }
@Test void test_to_string_method() throws Exception { CFG cfg = CFGTestUtils.buildCFG("void foo() {foo();}"); ProgramPoint pp = new ProgramPoint(cfg.blocks().get(0)); assertThat(pp).hasToString("B1.0 IDENTIFIER1"); pp = pp.next().next(); assertThat(pp).hasToString("B1.2 "); }