@@ -78,40 +78,41 @@ internal class ContributionTransformer(
7878 */
7979 private val contributionsByClass = mutableMapOf<ClassId , Map <ClassId , Set <Contribution >>>()
8080
81- override fun visitClass (declaration : IrClass , data : IrContributionData ): IrStatement {
82- // TODO others?
83- val shouldSkip = declaration.isLocal
84- if (shouldSkip) {
85- return declaration
86- }
81+ override fun visitClass (declaration : IrClass , data : IrContributionData ): IrStatement =
82+ trace(" Visit ${declaration.name} " ) {
83+ // TODO others?
84+ val shouldSkip = declaration.isLocal
85+ if (shouldSkip) {
86+ return @trace declaration
87+ }
8788
88- trace(" Transform ${declaration.name} bindings" ) {
89- val isBindingContainer by memoize { declaration.isBindingContainer() }
89+ trace(" Transform ${declaration.name} bindings" ) {
90+ val isBindingContainer by memoize { declaration.isBindingContainer() }
9091
91- // First, perform transformations
92- if (declaration.origin == Origins .MetroContributionClassDeclaration ) {
93- trace(" Transform and collect contribution" ) {
94- val metroContributionAnno =
95- declaration.findAnnotations(Symbols .ClassIds .metroContribution).first()
96- val scope = metroContributionAnno.requireScope()
97- trace(" Transform class" ) { transformContributionClass(declaration, scope) }
98- trace(" Collect contribution data" ) {
99- collectContributionDataFromContribution(declaration, data, scope, isBindingContainer)
92+ // First, perform transformations
93+ if (declaration.origin == Origins .MetroContributionClassDeclaration ) {
94+ trace(" Transform and collect contribution" ) {
95+ val metroContributionAnno =
96+ declaration.findAnnotations(Symbols .ClassIds .metroContribution).first()
97+ val scope = metroContributionAnno.requireScope()
98+ trace(" Transform class" ) { transformContributionClass(declaration, scope) }
99+ trace(" Collect contribution data" ) {
100+ collectContributionDataFromContribution(declaration, data, scope, isBindingContainer)
101+ }
102+ }
103+ } else if (
104+ declaration.isAnnotatedWithAny(context.metroSymbols.classIds.graphLikeAnnotations)
105+ ) {
106+ trace(" Transform graphlike" ) { transformGraphLike(declaration) }
107+ } else if (isBindingContainer) {
108+ trace(" Collect contributions from container" ) {
109+ collectContributionDataFromContainer(declaration, data)
100110 }
101- }
102- } else if (
103- declaration.isAnnotatedWithAny(context.metroSymbols.classIds.graphLikeAnnotations)
104- ) {
105- trace(" Transform graphlike" ) { transformGraphLike(declaration) }
106- } else if (isBindingContainer) {
107- trace(" Collect contributions from container" ) {
108- collectContributionDataFromContainer(declaration, data)
109111 }
110112 }
111- }
112113
113- return super .visitClass(declaration, data)
114- }
114+ return @trace super .visitClass(declaration, data)
115+ }
115116
116117 private fun collectContributionDataFromContribution (
117118 declaration : IrClass ,
0 commit comments