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); }
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); }