Thank you for your answer Ben. This seems to work (at least it compiles). I haven't had the time to test it yet but so far it seems like it's going to work. :-)
Thanks again. Regards, Kristinn. On Thu, May 28, 2009 at 12:22 AM, Ben Taitelbaum <[email protected]>wrote: > When I've needed to do something like this, and there is a cycle (so I > can't include another file, or declare things in order), I've just been > declaring a stub. It works for me in ruby, and I just tried it in java and > the generated code looked decent (but I didn't try compililng it). > > struct B {} > struct A { > 10: List<B> myBList > } > struct B{ > 10: A myA > } > > Does this work in other languages, or do you end up with a situation where > some classes are multiply / incorrectly defined? If so, is it something you > can fix with some sed? > > -Ben > > > On May 26, 2009, at 10:59 PM, Kristinn Örn Sigurðsson wrote: > > Hi all. >> I'm having a little trouble with dependencies in Thrift. See this for an >> example: >> >> struct TAccount { >> 1: i32 id, >> 2: string email, >> 3: string name, >> 4: string password, >> 5: list<TPhone> phones, >> 6: string address, >> 7: string postalCode, >> 8: string city, >> 9: string country, >> 10: list<TCritic> critics >> } >> >> struct TCritic { >> 1: i32 id, >> 2: TAccount author, >> 3: i32 rating, >> 4: string text >> } >> >> struct TCompany { >> 1: i32 id, >> 2: string name, >> 3: string email, >> 4: string phone, >> 5: string address, >> 6: string postalCode, >> 7: string city, >> 8: string country, >> 9: list<TAccount> employees, >> 10: list<TCritic> critics >> } >> >> This is just a partial copy/paste. Some structs aren't shown here. >> >> This doesn't compile into Thrift files. The problem here is that TAccount >> depends on TCritic and TCritic depends on TAccount. The thing is that >> structs can't see other structs that are defined after (below) them. Is >> there a workaround for this? >> >> Thanks in advance. >> >> Regards, >> Kristinn. >> > >
