diff options
| author | Andrew Waterman | 2015-08-13 16:12:35 -0700 |
|---|---|---|
| committer | Andrew Waterman | 2015-08-13 16:13:01 -0700 |
| commit | f676dffc8766ce3d4df390b7c0802ab5b60385a8 (patch) | |
| tree | 907bbcfdf6b80c0214e98207e3f624b912815c1f /src | |
| parent | ad96b03f84d0182f5e74f11117331d69752ea0a0 (diff) | |
Tighten permissions on some classes & members
Diffstat (limited to 'src')
| -rw-r--r-- | src/main/scala/Chisel/Builder.scala | 19 | ||||
| -rw-r--r-- | src/main/scala/Chisel/Core.scala | 12 | ||||
| -rw-r--r-- | src/main/scala/Chisel/Emitter.scala | 2 |
3 files changed, 16 insertions, 17 deletions
diff --git a/src/main/scala/Chisel/Builder.scala b/src/main/scala/Chisel/Builder.scala index 0d25b177..3a6db75e 100644 --- a/src/main/scala/Chisel/Builder.scala +++ b/src/main/scala/Chisel/Builder.scala @@ -36,27 +36,26 @@ private class IdGen { private[Chisel] trait HasId { private[Chisel] val _id = Builder.idGen.next - def setRef() = Builder.globalRefMap.setRef(this, s"T_${_id}") - def setRef(imm: Immediate) = Builder.globalRefMap.setRef(this, imm) - def setRef(name: String) = Builder.globalRefMap.setRef(this, name) - def setRef(parent: HasId, name: String) = Builder.globalRefMap.setField(parent, this, name) - def setRef(parent: HasId, index: Int) = Builder.globalRefMap.setIndex(parent, this, index) + private[Chisel] def setRef() = Builder.globalRefMap.setRef(this, s"T_${_id}") + private[Chisel] def setRef(imm: Immediate) = Builder.globalRefMap.setRef(this, imm) + private[Chisel] def setRef(name: String) = Builder.globalRefMap.setRef(this, name) + private[Chisel] def setRef(parent: HasId, name: String) = Builder.globalRefMap.setField(parent, this, name) + private[Chisel] def setRef(parent: HasId, index: Int) = Builder.globalRefMap.setIndex(parent, this, index) } class RefMap { private val _refmap = new HashMap[Long,Immediate]() - def setRef(id: HasId, ref: Immediate): Unit = + private[Chisel] def setRef(id: HasId, ref: Immediate): Unit = _refmap(id._id) = ref - def setRef(id: HasId, name: String): Unit = + private[Chisel] def setRef(id: HasId, name: String): Unit = if (!_refmap.contains(id._id)) setRef(id, Ref(name)) - def setField(parentid: HasId, id: HasId, name: String): Unit = { + private[Chisel] def setField(parentid: HasId, id: HasId, name: String): Unit = _refmap(id._id) = Slot(Alias(parentid), name) - } - def setIndex(parentid: HasId, id: HasId, index: Int): Unit = + private[Chisel] def setIndex(parentid: HasId, id: HasId, index: Int): Unit = _refmap(id._id) = Index(Alias(parentid), index) def apply(id: HasId): Immediate = _refmap(id._id) diff --git a/src/main/scala/Chisel/Core.scala b/src/main/scala/Chisel/Core.scala index 178eed0f..d89a4557 100644 --- a/src/main/scala/Chisel/Core.scala +++ b/src/main/scala/Chisel/Core.scala @@ -6,7 +6,7 @@ import Builder.pushOp import Builder.dynamicContext import PrimOp._ -object Literal { +private object Literal { def sizeof(x: BigInt): Int = x.bitLength def decodeBase(base: Char): Int = base match { @@ -138,7 +138,7 @@ object Mem { } } -class Mem[T <: Data](t: T, val length: Int) extends Aggregate(NO_DIR) with VecLike[T] { +sealed class Mem[T <: Data](t: T, val length: Int) extends Aggregate(NO_DIR) with VecLike[T] { def apply(idx: Int): T = apply(UInt(idx)) def apply(idx: UInt): T = { val x = t.cloneType @@ -165,7 +165,7 @@ object SeqMem { } // For now, implement SeqMem in terms of Mem -class SeqMem[T <: Data](t: T, n: Int) { +sealed class SeqMem[T <: Data](t: T, n: Int) { private val mem = Mem(t, n) def read(addr: UInt): T = mem.read(Reg(next = addr)) @@ -197,12 +197,12 @@ object Vec { apply(gen, n) } -abstract class Aggregate(dirArg: Direction) extends Data(dirArg) { +sealed abstract class Aggregate(dirArg: Direction) extends Data(dirArg) { def cloneTypeWidth(width: Width): this.type = cloneType def width: Width = flatten.map(_.width).reduce(_ + _) } -class Vec[T <: Data](gen: => T, val length: Int) +sealed class Vec[T <: Data](gen: => T, val length: Int) extends Aggregate(gen.dir) with VecLike[T] { private val self = IndexedSeq.fill(length)(gen) @@ -303,7 +303,7 @@ object BitPat { } } -class BitPat(val value: BigInt, val mask: BigInt, width: Int) { +sealed class BitPat(val value: BigInt, val mask: BigInt, width: Int) { def getWidth: Int = width def === (other: UInt): Bool = UInt(value) === (other & UInt(mask)) def != (other: UInt): Bool = !(this === other) diff --git a/src/main/scala/Chisel/Emitter.scala b/src/main/scala/Chisel/Emitter.scala index 0e75c9a9..2fbb5d22 100644 --- a/src/main/scala/Chisel/Emitter.scala +++ b/src/main/scala/Chisel/Emitter.scala @@ -1,6 +1,6 @@ package Chisel -class Emitter(circuit: Circuit) { +private class Emitter(circuit: Circuit) { override def toString = res.toString def join(parts: Seq[String], sep: String): StringBuilder = |
