thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kristinn Örn Sigurðsson <kristinn.orn.sigurds...@gmail.com>
Subject Re: Dependencies
Date Tue, 02 Jun 2009 21:05:05 GMT
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 <btaitelb@cs.oberlin.edu>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.
>>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message