Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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));
 }