aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/javacc/SDParser.jj
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-11-10 12:53:31 +0100
committerJon Bratseth <bratseth@gmail.com>2021-11-10 12:53:31 +0100
commit77a0e3bdc57cb1ea0a9e4c17da55197c95e18947 (patch)
treea1c8814aa56871d986f1ebdf2ed9a82d7228fd0b /config-model/src/main/javacc/SDParser.jj
parent4e36629576deded814f9aa59faa05808a37fd2f2 (diff)
Support struct inheritance
Diffstat (limited to 'config-model/src/main/javacc/SDParser.jj')
-rw-r--r--config-model/src/main/javacc/SDParser.jj9
1 files changed, 4 insertions, 5 deletions
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj
index 07171dea803..d2894442ab9 100644
--- a/config-model/src/main/javacc/SDParser.jj
+++ b/config-model/src/main/javacc/SDParser.jj
@@ -840,14 +840,13 @@ void structOutside(Schema schema) :
SDDocumentType structDefinition(Schema schema, SDDocumentType repo) :
{
String name;
+ String inherited = null;
SDDocumentType struct;
}
{
- <STRUCT> name = identifier()
- {
- struct = new SDDocumentType(name, schema);
- }
- lbrace() (structFieldDefinition(struct) (<NL>)*)* <RBRACE>
+ ( <STRUCT> name = identifier() (<NL>)* { struct = new SDDocumentType(name, schema); }
+ [ inheritsDocument(struct) (<NL>)* ]
+ lbrace() (structFieldDefinition(struct) (<NL>)*)* <RBRACE> )
{
try {
docMan.getDataType(name);