Commit a5de8215 authored by Kunshan Wang's avatar Kunshan Wang

WIP: bundle serialiser

parent 2cd61152
package uvm.ir.textoutput
import uvm.GlobalBundle
import scala.collection.immutable.Set
import uvm.Identified
import java.io.Writer
import java.io.PrintWriter
import java.io.BufferedWriter
class BundleSerializer(val bundle: GlobalBundle, val writeList: Option[Set[Int]]) {
def filter(id: Int): Boolean = {
writeList match {
case None => true
case Some(s) => s.contains(id)
}
}
def filter(obj: Identified): Boolean = {
filter(obj.id)
}
def getName(obj: Identified): String = {
obj.name.getOrElse("@uvm.unnamed" + obj.id.toString())
}
def writeIDNameMap(output: Writer): Unit = {
val bw = new BufferedWriter(output)
for (obj <- bundle.allNs.all if filter(obj)) {
val name = getName(obj)
bw.write("%s %d\n".format(name, obj.id))
}
}
def writeUIR(output: Writer): Unit = {
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment