public override void ExitConstructor([NotNull] XSharpParser.ConstructorContext context)
 {
     if (context.Modifiers?.EXTERN().Length > 0)
     {
         if (context.StmtBlk?._Stmts?.Count > 0)
         {
             _parseErrors.Add(new ParseErrorData(context.StmtBlk, ErrorCode.ERR_ExternHasBody, "Constructor"));
         }
     }
     if (context.isInInterface())
     {
         _parseErrors.Add(new ParseErrorData(context.c1, ErrorCode.ERR_InterfacesCantContainConstructors));
     }
 }
        public override void EnterConstructor([NotNull] XSharpParser.ConstructorContext context)
        {
            var         tokens    = context.Modifiers?._Tokens;
            XTypeMember newMethod = new XTypeMember("Constructor",
                                                    Kind.Constructor,
                                                    decodeModifiers(tokens),
                                                    decodeVisibility(tokens),
                                                    new TextRange(context), new TextInterval(context),
                                                    isStatic(tokens));

            //
            addParameters(context.Params, newMethod);
            addMember(newMethod);
        }
Exemple #3
0
        public override void EnterConstructor([NotNull] XSharpParser.ConstructorContext context)
        {
            var ctor = new XCodeConstructor();

            writeTrivia(ctor, context);
            ctor.Attributes = MemberAttributes.Public;
            ctor.Parameters.AddRange(GetParametersList(context.ParamList));
            if (context.Modifiers != null)
            {
                ctor.Attributes = ContextToConstructorModifiers(context.Modifiers);
            }
            FillCodeDomDesignerData(ctor, context.Start.Line, context.Start.Column);
            SaveSourceCode(ctor, context);
            // write original source for the attributes
            AddMemberAttributes(ctor, ctor.Attributes, context.Modifiers);
            this.CurrentType.Members.Add(ctor);
        }
Exemple #4
0
        public override void EnterConstructor([NotNull] XSharpParser.ConstructorContext context)
        {
            var ctor = new XCodeConstructor();

            writeTrivia(ctor, context);
            FillCodeDomDesignerData(ctor, context.Start.Line, context.Start.Column);
            ctor.Attributes = MemberAttributes.Public;
            ctor.Parameters.AddRange(GetParametersList(context.ParamList));
            //
            if (context.Modifiers != null)
            {
                // Get standard Visibilities
                ctor.Attributes = ContextToConstructorModifiers(context.Modifiers);
                if (context.Modifiers.STATIC().Length > 0)
                {
                    ctor.Attributes |= MemberAttributes.Static;
                }
            }
            FillCodeSource(ctor, context, _tokens);
            this.CurrentClass.Members.Add(ctor);
        }
 public override void EnterConstructor([NotNull] XSharpParser.ConstructorContext context)
 => AddMethodInfo("Constructor", GetClassName(context), MethodInfoType.Constructor, context.statementBlock());
 public override void ExitConstructor([NotNull] XSharpParser.ConstructorContext context)
 {
     endMember(context);
 }