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