public override void ExitVodll([NotNull] XSharpParser.VodllContext context)
 {
     if (context.Ordinal != null)
     {
         _parseErrors.Add(new ParseErrorData(context, ErrorCode.ERR_InvalidDLLEntryPoint,
                                             "A numeric entrypoint (" + context.Ordinal.Text.Substring(1) + ") is not supported in .Net"));
     }
     if (context.Address != null || context.Number != null)
     {
         if (context.Address == null || context.Number == null)
         {
             _parseErrors.Add(new ParseErrorData(context, ErrorCode.ERR_InvalidDLLEntryPoint, "Both the @ sign and the number must be specified"));
         }
         else if (context.Address.StartIndex > context.Entrypoint.stop.StopIndex + 1 ||
                  context.Number.StartIndex > context.Address.StopIndex + 1)
         {
             _parseErrors.Add(new ParseErrorData(context, ErrorCode.ERR_InvalidDLLEntryPoint, "No spaces allowed in entrypoint name"));
         }
     }
     if (context.CharSet != null)
     {
         var text = context.CharSet.Text.ToUpper();
         if (text != "AUTO" && text != "ANSI" && text != "UNICODE")
         {
             _parseErrors.Add(new ParseErrorData(context, ErrorCode.ERR_UnexpectedToken, context.CharSet.Text));
         }
     }
 }
        public override void EnterVodll([NotNull] XSharpParser.VodllContext context)
        {
            var         tokens    = context.Modifiers?._Tokens;
            XTypeMember newMethod = new XTypeMember(context.ShortName,
                                                    Kind.VODLL,
                                                    decodeModifiers(tokens),
                                                    decodeVisibility(tokens),
                                                    new TextRange(context), new TextInterval(context),
                                                    context.ReturnType == null ? "Void" : context.ReturnType.GetText(),
                                                    isStatic(tokens));

            //
            addParameters(context.Params, newMethod);
            addGlobalMember(newMethod);
        }
 public override void ExitVodll([NotNull] XSharpParser.VodllContext context)
 {
     endMember(context);
 }