From 1bb8244574d82e16a1aac784fd490ec857a06ca3 Mon Sep 17 00:00:00 2001 From: stdweird Date: Fri, 18 Aug 2017 21:25:13 +0200 Subject: [PATCH] annotations: add default to annotation for attribute type with a default --- .../pan/parser/PanParserAnnotationUtils.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/panc/src/main/java/org/quattor/pan/parser/PanParserAnnotationUtils.java b/panc/src/main/java/org/quattor/pan/parser/PanParserAnnotationUtils.java index 6e8a48b2..d4df002e 100644 --- a/panc/src/main/java/org/quattor/pan/parser/PanParserAnnotationUtils.java +++ b/panc/src/main/java/org/quattor/pan/parser/PanParserAnnotationUtils.java @@ -18,7 +18,9 @@ import org.quattor.pan.exceptions.EvaluationException; import org.quattor.pan.exceptions.SyntaxException; import org.quattor.pan.exceptions.SystemException; +import org.quattor.pan.dml.Operation; import org.quattor.pan.parser.ASTStatement.StatementType; +import org.quattor.pan.parser.ASTOperation.OperationType; import org.quattor.pan.template.SourceRange; import org.quattor.pan.utils.MessageUtils; import org.quattor.pan.utils.XmlUtils; @@ -189,6 +191,22 @@ private static String getElementInfo(Node ast, AttributesImpl atts) { addAttribute(atts, "extensible", node.isExtensible()); addAttribute(atts, "range", node.getRange()); + } else if (ast instanceof ASTOperation) { + ASTOperation node = (ASTOperation) ast; + if (ast.jjtGetParent() instanceof ASTOperation) { + ASTOperation parent = (ASTOperation) ast.jjtGetParent(); + if (parent.getOperationType() == OperationType.DML && + parent.jjtGetParent() instanceof ASTOperation) { + ASTOperation grandparent = (ASTOperation) parent.jjtGetParent(); + if (grandparent.getOperationType() == OperationType.DEFAULT) { + if (node.getOperation() != null) { + elementName = "default"; + addSourceRangeAttribute(atts, node); + addAttribute(atts, "text", node.getOperation().toString()); + } + } + } + } } return elementName;