From 9dfb30265e96d473c79574791bef6a3ab8aeaa21 Mon Sep 17 00:00:00 2001 From: triton Date: Sun, 18 Aug 2013 19:11:14 +0100 Subject: [PATCH] Simplified GetFunctionIdentifier and GetFunctionNativeIdentifier. --- .../Generators/CSharp/CSharpTextTemplate.cs | 46 ++++++++----------- 1 file changed, 18 insertions(+), 28 deletions(-) diff --git a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs index aa5fdd00..97a758ea 100644 --- a/src/Generator/Generators/CSharp/CSharpTextTemplate.cs +++ b/src/Generator/Generators/CSharp/CSharpTextTemplate.cs @@ -2020,46 +2020,36 @@ namespace CppSharp.Generators.CSharp throw new NotSupportedException(); } - public string GetFunctionIdentifier(Function function) + public static string GetFunctionIdentifier(Function function) { - var printer = TypePrinter as CSharpTypePrinter; - var isNativeContext = printer.ContextKind == CSharpTypePrinterContextKind.Native; - - string identifier; - bool isBuiltin; + var identifier = SafeIdentifier(function.Name); var method = function as Method; - if (method != null && method.IsOperator) - { - if (isNativeContext) - identifier = "Operator" + method.OperatorKind.ToString(); - else - identifier = GetOperatorIdentifier(method.OperatorKind, out isBuiltin); - } - else - { - identifier = SafeIdentifier(function.Name); - } - - var overloads = function.Namespace.GetFunctionOverloads(function).ToList(); - var index = overloads.IndexOf(function); + if (method == null || !method.IsOperator) + return identifier; - if (isNativeContext && index >= 0) - identifier += index.ToString(CultureInfo.InvariantCulture); + bool isBuiltin; + identifier = GetOperatorIdentifier(method.OperatorKind, out isBuiltin); return identifier; } - public string GetFunctionNativeIdentifier(Function function) + public static string GetFunctionNativeIdentifier(Function function) { - var typePrinter = TypePrinter as CSharpTypePrinter; - typePrinter.PushContext(CSharpTypePrinterContextKind.Native); + var identifier = SafeIdentifier(function.Name);; - var name = GetFunctionIdentifier(function); + var method = function as Method; + if (method != null && method.IsOperator) + identifier = "Operator" + method.OperatorKind.ToString(); - typePrinter.PopContext(); + var overloads = function.Namespace.GetFunctionOverloads(function) + .ToList(); + var index = overloads.IndexOf(function); - return name; + if (index >= 0) + identifier += index.ToString(CultureInfo.InvariantCulture); + + return identifier; } public void GenerateInternalFunction(Function function)