MCPcopy Index your code
hub / github.com/airlift/bytecode / LineNumberNode

Class LineNumberNode

src/main/java/io/airlift/bytecode/debug/LineNumberNode.java:27–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25import static com.google.common.base.MoreObjects.toStringHelper;
26
27public class LineNumberNode
28 implements DebugNode
29{
30 private final int lineNumber;
31 private final LabelNode label = new LabelNode();
32
33 public LineNumberNode(int lineNumber)
34 {
35 this.lineNumber = lineNumber;
36 }
37
38 @Override
39 public void accept(MethodVisitor visitor, MethodGenerationContext generationContext)
40 {
41 if (generationContext.updateLineNumber(lineNumber)) {
42 label.accept(visitor, generationContext);
43 visitor.visitLineNumber(lineNumber, label.getLabel());
44 }
45 }
46
47 public int getLineNumber()
48 {
49 return lineNumber;
50 }
51
52 @Override
53 public String toString()
54 {
55 return toStringHelper(this)
56 .add("line", lineNumber)
57 .toString();
58 }
59
60 @Override
61 public List<BytecodeNode> getChildNodes()
62 {
63 return ImmutableList.of();
64 }
65
66 @Override
67 public <T> T accept(BytecodeNode parent, BytecodeVisitor<T> visitor)
68 {
69 return visitor.visitLineNumber(parent, this);
70 }
71}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected