blob: 722b7c78447a32f4c6e01e1928444a09e8807de1 (
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
31
|
// SPDX-License-Identifier: Apache-2.0
package logger.phases
import firrtl.AnnotationSeq
import firrtl.options.Phase
import logger.{LogLevelAnnotation, LoggerOption}
/** Add default logger [[Annotation]]s */
private[logger] class AddDefaults extends Phase {
override def prerequisites = Seq.empty
override def optionalPrerequisiteOf = Seq.empty
override def invalidates(a: Phase) = false
/** 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())
}
}
|