init
This commit is contained in:
commit
e124a47765
19374 changed files with 9806149 additions and 0 deletions
176
Tools/CodeGeneration/Templates/Common/CSharpUtil.tdl
Normal file
176
Tools/CodeGeneration/Templates/Common/CSharpUtil.tdl
Normal file
|
@ -0,0 +1,176 @@
|
|||
//***************************************************************************//
|
||||
// Nevet konvertál C# osztály névre. //
|
||||
//***************************************************************************//
|
||||
proc ConvertNameToCSharpClassName(name)
|
||||
return [name];
|
||||
end proc
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// C# kommentet gyárt egy sztringből. //
|
||||
//***************************************************************************//
|
||||
template ConvertDescriptionToCSharpSummary(description)
|
||||
[if ([description] == "")]
|
||||
[else]
|
||||
/// [replace([description], "", "\n /// ")]
|
||||
[end if]
|
||||
end template
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszaadja egy művelet visszatérési értékét a C# nyelv szintaktikájának //
|
||||
// megfelelően //
|
||||
//***************************************************************************//
|
||||
proc GetCSharpReturnTypeOfOperation(MOperation)
|
||||
if ([MOperation.returnType] == "")
|
||||
return "void";
|
||||
else
|
||||
return GetCSharpType([MOperation.returnType]);
|
||||
end if
|
||||
end proc
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszaadja egy művelet paraméterlistáját a C# nyelv szintaktikájának és //
|
||||
// a saját jelölésbeli konvencióinknak megfelelően //
|
||||
//***************************************************************************//
|
||||
proc GetCSharpOperationParameters(MOperation)
|
||||
local ops;
|
||||
[ops] = "";
|
||||
loop (MOperation -> OpPara; setDelim(""); setDelim(", "))
|
||||
[ops] = [ops] delim() GetCSharpType([OpPara.type]) " " ToLower([OpPara.name]);
|
||||
end loop
|
||||
return [ops];
|
||||
end proc
|
||||
|
||||
proc GetCSharpTypeOfAttribute(MAttribute)
|
||||
return GetCSharpType([MAttribute.type]);
|
||||
end proc
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszadja a megadott típushoz tartozó C# tipust //
|
||||
//***************************************************************************//
|
||||
proc GetCSharpType(type)
|
||||
switch(ToLower([type]))
|
||||
case "string": return "string";
|
||||
case "integer": return "int";
|
||||
case "datetime": return "DateTime";
|
||||
case "boolean": return "bool";
|
||||
case "dictionaryitem": return "int /* DictionaryItem */"; //XXX
|
||||
case "binary": return "Byte[]";
|
||||
case "float": return "double";
|
||||
case "char": return "string";
|
||||
case "longstring": return "string";
|
||||
case "id": return "int";
|
||||
case "guid": return "Guid";
|
||||
end switch
|
||||
//return "object /* ERROR Ismeretlen tipus: " [type] " */";
|
||||
return [type];
|
||||
end proc
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszaadja a megadott típus alapértelmezett (kezdeti) értékét a C# nyelv //
|
||||
// szintaktikájának megfelelően //
|
||||
//***************************************************************************//
|
||||
proc GetCSharpDefaultValueOfType(type)
|
||||
switch(ToLower([type]))
|
||||
case "string": return "\"\"";
|
||||
case "integer": return "-1";
|
||||
case "datetime": return "DateTime.Now /* XXX DateTime */";//XXX
|
||||
case "boolean": return "false";
|
||||
case "dictionaryitem": return "-1 /* DictionaryItem */"; //XXX
|
||||
case "binary": return "null";
|
||||
case "float": return "0";
|
||||
case "char": return "\"\"";
|
||||
case "longstring": return "\"\"";
|
||||
case "id": return "-1";
|
||||
case "guid": return "default(Guid)";
|
||||
end switch
|
||||
return "null /* ERROR Ismeretlen tipus: " [type] " */";
|
||||
end proc
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszaadja hogy DictionaryItem tipusu-e az adott attributum //
|
||||
// //
|
||||
//***************************************************************************//
|
||||
proc IsDictionaryItem(MAttribute)
|
||||
if (ToLower([MAttribute.type]) == "dictionaryitem")
|
||||
return _True();
|
||||
else
|
||||
return _False();
|
||||
end if
|
||||
end proc
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszaadja az adott DictionaryItem konkrét osztályának a nevét //
|
||||
// //
|
||||
//***************************************************************************//
|
||||
proc GetDictionaryItemClass(MAttribute)
|
||||
return [MAttribute.defaultValue];
|
||||
end proc
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszaadja a megadott attribútum alapértelmezett (kezdeti) értékét a C# //
|
||||
// nyelv szintaktikájának megfelelően //
|
||||
//***************************************************************************//
|
||||
proc GetCSharpDefaultValueOfAttribute(MAttribute)
|
||||
if (IsAttributeRequired([MAttribute]) == _True())
|
||||
else
|
||||
return "null";
|
||||
end if
|
||||
|
||||
if ([MAttribute.type] == "DictionaryItem")
|
||||
return GetCSharpDefaultValueOfType("ID");
|
||||
end if
|
||||
if ([MAttribute.type] == "Char")
|
||||
//info = [MAttribute.defaultValue]; // teszt
|
||||
end if
|
||||
|
||||
local result;
|
||||
[result] = [MAttribute.defaultValue];
|
||||
|
||||
if ([result] == "")
|
||||
[result] = GetCSharpDefaultValueOfType([MAttribute.type]);
|
||||
else
|
||||
switch (ToLower([MAttribute.type]))
|
||||
case "string": return "\"" [result] "\"";
|
||||
case "boolean": return ToLower([result]);
|
||||
case "longstring": return "\"" [result] "\"";
|
||||
case "char": //return "'" [result] "'";
|
||||
return "\"" [result] "\"";
|
||||
end switch
|
||||
if (ToLower([MAttribute.type]) == "guid")
|
||||
if ([result] == "NEWID")
|
||||
return "Guid.NewGuid()";
|
||||
else
|
||||
return "Guid.Parse(\"" [result] "\")";
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
|
||||
return [result];
|
||||
end proc
|
||||
|
||||
|
||||
//***************************************************************************//
|
||||
// Visszadja a megadott típushoz tartozó C# nullabletipust //
|
||||
//***************************************************************************//
|
||||
proc GetCSharpNullableType(type)
|
||||
switch(ToLower([type]))
|
||||
case "string": return "string";
|
||||
case "integer": return "int?";
|
||||
case "datetime": return "DateTime?";
|
||||
case "boolean": return "bool?";
|
||||
case "dictionaryitem": return "int? /* DictionaryItem */"; //XXX
|
||||
case "binary": return "Byte[]";
|
||||
case "float": return "double?";
|
||||
case "char": return "string";
|
||||
case "longstring": return "string";
|
||||
case "id": return "int?";
|
||||
case "guid": return "Guid?";
|
||||
end switch
|
||||
//return "object /* ERROR Ismeretlen tipus: " [type] " */";
|
||||
return [type];
|
||||
end proc
|
Loading…
Add table
Add a link
Reference in a new issue