Hui added a comment.

In D56232#1349407 <https://reviews.llvm.org/D56232#1349407>, @labath wrote:

> In D56232#1348514 <https://reviews.llvm.org/D56232#1348514>, @zturner wrote:
>
> > Is that even necessary?  If a platform is not remote aware, `IsHost()` will 
> > always just return `true` by definition.  So we could put all of this in 
> > the existing `Platform` base class.
>
>
> I remember looking at this a while a go and concluding against it, but i'm 
> not sure if it was impossible of just I didn't like the result.
>
> The issue here is that PlatformWindows and PlatformPosix already have a 
> m_remote_platform member (which normally is an instance of 
> PlatformRemoteGDBServer). To move the common class into the base one, we'd 
> need to move this member too. That would mean that any platform has a 
> "remote" member, even those that already are "remote". That sounds a bit 
> weird.


Yes. I think the thing is the existing design makes PlatformWindows plugin play 
dual roles: a "host" and "remote-windows" platform which simplily is a 
pass-through to PlatformRemoteGDBServer.  Not quite sure about such intent of 
design.  Maybe to avoid creating new plugin for a remote platform or just to 
simplifying the init/release in plugin manager.  To break them apart, adding 
back the plugin, maybe PlatformRemoteWindows

PlatformWindows:  host implementation only. Most common parts will go to the 
platform base.

PlatformRemoteWindows: for communicating with remote only.  Could just be 
RemoteAwarePlatform


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D56232/new/

https://reviews.llvm.org/D56232



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to