public static EocDll Translate(ProjectConverter P, DllDeclareInfo rawInfo) { var libraryName = rawInfo.LibraryName; var entryPoint = rawInfo.EntryPoint; if (string.IsNullOrEmpty(entryPoint)) { entryPoint = P.IdToNameMap.GetUserDefinedName(rawInfo.Id); } var name = P.GetUserDefinedName_SimpleCppName(rawInfo.Id); var info = new EocCmdInfo() { ReturnDataType = rawInfo.ReturnDataType == 0 ? null : EocDataTypes.Translate(P, rawInfo.ReturnDataType), CppName = $"{P.DllNamespace}::{name}", Parameters = rawInfo.Parameters.Select((x) => { var dataType = EocDataTypes.Translate(P, x.DataType, x.ArrayParameter); return(new EocParameterInfo() { ByRef = x.ByRef || x.ArrayParameter || !EocDataTypes.IsValueType(dataType), Optional = false, VarArgs = false, DataType = dataType, CppName = P.GetUserDefinedName_SimpleCppName(x.Id) }); }).ToList() }; return(new EocDll(P, name, info, libraryName, entryPoint)); }
public EocCmdInfo GetEocCmdInfo(DllDeclareInfo x) { return(new EocCmdInfo() { ReturnDataType = x.ReturnDataType == 0 ? null : GetCppTypeName(x.ReturnDataType), CppName = GetCppMethodName(x.Id), Parameters = x.Parameters.Select(GetEocParameterInfo).ToList() }); }
public static EocDll Translate(ProjectConverter P, DllDeclareInfo dllDeclare) { var libraryName = dllDeclare.LibraryName; var entryPoint = dllDeclare.EntryPoint; if (string.IsNullOrEmpty(entryPoint)) { entryPoint = P.IdToNameMap.GetUserDefinedName(dllDeclare.Id); } return(new EocDll(P, P.GetUserDefinedName_SimpleCppName(dllDeclare.Id), P.GetEocCmdInfo(dllDeclare), libraryName, entryPoint)); }
public static EocDll Translate(ProjectConverter P, DllDeclareInfo dllDeclare) { return(new EocDll(P, P.GetUserDefinedName_SimpleCppName(dllDeclare.Id), P.GetEocCmdInfo(dllDeclare), dllDeclare.LibraryName, dllDeclare.EntryPoint)); }