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); }
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); }