Walks a class AST node but only those areas relevant to definition. TODO: Move to a separate project, this is specific to ScriptSharp.
Inheritance: Rosetta.AST.ClassASTWalker
        /// <summary>
        ///
        /// </summary>
        /// <param name="node"></param>
        /// <remarks>
        /// This will cause an AST walker to be created, thus we don't need to go further deeper in the
        /// tree by visiting the node.
        /// </remarks>
        public override void VisitClassDeclaration(ClassDeclarationSyntax node)
        {
            var classDefinitionWalker = ClassDefinitionASTWalker.Create(node, this.CreateWalkingContext(), this.semanticModel);
            var translationUnit       = classDefinitionWalker.Walk();

            this.module.AddClass(translationUnit);

            this.InvokeClassDeclarationVisited(this, new WalkerEventArgs());
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="node"></param>
        /// <remarks>
        /// This will cause an AST walker to be created, thus we don't need to go further deeper in the
        /// tree by visiting the node.
        /// </remarks>
        public override void VisitClassDeclaration(ClassDeclarationSyntax node)
        {
            var classDefinitionWalker = ClassDefinitionASTWalker.Create(node, this.CreateWalkingContext(), this.semanticModel);

            classDefinitionWalker.Logger = this.Logger;

            var translationUnit = classDefinitionWalker.Walk();

            this.program.AddContent(translationUnit);

            this.LogVisitClassDeclaration(node); // Logging

            this.InvokeClassDeclarationVisited(this, new WalkerEventArgs());
        }
Beispiel #3
0
 /// <summary>
 /// Copy initializes a new instance of the <see cref="ClassDefinitionASTWalker"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public ClassDefinitionASTWalker(ClassDefinitionASTWalker other)
     : base(other)
 {
     this.generateTranslationUniOnProtectedMembers = other.generateTranslationUniOnProtectedMembers;
 }
 /// <summary>
 /// Copy initializes a new instance of the <see cref="ClassDefinitionASTWalker"/> class.
 /// </summary>
 /// <param name="other"></param>
 /// <remarks>
 /// For testability.
 /// </remarks>
 public ClassDefinitionASTWalker(ClassDefinitionASTWalker other)
     : base(other)
 {
     this.generateTranslationUniOnProtectedMembers = other.generateTranslationUniOnProtectedMembers;
 }