1 package org.simantics.graph.compiler.internal.store;
\r
3 import gnu.trove.map.hash.TIntIntHashMap;
\r
5 import java.util.ArrayList;
\r
6 import java.util.List;
\r
8 import org.simantics.graph.compiler.SourceInfo;
\r
9 import org.simantics.graph.compiler.SourceInfo.DefinitionPosition;
\r
10 import org.simantics.graph.compiler.SourceInfo.SourceFile;
\r
11 import org.simantics.graph.compiler.SourceInfo.Variable;
\r
12 import org.simantics.graph.store.IStore;
\r
14 public class VariableStore implements IStore {
\r
16 public List<SourceFile> sourceFiles = new ArrayList<SourceFile>();
\r
19 public void map(TIntIntHashMap map) {
\r
20 for(SourceFile file : sourceFiles) {
\r
21 for(Variable variable : file.variables)
\r
22 if(map.contains(variable.resource))
\r
23 variable.resource = map.get(variable.resource);
\r
24 for(DefinitionPosition pos : file.definitionPositions)
\r
25 if(map.contains(pos.resource))
\r
26 pos.resource = map.get(pos.resource);
\r
30 public SourceInfo getSourceInfo() {
\r
31 return new SourceInfo(sourceFiles);
\r
34 public void addSourceFile(SourceFile sourceFile) {
\r
35 sourceFiles.add(sourceFile);
\r