fix serialization issue

This commit is contained in:
2021-01-02 17:02:05 +01:00
parent a51f922ea4
commit bfbc40c282
11 changed files with 33 additions and 66 deletions

View File

@ -41,9 +41,6 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder {
/** The Constant TIME_RES. */
private static final Long TIME_RES = 1000L; // ps
/** The db. */
private IWaveformDb db;
/** The module stack. */
private ArrayDeque<String> moduleStack;
@ -72,7 +69,6 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder {
@Override
public boolean load(IWaveformDb db, File file) throws InputFormatException {
if(file.isDirectory() || !file.exists()) return false;
this.db=db;
this.maxTime=0;
boolean res = false;
try {
@ -159,10 +155,10 @@ public class VCDDbLoader implements IWaveformDbLoader, IVCDDatabaseBuilder {
String netName = moduleStack.isEmpty()? name: moduleStack.peek()+"."+name;
int id = signals.size();
if(width==0) {
signals.add( i<0 ? new VCDSignal<DoubleVal>(db, id, netName, width) :
signals.add( i<0 ? new VCDSignal<DoubleVal>(id, netName, width) :
new VCDSignal<DoubleVal>((VCDSignal<DoubleVal>)signals.get(i), id, netName));
} else if(width>0){
signals.add( i<0 ? new VCDSignal<BitVector>(db, id, netName, width) :
signals.add( i<0 ? new VCDSignal<BitVector>(id, netName, width) :
new VCDSignal<BitVector>((VCDSignal<BitVector>)signals.get(i), id, netName));
}
return id;

View File

@ -28,21 +28,18 @@ public class VCDSignal<T extends IEvent> extends HierNode implements IWaveform {
private final int width;
private IWaveformDb db;
private NavigableMap<Long, IEvent[]> values;
public VCDSignal(IWaveformDb db, String name) {
this(db, 0, name, 1);
public VCDSignal(String name) {
this(0, name, 1);
}
public VCDSignal(IWaveformDb db, int id, String name) {
this(db, id,name,1);
public VCDSignal(int id, String name) {
this(id,name,1);
}
public VCDSignal(IWaveformDb db, int id, String name, int width) {
public VCDSignal(int id, String name, int width) {
super(name);
this.db=db;
fullName=name;
this.id=id;
this.width=width;
@ -55,7 +52,6 @@ public class VCDSignal<T extends IEvent> extends HierNode implements IWaveform {
this.id=id;
this.width=o.width;
this.values=o.values;
this.db=o.getDb();
}
@Override
@ -72,11 +68,6 @@ public class VCDSignal<T extends IEvent> extends HierNode implements IWaveform {
return id;
}
@Override
public IWaveformDb getDb() {
return db;
}
public void addSignalChange(Long time, T value){
if(values.containsKey(time)) {
IEvent[] oldV = values.get(time);