summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/javacc/SDParser.jj
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-01-06 16:02:19 +0100
committerMartin Polden <mpolden@mpolden.no>2020-01-07 10:53:03 +0100
commit3da8510eca78b6672c1875d410bee5dc1852783e (patch)
tree5e9069e91320a5967cd4a9848d0c472c5690f208 /config-model/src/main/javacc/SDParser.jj
parent85b4bec296463e1ff0d2391cfe7ff3f2d24a266a (diff)
Support inheritance in document-summary
Diffstat (limited to 'config-model/src/main/javacc/SDParser.jj')
-rw-r--r--config-model/src/main/javacc/SDParser.jj18
1 files changed, 18 insertions, 0 deletions
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj
index e560d78a116..0e9a47145f2 100644
--- a/config-model/src/main/javacc/SDParser.jj
+++ b/config-model/src/main/javacc/SDParser.jj
@@ -1706,6 +1706,7 @@ Object documentSummary(Search search) :
{
( <DOCUMENTSUMMARY>
name = identifierWithDash() { search.addSummary(summary = new DocumentSummary(name)); }
+ [inheritsDocumentSummary(summary, search)]
lbrace()
(
<FROMDISK> { summary.setFromDisk(true); } |
@@ -1718,6 +1719,23 @@ Object documentSummary(Search search) :
}
/**
+ * This rule consumes an inherits statement of a document summary.
+ *
+ * @param documentSummary The document summary to modify.
+ * @param search The search object documentSummary is being added to.
+ */
+void inheritsDocumentSummary(DocumentSummary documentSummary, Search search) :
+{
+ String name;
+}
+{
+ <INHERITS> name = identifierWithDash()
+ {
+ documentSummary.setInherited(search.getSummaries().get(name));
+ }
+}
+
+/**
* Consumes a single document-summary item.
*
* @param summary The document summary to modify.