blob: 95926c099ccba8a4f65f60ecbfb9eb4488c8db18 (
plain)
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
|
package bjc.rgens.parser;
import java.util.List;
import bjc.rgens.parser.elements.CaseElement;
import bjc.utils.funcdata.IList;
/**
* A rule case that inserts spaces in between elements, where appropriate.
*
* @author Ben Culkin
*/
public class NormalRuleCase extends RuleCase {
/**
* Create a new normal rule case.
*
* @param elms
* The elements of this case.
*/
public NormalRuleCase(List<CaseElement> elms) {
super(elms);
}
@Override
public void generate(GenerationState state) {
for(CaseElement elm : elementList) {
elm.generate(state);
if(elm.spacing) {
state.appendContents(" ");
}
}
}
/**
* Create a new normal rule case.
*
* @param elms
* The elements of this case.
*
* @return A normal rule case with those elements.
*/
public NormalRuleCase withElements(List<CaseElement> elms) {
return new NormalRuleCase(elms);
}
}
|