private static VarType BuildNewType(VarType type, INewClassNameBuilder builder) { if (type.type == ICodeConstants.Type_Object) { string newClassName = builder.BuildNewClassname(type.value); if (newClassName != null) { return(new VarType(type.type, type.arrayDim, newClassName)); } } return(null); }
public virtual string BuildNewDescriptor(INewClassNameBuilder builder) { if (type.type == ICodeConstants.Type_Object) { string newClassName = builder.BuildNewClassname(type.value); if (newClassName != null) { return(new VarType(type.type, type.arrayDim, newClassName).ToString()); } } return(null); }
public virtual string BuildNewDescriptor(INewClassNameBuilder builder) { bool updated = false; VarType[] newParams; if (@params.Length > 0) { newParams = new VarType[@params.Length]; System.Array.Copy(@params, 0, newParams, 0, @params.Length); for (int i = 0; i < @params.Length; i++) { VarType substitute = BuildNewType(@params[i], builder); if (substitute != null) { newParams[i] = substitute; updated = true; } } } else { newParams = VarType.Empty_Array; } VarType newRet = ret; VarType substitute_1 = BuildNewType(ret, builder); if (substitute_1 != null) { newRet = substitute_1; updated = true; } if (updated) { StringBuilder res = new StringBuilder("("); foreach (VarType param in newParams) { res.Append(param); } res.Append(")").Append(newRet.ToString()); return(res.ToString()); } return(null); }