@perrydv and I discussed that we needed to investigate this a bit more.
There's an overview of portability. Key things seem to be:
- If you want to have R6 class inheritance across packages, you need
portable=TRUE
- If you have portable classes you need to use
self$ and private$ but o.w. you don't
- There can be pitfalls with cross-class inheritance.
For the moment I am (perhaps short-sightedly) not seeing that user packages would need to inherit our R6 classes nor that in our own nCompiler-using classes that we would need cross-package inheritance. So perhaps we set our classes not to be portable. I'll note that we do have portable classes of cppVarClass and classes in symbolTable.R.
Nothing urgent here, but we probably want to make a specific decision and make things consistent before initial release.
@perrydv and I discussed that we needed to investigate this a bit more.
There's an overview of portability. Key things seem to be:
portable=TRUEself$andprivate$but o.w. you don'tFor the moment I am (perhaps short-sightedly) not seeing that user packages would need to inherit our R6 classes nor that in our own nCompiler-using classes that we would need cross-package inheritance. So perhaps we set our classes not to be portable. I'll note that we do have portable classes of
cppVarClassand classes insymbolTable.R.Nothing urgent here, but we probably want to make a specific decision and make things consistent before initial release.