package org.eclipse.dltk.tcl.indexing;
import java.io.EOFException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
import org.eclipse.dltk.core.caching.AbstractDataLoader;
import org.eclipse.dltk.tcl.indexing.SpawnpointCollector.SpawnpointInfo;
public class SpawnPointLoader extends AbstractDataLoader {
SpawnpointCollector collector;
public SpawnPointLoader(InputStream input, SpawnpointCollector collector) {
super(input);
this.collector = collector;
}
public void process() throws IOException {
readStrings();
while (true) {
try {
int spawnPointsSize = in.readInt();
for (int i = 0; i < spawnPointsSize; i++) {
int key = in.readInt();
int charEnd = in.readInt();
int charStart = in.readInt();
int cmds = in.readInt();
Set<String> commands = new HashSet<String>();
for (int j = 0; j < cmds; j++) {
String str = readString();
commands.add(str);
}
SpawnpointInfo info = new SpawnpointInfo();
info.commands = commands;
info.charStart = charStart;
info.charEnd = charEnd;
collector.spawnpoints.put(Integer.valueOf(key), info);
}
} catch (EOFException e) {
break;
} catch (IOException e) {
break;
}
}
}
}