|
22 | 22 | import org.key_project.util.collection.ImmutableList; |
23 | 23 |
|
24 | 24 | import java.util.List; |
25 | | -import java.util.Map; |
26 | 25 | import java.util.stream.Collectors; |
27 | 26 |
|
28 | 27 | /** |
@@ -86,25 +85,41 @@ private void print(List<TextualJMLConstruct> spec) { |
86 | 85 | case TextualJMLClassAxiom c -> print(c.getModifiers(), c.getAxiom().first); |
87 | 86 | case TextualJMLClassInv c -> print(c.getModifiers(), c.getInv()); |
88 | 87 | case TextualJMLDepends c -> print(c.getModifiers(), c.getDepends()); |
89 | | - case TextualJMLFieldDecl c -> {} |
| 88 | + case TextualJMLFieldDecl c -> { |
| 89 | + } |
90 | 90 | case TextualJMLInitially c -> print(c.getModifiers(), c.getInv().first); |
91 | 91 | case TextualJMLMergePointDecl c -> print(c.getModifiers(), c.getMergeProc()); |
92 | 92 | case TextualJMLMethodDecl c -> print(c.getModifiers(), c.getDecl()); |
93 | 93 | case TextualJMLModifierList c -> print(c.getModifiers()); |
94 | 94 | case TextualJMLRepresents c -> print(c.getModifiers(), c.getRepresents().first); |
95 | 95 | case TextualJMLSetStatement c -> print(c.getAssignment()); |
96 | | - case TextualJMLSpecCase c -> print(c); |
| 96 | + case TextualJMLSpecCase c -> print(c.getModifiers(), c); |
97 | 97 | default -> throw new IllegalStateException("Unexpected value: " + construct); |
98 | 98 | } |
99 | 99 | } |
100 | 100 | } |
101 | 101 |
|
102 | 102 | private void print(ImmutableList<JMLModifier> modifiers, ImmutableList<LabeledParserRuleContext> depends) { |
103 | | - |
| 103 | + printer.print("\n/*@ "); |
| 104 | + print(modifiers); |
| 105 | + printer.print(" "); |
| 106 | + depends.forEach(it -> print(it.first)); |
| 107 | + printer.print("*/\n"); |
| 108 | + } |
| 109 | + |
| 110 | + private void print(ImmutableList<JMLModifier> modifiers, TextualJMLSpecCase specCase) { |
| 111 | + printer.print("/*@ "); |
| 112 | + print(modifiers); |
| 113 | + printer.print(" "); |
| 114 | + printer.print(specCase.getBehavior().toString()); |
| 115 | + specCase.getClauses().forEach(it -> { |
| 116 | + print(it); |
| 117 | + printer.print("\n"); |
| 118 | + } |
| 119 | + ); |
| 120 | + printer.print("\n*/"); |
104 | 121 | } |
105 | | - private void print(TextualJMLSpecCase c) { |
106 | 122 |
|
107 | | - } |
108 | 123 |
|
109 | 124 | private void print(ImmutableList<JMLModifier> modifiers, @Nullable ParserRuleContext first) { |
110 | 125 | if (first == null) return; |
|
0 commit comments