Esempio n. 1
0
        public override void EnterDelegate_([NotNull] XSharpParser.Delegate_Context context)
        {
            base.EnterDelegate_(context);
            var newClass = new XCodeTypeDelegate(context.Id.GetCleanText());

            newClass.ReturnType = BuildDataType(context.Type);
            newClass.Parameters.AddRange(GetParametersList(context.ParamList));
            pushCurrentType(newClass);
            addAttributes(newClass, context.Attributes);
            writeTrivia(newClass, context);
            SaveSourceCode(newClass, context);
        }
        // Delegate is strictly a type but handled as a GLobal method because it has parameters
        public override void EnterDelegate_([NotNull] XSharpParser.Delegate_Context context)
        {
            var         tokens    = context.Modifiers?._Tokens;
            XTypeMember newMethod = new XTypeMember(context.Id.GetText(),
                                                    Kind.Delegate,
                                                    decodeModifiers(tokens),
                                                    decodeVisibility(tokens),
                                                    new TextRange(context), new TextInterval(context),
                                                    isStatic(tokens));

            //
            // Todo additional properties ?
            addParameters(context.Params, newMethod);
            addGlobalMember(newMethod);
        }
Esempio n. 3
0
 public override void ExitDelegate_([NotNull] XSharpParser.Delegate_Context context)
 {
     base.ExitDelegate_(context);
     closeType(null);
 }
 public override void ExitDelegate_([NotNull] XSharpParser.Delegate_Context context)
 {
     endMember(context);
 }