public override ITypeDeclaration Transform(ITypeDeclaration itd) { analysis = new ChannelAnalysisTransform(); analysis.Context.InputAttributes = context.InputAttributes; analysis.Transform(itd); context.Results = analysis.Context.Results; var itdOut = base.Transform(itd); if (context.trackTransform && debug) { IBlockStatement block = Builder.BlockStmt(); foreach (var entry in analysis.usageInfo) { IVariableDeclaration ivd = entry.Key; var info = entry.Value; block.Statements.Add(Builder.CommentStmt(info.ToString())); } context.OutputAttributes.Add(itdOut, new DebugInfo() { Transform = this, Name = "analysis", Value = block }); } return(itdOut); }
public override ITypeDeclaration Transform(ITypeDeclaration itd) { analysis = new ChannelAnalysisTransform(); analysis.Context.InputAttributes = context.InputAttributes; analysis.Transform(itd); context.Results = analysis.Context.Results; return(base.Transform(itd)); }