blob: a77acca686b3ae530ee0e77ba566d25c8159f4e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
// See LICENSE for license details.
package logger.phases
import firrtl.AnnotationSeq
import firrtl.options.{Phase, PreservesAll}
import logger.{LoggerOption, LogLevelAnnotation}
/** Add default logger [[Annotation]]s */
private [logger] class AddDefaults extends Phase with PreservesAll[Phase] {
override def prerequisites = Seq.empty
override def dependents = Seq.empty
/** Add missing default [[Logger]] [[Annotation]]s to an [[AnnotationSeq]]
* @param annotations input annotations
* @return output annotations with defaults
*/
def transform(annotations: AnnotationSeq): AnnotationSeq = {
var ll = true
annotations.collect{ case a: LoggerOption => a }.map{
case _: LogLevelAnnotation => ll = false
case _ =>
}
annotations ++
(if (ll) Seq(LogLevelAnnotation()) else Seq() )
}
}
|