lawrence_danna added a comment.

In D68188#1687532 <https://reviews.llvm.org/D68188#1687532>, @labath wrote:

> It seems to be that instead of subclassing a fully-functional File class, it 
> would be better to create an abstract class, that both `File` and the new 
> python thingy could implement. That would also create a natural place to 
> write down the FILE* conversion semantics and other stuff we talked about at 
> lldb-dev. I don't have any opinion as to whether the name `File` should 
> denote the new abstract class, or the real thing, but it should most likely 
> be done as a separate patch.
>
> What do you think about that?


I could do it that way, but I have some reservations about it.    In this 
version the class hierarchy looks like this:

            File
             |
   SimplePythonFile --------+
    |                       |
  TextPythonFile     BinaryPythonFile

If we added an abstract base class, I guess it would look like this:

            AbstractFile
             |        |                
            File      PythonFile
             |         |     | |
           SimplePythonFile  | |
                             | |
    + -----------------------+ |  
    |                          |
  TextPythonFile     BinaryPythonFile

Does a more complicated class hierarchy like that really solve a problem or 
make the code easier to understand?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D68188



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

Reply via email to