private DataType TranslateFn(LLVMType retType, List<LLVMParameter> parameters, IStorageBinder binder) { var rt = retType.Accept(this); var sigRet = binder.CreateTemporary("", rt); var sigParameters = new List<Identifier>(); foreach (var param in parameters) { if (param.name == "...") { var dt = new UnknownType(); var id = binder.CreateTemporary("...", dt); sigParameters.Add(id); } else { var pt = param.Type.Accept(this); var id = binder.CreateTemporary(pt); sigParameters.Add(id); } } return new FunctionType(sigRet, sigParameters.ToArray()); }
public DataType TranslateType(LLVMType type) { var xlat = new TypeTranslator(program.Platform.PointerType.BitSize); return(type.Accept(xlat)); }