public override bool VisitMethodDecl(Method method) { if (!VisitDeclaration(method)) { return(false); } if (method.IsImplicit) { return(false); } PushBlock(BlockKind.Method, method); TypePrinter.PushContext(TypePrinterContextKind.Native); var returnTypeName = method.ReturnType.Visit(TypePrinter); Write($"public {returnTypeName} {GetCMethodIdentifier(method)}("); Write(TypePrinter.VisitParameters(method.Parameters, hasNames: true).ToString()); Write(");"); TypePrinter.PopContext(); PopBlock(NewLineKind.Never); return(true); }
public override bool VisitMethodDecl(Method method) { PushBlock(BlockKind.Method, method); var @class = method.Namespace as Class; Write($"public {method.ReturnType} {CCodeGenerator.GetMethodIdentifier(method)}("); Write(TypePrinter.VisitParameters(method.Parameters, hasNames: true).ToString()); Write(");"); PopBlock(NewLineKind.Never); return(true); }
public override void GenerateMethodSpecifier(Method method, Class @class) { var keywords = new List <string>(); if (method.IsGeneratedOverride()) { Write("@Override"); NewLine(); } keywords.Add(AccessIdentifier(method.Access)); if (@method.IsFinal) { keywords.Add("final"); } if (method.IsStatic) { keywords.Add("static"); } if (method.IsPure) { keywords.Add("abstract"); } keywords = keywords.Where(s => !string.IsNullOrWhiteSpace(s)).ToList(); if (keywords.Count != 0) { Write("{0} ", string.Join(" ", keywords)); } var functionName = GetMethodIdentifier(method); if (method.IsConstructor || method.IsDestructor) { Write("{0}(", functionName); } else { Write("{0} {1}(", method.ReturnType, functionName); } Write("{0}", TypePrinter.VisitParameters(method.Parameters, hasNames: true)); Write(")"); }