示例#1
0
        public override void EnterInterface_([NotNull] XSharpParser.Interface_Context context)
        {
            base.EnterInterface_(context);
            XCodeTypeDeclaration newClass = new XCodeTypeDeclaration(context.Id.GetCleanText());

            newClass.IsInterface = true;

            pushCurrentType(newClass);
            addAttributes(newClass, context.Attributes);
            writeTrivia(newClass, context);

            ContextToTypeModifiers(newClass, context.Modifiers);
            ContextToTypeAttributes(newClass, context.Modifiers);

            // Interfaces
            addInterfaces(newClass, context._Parents);
            //
            // Add the variables from this class to the Members collection and lookup table
            ClearMembers();
            addFields(newClass, context);
            SaveSourceCode(newClass, context);
        }
        public override void EnterInterface_([NotNull] XSharpParser.Interface_Context context)
        {
            var   tokens = context.Modifiers?._Tokens;
            XType newIf  = new XType(context.Id.GetText(),
                                     Kind.Interface,
                                     decodeModifiers(tokens),
                                     decodeVisibility(tokens),
                                     new TextRange(context), new TextInterval(context));

            //

            newIf.NameSpace = decodeNamespace(context.Namespace, currentNamespace);

            // and push into the current Namespace
            //CurrentNamespace.Types.Add(newClass);
            // Static Class ?
            newIf.IsStatic = this.isStatic(tokens);
            // Partial Class ?
            newIf.IsPartial = this.isPartial(tokens);
            //
            newIf = addType(newIf);
            // Set as Current working Interface
            pushType(newIf);
        }
示例#3
0
 public override void ExitInterface_([NotNull] XSharpParser.Interface_Context context)
 {
     closeType(context._Members);
     base.ExitInterface_(context);
 }
示例#4
0
 public override void ExitInterface_([NotNull] XSharpParser.Interface_Context context)
 {
     TagRegion(context, context.ChildCount - 2);
 }
 public override void ExitInterface_([NotNull] XSharpParser.Interface_Context context)
 {
     popType();
 }