Repository navigation
Expand file tree
/
Copy pathWaybrecCursor.java
More file actions
57 lines (30 loc) · 2.04 KB
/
Copy pathWaybrecCursor.java
File metadata and controls
57 lines (30 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package wayic.Waybrec.parser;
import Breccia.parser.plain.BrecciaCursor;
import Breccia.parser.plain.CommandPoint_;
/** A reusable, pull parser of Waybrec as reflected through a cursor.
*/
public class WaybrecCursor extends BrecciaCursor {
public @SuppressWarnings("this-escape") WaybrecCursor() {
final String[] commandPointKeywords = { // Those specific to Waybrec, in lexicographic order.
"thoroughfractum" };
final CommandPoint_<?>[] commandPoints = { // Each at the same index as its keyword above.
basicThoroughfractumDesignator }; // ‘thoroughfractum’
addCommandPointKeywords( commandPointKeywords, commandPoints ); } /*
Why the compiler would here warn of `this-escape` (suppressed above)
is unclear, given that `addCommandPointKeywords` is final. */
//// P r i v a t e ////////////////////////////////////////////////////////////////////////////////////
// ┈┈┈ s t a t e t y p i n g ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
final void thoroughfractumDesignator( ThoroughfractumDesignator p ) {
thoroughfractumDesignator = p; }
private ThoroughfractumDesignator thoroughfractumDesignator;
@SuppressWarnings("this-escape")
private final ThoroughfractumDesignator_ basicThoroughfractumDesignator // [CIC]
= new ThoroughfractumDesignator_( this ).endSet();
final void thoroughfractumDesignatorEnd( ThoroughfractumDesignator.End e ) {
thoroughfractumDesignatorEnd = e; }
private ThoroughfractumDesignator.End thoroughfractumDesignatorEnd; }
// NOTE
// ────
// CIC Cached instance of concrete parse state. See namesake note of parent class.
// http://reluk.ca/project/Breccia/parser/plain/BrecciaCursor.java
// Copyright © 2020-2021, 2024 Michael Allan. Licence MIT.