diff options
author | Jon Bratseth <bratseth@gmail.com> | 2021-11-10 12:53:31 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2021-11-10 12:53:31 +0100 |
commit | 77a0e3bdc57cb1ea0a9e4c17da55197c95e18947 (patch) | |
tree | a1c8814aa56871d986f1ebdf2ed9a82d7228fd0b /config-model/src/main/javacc/SDParser.jj | |
parent | 4e36629576deded814f9aa59faa05808a37fd2f2 (diff) |
Support struct inheritance
Diffstat (limited to 'config-model/src/main/javacc/SDParser.jj')
-rw-r--r-- | config-model/src/main/javacc/SDParser.jj | 9 |
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); |