-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathStateRefinementErrorDTO.java
More file actions
19 lines (16 loc) · 988 Bytes
/
StateRefinementErrorDTO.java
File metadata and controls
19 lines (16 loc) · 988 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package dtos.errors;
import dtos.diagnostics.SourcePositionDTO;
import dtos.diagnostics.TranslationTableDTO;
import liquidjava.diagnostics.errors.StateRefinementError;
import liquidjava.rj_language.opt.derivation_node.ValDerivationNode;
/**
* DTO for serializing StateRefinementError instances to JSON
*/
public record StateRefinementErrorDTO(String category, String type, String title, String message, String file, SourcePositionDTO position,
TranslationTableDTO translationTable, ValDerivationNode expected, ValDerivationNode found, String customMessage) {
public static StateRefinementErrorDTO from(StateRefinementError error) {
return new StateRefinementErrorDTO("error", "state-refinement-error", error.getTitle(), error.getMessage(), error.getFile(),
SourcePositionDTO.from(error.getPosition()), TranslationTableDTO.from(error.getTranslationTable()), error.getExpected(),
error.getFound(), error.getCustomMessage());
}
}