--- /dev/null
+package org.simantics.graph.compiler;\r
+\r
+import java.util.List;\r
+\r
+import org.simantics.databoard.Bindings;\r
+import org.simantics.databoard.binding.Binding;\r
+import org.simantics.databoard.serialization.Serializer;\r
+\r
+public class SourceInfo {\r
+ public static final Binding BINDING = Bindings.getBindingUnchecked(SourceInfo.class);\r
+ public static final Serializer SERIALIZER = Bindings.getSerializerUnchecked(BINDING); \r
+ \r
+ public List<SourceFile> sourceFiles;\r
+ \r
+ public static class SourceFile {\r
+ public String name;\r
+ public List<Variable> variables;\r
+ public List<DefinitionPosition> definitionPositions;\r
+ \r
+ public SourceFile(String name, List<Variable> variables, List<DefinitionPosition> definitionPositions) {\r
+ this.name = name;\r
+ this.variables = variables;\r
+ this.definitionPositions = definitionPositions;\r
+ }\r
+ }\r
+ \r
+ public static class Variable {\r
+ public String name; \r
+ public int resource;\r
+ \r
+ public Variable(String name, int resource) {\r
+ this.name = name;\r
+ this.resource = resource;\r
+ }\r
+ }\r
+ \r
+ public static class DefinitionPosition {\r
+ public int resource;\r
+ public int line;\r
+ public int begin;\r
+ public int end;\r
+ \r
+ public DefinitionPosition(int resource, int line, int begin, int end) {\r
+ this.resource = resource;\r
+ this.line = line;\r
+ this.begin = begin;\r
+ this.end = end;\r
+ }\r
+ }\r
+ \r
+ public SourceInfo(List<SourceFile> sourceFiles) {\r
+ this.sourceFiles = sourceFiles;\r
+ }\r
+}\r