]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - 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
diff --git a/bundles/org.simantics.graph.compiler/src/org/simantics/graph/compiler/SourceInfo.java b/bundles/org.simantics.graph.compiler/src/org/simantics/graph/compiler/SourceInfo.java
new file mode 100644 (file)
index 0000000..43381c3
--- /dev/null
@@ -0,0 +1,54 @@
+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