Exemplo n.º 1
0
        internal static CodeStructureItem MapItem(EventBlockSyntax node)
        {
            var item = CreateItem <EventNode>(node);

            item.AccessModifier = node.EventStatement.Modifiers.GetAccessModifier();
            item.Name           = node.EventStatement.Identifier.Text;

            return(item);
        }
            public override SyntaxNode VisitEventBlock(EventBlockSyntax node)
            {
                if (generator.GetAttributes(node).Any(attr => generator.GetName(attr) == "CompilerGenerated"))
                {
                    return(base.VisitEventBlock(node));
                }

                return(base.VisitEventBlock((EventBlockSyntax)AddAttributes(node)));
            }
Exemplo n.º 3
0
        // カスタムイベント定義
        public override void VisitEventBlock(EventBlockSyntax node)
        {
            var startLength   = node.Span.Start;
            var endLength     = node.Span.End;
            var statementNode = node.ChildNodes().OfType <EventStatementSyntax>().FirstOrDefault();

            WalkEventBlockOrEventStatement(statementNode, startLength, endLength);

            base.VisitEventBlock(node);
        }
Exemplo n.º 4
0
 public override void VisitEventBlock(EventBlockSyntax node)
 {
     AddBlockData(node);
     base.VisitEventBlock(node);
 }
Exemplo n.º 5
0
 public override void VisitEventBlock(EventBlockSyntax node)
 {
     LogicalLineCount++;
     base.VisitEventBlock(node);
 }
Exemplo n.º 6
0
        private Model.Delegate TraverseDelegate(EventBlockSyntax ebs)
        {
            Model.Delegate retDelegate = new Model.Delegate();

            retDelegate.IsEvent = true;

            EventStatementSyntax ess = ebs.EventStatement;

            foreach (SyntaxToken st in ess.Modifiers)
            {
                string modifier = System.Threading.Thread.CurrentThread.CurrentCulture.TextInfo.ToTitleCase(st.ValueText);
                Encapsulation encap;
                if (System.Enum.TryParse<Encapsulation>(modifier, out encap))
                {
                    retDelegate.Encapsulation.Add(encap);
                }
            }

            foreach (AccessorBlockSyntax ass in ebs.Accessors){
                foreach(SyntaxNode sn in ass.ChildNodes())
                {
                    if (sn is MethodBlockSyntax)
                    {
                        bool isConstructor = false;
                        retDelegate.ReferencedMethods.Add(TraverseMethod((sn as MethodBlockSyntax), ref isConstructor));
                    }
                }
            }

            return retDelegate;
        }
Exemplo n.º 7
0
 public override SyntaxNode VisitEventBlock(EventBlockSyntax node)
 {
     return(base.VisitEventBlock(node));
 }