mirror of
https://github.com/twiglet/cs2j.git
synced 2025-01-18 13:15:17 +01:00
handle method renaming in Template Extracter, add Clone -> clone
This commit is contained in:
parent
3458e63900
commit
eb6e71c6e8
@ -923,25 +923,9 @@ namespace Twiglet.CS2J.Translator.TypeRep
|
|||||||
else {
|
else {
|
||||||
methStr.Append("${this:16}.");
|
methStr.Append("${this:16}.");
|
||||||
}
|
}
|
||||||
// special for ToString -> toString
|
|
||||||
// special for Equals -> equals
|
methStr.Append(JavaName);
|
||||||
// special for GetHashCode -> hashCode
|
|
||||||
if (JavaName == "ToString" && Params.Count == 0)
|
|
||||||
{
|
|
||||||
methStr.Append("toString");
|
|
||||||
}
|
|
||||||
else if (JavaName == "Equals" && Params.Count == 1)
|
|
||||||
{
|
|
||||||
methStr.Append("equals");
|
|
||||||
}
|
|
||||||
else if (JavaName == "GetHashCode" && Params.Count == 0)
|
|
||||||
{
|
|
||||||
methStr.Append("hashCode");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
methStr.Append(JavaName);
|
|
||||||
}
|
|
||||||
return methStr.ToString() + mkJavaParams(Params, ParamArray);
|
return methStr.ToString() + mkJavaParams(Params, ParamArray);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -165,6 +165,22 @@ scope NSContext {
|
|||||||
return ty.ToString();
|
return ty.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Dictionary<string,string> methodRenames = null;
|
||||||
|
|
||||||
|
protected Dictionary<string,string> MethodRenames
|
||||||
|
{
|
||||||
|
get {
|
||||||
|
if (methodRenames == null) {
|
||||||
|
methodRenames = new Dictionary<string,string>();
|
||||||
|
methodRenames["ToString"] = "toString";
|
||||||
|
methodRenames["Equals"] = "equals";
|
||||||
|
methodRenames["GetHashCode"] = "getHashCode";
|
||||||
|
methodRenames["Clone"] = "clone";
|
||||||
|
}
|
||||||
|
return methodRenames;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/********************************************************************************************
|
/********************************************************************************************
|
||||||
@ -873,7 +889,10 @@ method_header [string returnType] returns [MethodRepTemplate meth]:
|
|||||||
{
|
{
|
||||||
$meth = new MethodRepTemplate($returnType, $member_name.name, ($member_name.tyargs == null ? null : $member_name.tyargs.ToArray()), $fpl.paramlist);
|
$meth = new MethodRepTemplate($returnType, $member_name.name, ($member_name.tyargs == null ? null : $member_name.tyargs.ToArray()), $fpl.paramlist);
|
||||||
$meth.ParamArray = $fpl.paramarr;
|
$meth.ParamArray = $fpl.paramarr;
|
||||||
if ($member_name.name != "Main" && Cfg.TranslatorMakeJavaNamingConventions) {
|
if (MethodRenames.ContainsKey($member_name.name)) {
|
||||||
|
$meth.JavaName = MethodRenames[$member_name.name];
|
||||||
|
}
|
||||||
|
else if ($member_name.name != "Main" && Cfg.TranslatorMakeJavaNamingConventions) {
|
||||||
$meth.JavaName = toJavaConvention(CSharpEntity.METHOD, $member_name.name);
|
$meth.JavaName = toJavaConvention(CSharpEntity.METHOD, $member_name.name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1227,10 +1246,14 @@ interface_method_declaration [string returnType]:
|
|||||||
'(' fpl=formal_parameter_list? ')'
|
'(' fpl=formal_parameter_list? ')'
|
||||||
{ MethodRepTemplate meth = new MethodRepTemplate($returnType, $identifier.text, (gal == null ? null : $gal.tyargs.ToArray()), $fpl.paramlist);
|
{ MethodRepTemplate meth = new MethodRepTemplate($returnType, $identifier.text, (gal == null ? null : $gal.tyargs.ToArray()), $fpl.paramlist);
|
||||||
meth.ParamArray = $formal_parameter_list.paramarr;
|
meth.ParamArray = $formal_parameter_list.paramarr;
|
||||||
if ($identifier.text != "Main" && Cfg.TranslatorMakeJavaNamingConventions) {
|
if (MethodRenames.ContainsKey($identifier.text)) {
|
||||||
|
meth.JavaName = MethodRenames[$identifier.text];
|
||||||
|
}
|
||||||
|
else if ($identifier.text != "Main" && Cfg.TranslatorMakeJavaNamingConventions) {
|
||||||
meth.JavaName = toJavaConvention(CSharpEntity.METHOD, $identifier.text);
|
meth.JavaName = toJavaConvention(CSharpEntity.METHOD, $identifier.text);
|
||||||
}
|
}
|
||||||
((InterfaceRepTemplate)$NSContext::currentTypeRep).Methods.Add(meth); }
|
((InterfaceRepTemplate)$NSContext::currentTypeRep).Methods.Add(meth);
|
||||||
|
}
|
||||||
type_parameter_constraints_clauses? ';'
|
type_parameter_constraints_clauses? ';'
|
||||||
{ DebugDetail("Processing interface method declaration: " + $identifier.text); }
|
{ DebugDetail("Processing interface method declaration: " + $identifier.text); }
|
||||||
;
|
;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user