Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] [DSF] SessionType

On Friday 09 July 2010 16:55:10 Marc Khouzam wrote:

> 
> > -----Original Message-----
> > From: Vladimir Prus [mailto:vladimir@xxxxxxxxxxxxxxxx] 
> > Sent: Friday, July 09, 2010 2:25 AM
> > To: Marc Khouzam
> > Cc: 'cdt-dev@xxxxxxxxxxx'
> > Subject: Re: [cdt-dev] [DSF] SessionType
> > 
> > On Friday 09 July 2010 00:24:58 Marc Khouzam wrote:
> > 
> > > > Are there so many such methods in GDBControl_7_0 that it 
> > > > makes sense to refuse
> > > > further additions, or you thin that -exec-run/-exec-continue 
> > > > difference is
> > > > not common enough?
> > > 
> > > I'd accept everything if it wasn't for API compatibility :-)
> > 
> > Ok, fair enough.
> > 
> > > Adding a new API is usually ok, but the problem is when we want to
> > > add it to an existing interface: anyone using that interface
> > > will break.
> > 
> > I'm not too knowledgable about binary compatibility in Java, so
> > could you clarify one thing. 
> 
> I'm still learning as well :-)
> 
> > Suppose we add new method to
> > GDBControl_7_0 to decide whether to use -exec-run or -exec-continue,
> > and it  has the logic that is used now. Why will that break derived
> > classes? I think that if the method is protected, then it's interface
> > *only* for derived classes.
> 
> Yes.  I've added a patch like that to the bug.  I believe it will fit
> your needs, without breaking the API.
> 
> The problem is that your original suggestion added an method to an interface.
> 
> interface myInterfae {
>   void foo();
> }
> 
> class myClass implements myInterface {
>   void foo() { }
> }
> 
> If I add method bar() to myInterface, myClass will suddenly not compile anymore
> because it _must_ implement bar().

Ah, right -- I've realized when comparing your patch and mine. It also turns out
that mine omitted a change in GDBControl_7_0 to actually use the new method :-(


Thanks,

-- 
Vladimir Prus
CodeSourcery
vladimir@xxxxxxxxxxxxxxxx
(650) 331-3385 x722


Back to the top