]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/internal/parsing/parser/SCLBlockParser.java
Merge "Small improvements to statement collision reporting."
[simantics/platform.git] / bundles / org.simantics.scl.compiler / src / org / simantics / scl / compiler / internal / parsing / 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