public IAbiType[] GetParentClasses(ReferenceCollector refs) { return(this.unprojectedType.GetInterfaces().Where( tinterface => AbiTypeRuntimeClass.IsValidType(tinterface) ).Select( tinterface => new AbiTypeRuntimeClass(tinterface) ).ToArray()); }
public string GetShortName(ReferenceCollector refs) { Type type = unprojectedType; refs.AddReference(type); string name = GetAbiTypeShortName(type); if (type.GenericTypeArguments.Count() > 0) { name += "<" + String.Join(", ", type.GenericTypeArguments.Where( typeArg => AbiTypeRuntimeClass.IsValidType(typeArg) ).Select(typeArgument => (new AbiTypeRuntimeClass(typeArgument)).GetShortName(refs) )) + ">"; } return(name); }
public string GetParameters(ReferenceCollector refs, bool commentOutParamNames = false, bool shortNames = true) { List <string> parameters = this.methodInfo.GetParameters().Where( parameter => AbiTypeRuntimeClass.IsValidType(parameter.ParameterType) ).Select(parameter => { string paramName = parameter.Name; if (commentOutParamNames) { paramName = "/* " + paramName + " */"; } IAbiType paramType = (new AbiTypeRuntimeClass(parameter.ParameterType)).DefaultInterface; string paramTypeName = ""; if (parameter.IsIn) { paramTypeName = shortNames ? paramType.GetShortNameAsInParam(refs) : paramType.GetFullNameAsInParam(refs); } else { paramTypeName = shortNames ? paramType.GetShortNameAsOutParam(refs) : paramType.GetFullNameAsOutParam(refs); } return(paramTypeName + " " + paramName); }).ToList(); if (methodInfo.ReturnType != null && methodInfo.ReturnType.Name != "Void") { string paramName = "value"; if (commentOutParamNames) { paramName = "/* " + paramName + " */"; } var defaultInterface = (new AbiTypeRuntimeClass(methodInfo.ReturnType)).DefaultInterface; string paramType = shortNames ? defaultInterface.GetShortNameAsOutParam(refs) : defaultInterface.GetFullNameAsOutParam(refs); parameters.Add(paramType + " " + paramName); } return(String.Join(", ", parameters)); }