]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.graph.compiler/src/org/simantics/graph/compiler/SourceInfo.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.graph.compiler / src / org / simantics / graph / compiler / SourceInfo.java
1 package org.simantics.graph.compiler;\r
2 \r
3 import java.util.List;\r
4 \r
5 import org.simantics.databoard.Bindings;\r
6 import org.simantics.databoard.binding.Binding;\r
7 import org.simantics.databoard.serialization.Serializer;\r
8 \r
9 public class SourceInfo {\r
10         public static final Binding BINDING = Bindings.getBindingUnchecked(SourceInfo.class);\r
11         public static final Serializer SERIALIZER = Bindings.getSerializerUnchecked(BINDING);           \r
12         \r
13         public List<SourceFile> sourceFiles;\r
14         \r
15         public static class SourceFile {\r
16                 public String name;\r
17                 public List<Variable> variables;\r
18                 public List<DefinitionPosition> definitionPositions;\r
19                 \r
20                 public SourceFile(String name, List<Variable> variables, List<DefinitionPosition> definitionPositions) {\r
21                         this.name = name;\r
22                         this.variables = variables;\r
23                         this.definitionPositions = definitionPositions;\r
24                 }\r
25         }\r
26         \r
27         public static class Variable {\r
28                 public String name;             \r
29                 public int    resource;\r
30                 \r
31                 public Variable(String name, int resource) {\r
32                         this.name = name;\r
33                         this.resource = resource;\r
34                 }\r
35         }\r
36         \r
37         public static class DefinitionPosition {\r
38                 public int    resource;\r
39                 public int    line;\r
40                 public int    begin;\r
41                 public int    end;\r
42                 \r
43                 public DefinitionPosition(int resource, int line, int begin, int end) {\r
44                         this.resource = resource;\r
45                         this.line = line;\r
46                         this.begin = begin;\r
47                         this.end = end;\r
48                 }\r
49         }\r
50         \r
51         public SourceInfo(List<SourceFile> sourceFiles) {\r
52                 this.sourceFiles = sourceFiles;\r
53         }\r
54 }\r