aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/memlib
diff options
context:
space:
mode:
authorchick2019-08-01 09:21:52 -0700
committerchick2019-08-01 10:52:22 -0700
commit54e67889f10b39323fb729808b8cd22b4c832910 (patch)
tree4b5916fe8e6cee619ab5dfc3549bfb625b5b8214 /src/main/scala/firrtl/passes/memlib
parent86d2470d8294a4dba37d33ba021558ba33da4d65 (diff)
Followup to PR #1142
Fixes a threading bug in where lazy reading of file caused a problem for multithreaded access to the that was read. Changes all uses of io.Source to use new API getText getLines getTextResource getLinesResouce Make style to only import FileUtils and not its methods So code is more explicit as e.g. FileUtils.getText()
Diffstat (limited to 'src/main/scala/firrtl/passes/memlib')
-rw-r--r--src/main/scala/firrtl/passes/memlib/YamlUtils.scala3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/passes/memlib/YamlUtils.scala b/src/main/scala/firrtl/passes/memlib/YamlUtils.scala
index eab1fe37..a43adfe2 100644
--- a/src/main/scala/firrtl/passes/memlib/YamlUtils.scala
+++ b/src/main/scala/firrtl/passes/memlib/YamlUtils.scala
@@ -4,6 +4,7 @@ package firrtl.passes
package memlib
import net.jcazevedo.moultingyaml._
import java.io.{CharArrayWriter, File, PrintWriter}
+import firrtl.FileUtils
object CustomYAMLProtocol extends DefaultYamlProtocol {
@@ -23,7 +24,7 @@ case class Config(pin: Pin, source: Source, top: Top)
class YamlFileReader(file: String) {
def parse[A](implicit reader: YamlReader[A]) : Seq[A] = {
if (new File(file).exists) {
- val yamlString = scala.io.Source.fromFile(file).getLines.mkString("\n")
+ val yamlString = FileUtils.getText(file)
yamlString.parseYamls flatMap (x =>
try Some(reader read x)
catch { case e: Exception => None }