示例#1
0
        public override void EnterOperator_([NotNull] XSharpParser.Operator_Context 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 ExitOperator_([NotNull] XSharpParser.Operator_Context context)
 {
     if (context.Modifiers?.EXTERN().Length > 0)
     {
         if (context.StmtBlk?._Stmts?.Count > 0)
         {
             _parseErrors.Add(new ParseErrorData(context.StmtBlk, ErrorCode.ERR_ExternHasBody, "Operator"));
         }
     }
 }
        public override void EnterOperator_([NotNull] XSharpParser.Operator_Context context)
        {
            var         tokens    = context.Modifiers?._Tokens;
            XTypeMember newMethod = new XTypeMember(context.ShortName,
                                                    Kind.Operator,
                                                    decodeModifiers(tokens),
                                                    decodeVisibility(tokens),
                                                    new TextRange(context), new TextInterval(context),
                                                    context.ReturnType == null ? "Void" : context.ReturnType.GetText(),
                                                    isStatic(tokens));

            //
            addParameters(context.Params, newMethod);
            addMember(newMethod);
        }
示例#4
0
 public override void EnterOperator_([NotNull] XSharpParser.Operator_Context context)
 => AddMethodInfo("Operator", GetClassName(context), MethodInfoType.Operator, context.statementBlock());
示例#5
0
 public override void ExitOperator_([NotNull] XSharpParser.Operator_Context context)
 {
     TagRegion(context, context.ChildCount - 2);
 }
 public override void ExitOperator_([NotNull] XSharpParser.Operator_Context context)
 {
     endMember(context);
 }