From c085995f4b554237ca98fb04686fdeb402a3cf70 Mon Sep 17 00:00:00 2001 From: Johannes Mey <johannes.mey@tu-dresden.de> Date: Thu, 27 Aug 2020 23:12:50 +0200 Subject: [PATCH] add accessors --- Navigation.jrag | 25 +++++++++++++++++++++++-- Printing.jrag | 2 +- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/Navigation.jrag b/Navigation.jrag index 4d9f923..c481f77 100644 --- a/Navigation.jrag +++ b/Navigation.jrag @@ -1,6 +1,27 @@ aspect Navigation { - syn boolean Element.isComplex() = false; - eq ComplexElement.isComplex() = true; + syn boolean Element.isComplexElement() = false; + eq ComplexElement.isComplexElement() = true; + + syn ComplexElement Element.asComplexElement() = null; + eq ComplexElement.asComplexElement() = this; + + syn boolean Element.isMappingElement() = false; + eq MappingElement.isMappingElement() = true; + + syn MappingElement Element.asMappingElement() = null; + eq MappingElement.asMappingElement() = this; + + syn boolean Element.isListElement() = false; + eq ListElement.isListElement() = true; + + syn ListElement Element.asListElement() = null; + eq ListElement.asListElement() = this; + + syn boolean Element.isSimpleElement() = false; + eq SimpleElement.isSimpleElement() = true; + + syn SimpleElement Element.asSimpleElement() = null; + eq SimpleElement.asSimpleElement() = this; syn boolean Element.isEmpty() = false; eq MappingElement.isEmpty() = getNumKeyValuePair() == 0; diff --git a/Printing.jrag b/Printing.jrag index 856e42a..2b93aa2 100644 --- a/Printing.jrag +++ b/Printing.jrag @@ -60,7 +60,7 @@ aspect Printing { protected StringBuilder KeyValuePair.prettyPrint(StringBuilder sb, boolean printIndent, String indent) { if (printIndent) sb.append(indent); sb.append(getKey()).append(":"); - if (getValue().isComplex() && !getValue().isEmpty()) { + if (getValue().isComplexElement() && !getValue().isEmpty()) { sb.append("\n"); getValue().prettyPrint(sb, true, indent + PRINT_INDENT); } else { -- GitLab