Class LineNumberCalculator
java.lang.Object
org.ek9lang.cli.LineNumberCalculator
Calculates line number translations between buffer indices and actual source lines.
Buffer indices are 1-based and refer to user-entered lines only.
Actual line numbers include boilerplate (module header, section declarations).
Source structure:
Line 1: #!ek9 Line 2: defines module repl Line 3: (blank) Line 4+: Section headers and content
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintactualToBuffer(int actualLineNumber) Convert an actual source line number to buffer index.intbufferToActual(int bufferIndex) Convert a buffer index (1-based user line) to actual source line number.
-
Constructor Details
-
LineNumberCalculator
-
-
Method Details
-
bufferToActual
public int bufferToActual(int bufferIndex) Convert a buffer index (1-based user line) to actual source line number.- Parameters:
bufferIndex- The 1-based buffer index- Returns:
- The actual line number, or -1 if not found
-
actualToBuffer
public int actualToBuffer(int actualLineNumber) Convert an actual source line number to buffer index.- Parameters:
actualLineNumber- The actual line number in assembled source- Returns:
- The buffer index, or -1 if not a user line
-