]> gerrit.simantics Code Review - simantics/platform.git/blob - parser/SCLBlockParser.java
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / parser / SCLBlockParser.java
1 package org.simantics.scl.compiler.internal.parsing.parser;\r
2 \r
3 import java.io.Reader;\r
4 import java.util.ArrayList;\r
5 \r
6 import org.simantics.scl.compiler.elaboration.expressions.EBlock;\r
7 import org.simantics.scl.compiler.elaboration.expressions.block.Statement;\r
8 import org.simantics.scl.compiler.module.ImportDeclaration;\r
9 \r
10 public class SCLBlockParser extends SCLParserImpl {\r
11 \r
12     public final ArrayList<ImportDeclaration> imports = new ArrayList<ImportDeclaration>(2);\r
13     public final EBlock block = new EBlock();\r
14     \r
15     public SCLBlockParser(Reader reader) {\r
16         super(reader);\r
17     }\r
18     \r
19     @Override\r
20     protected Object reduceStatementCommand() {\r
21         Statement statement = (Statement)get(0);\r
22         block.addStatement(statement);\r
23         return null;\r
24     }\r
25     \r
26     @Override\r
27     protected Object reduceImportCommand() {\r
28         ImportDeclaration importDeclaration = (ImportDeclaration)get(0);\r
29         imports.add(importDeclaration);\r
30         return null;\r
31     }\r
32 \r
33 }\r