Example #1
0
        public override void EnterDestructor([NotNull] XSharpParser.DestructorContext context)
        {
            // Ok, let's "cheat" : We will not analyze the element
            // we will just copy the whole source code in a Snippet Member
            CodeSnippetTypeMember snippet = CreateSnippetMember(context);

            writeTrivia(snippet, context);
            this.CurrentClass.Members.Add(snippet);
        }
 public override void ExitDestructor([NotNull] XSharpParser.DestructorContext context)
 {
     if (context.Modifiers?.EXTERN().Length > 0)
     {
         if (context.StmtBlk?._Stmts?.Count > 0)
         {
             _parseErrors.Add(new ParseErrorData(context.StmtBlk, ErrorCode.ERR_ExternHasBody, "Destructor"));
         }
     }
     if (context.isInInterface())
     {
         _parseErrors.Add(new ParseErrorData(context.d1, ErrorCode.ERR_InterfacesCantContainConstructors));
     }
 }
        public override void EnterDestructor([NotNull] XSharpParser.DestructorContext context)
        {
            var         tokens    = context.Modifiers?._Tokens;
            XTypeMember newMethod = new XTypeMember("Destructor",
                                                    Kind.Destructor,
                                                    decodeModifiers(tokens),
                                                    decodeVisibility(tokens),
                                                    new TextRange(context), new TextInterval(context), "Void",
                                                    false);

            //
            addParameters(context.Params, newMethod);
            addMember(newMethod);
        }
Example #4
0
 public override void EnterDestructor([NotNull] XSharpParser.DestructorContext context)
 => AddMethodInfo("Destructor", GetClassName(context), MethodInfoType.Destructor, context.statementBlock());
 public override void ExitDestructor([NotNull] XSharpParser.DestructorContext context)
 {
     endMember(context);
 }