Hmm, interesting: it's the virtual class that causes the trouble. If a virtual class is a ref class, everything works fine. If it's a standard S4 class, it results in the error below.
Regards, Janko > -----Ursprüngliche Nachricht----- > Von: Janko Thyson [mailto:janko.thy...@ku-eichstaett.de] > Gesendet: Montag, 22. November 2010 00:31 > An: 'r-de...@r-project. org' > Betreff: reference classes: question on inheritance > > Dear list, > > I have a reference class which should act as a generic superclass for > other classes. Ive read the respective section at ?setRefClass and put > the name of the superclass to the contains argument of an example > subclass (see class defs below). Classnames are set in a way that > shouldnt result in collation issues (virtual def sourced before > superclass def sourced before subclass). Yet, this results in the > following error: > > Warnmeldung: > unable to find a consistent ordering of superclasses for class > "Shabubu": order chosen is inconsistent with the superclasses of > "JObject" > > ###### CLASS DEFS ##### > setClass("JObjectVirtual") > setRefClass( > Class="JObject", > fields=list( > # GENERIC FIELDS (DON'T CHANGE !!!) > .BUFFER="environment", > .GENESIS="environment", > .HISTORY="environment", > .IMAGES="environment", > .LOGS="environment", > .OPTS="environment", > .PLUGINS="environment", > .TMP="environment", > .UID="character", > DATA="data.frame" > # / > ), > contains=c("JObjectVirtual"), > methods=list( > ... > ) > ) > setRefClass( > Class="Shabubu", > fields=list( > # CUSTOM FIELDS (ADAPT TO YOUR NEEDS) > a="numeric", > b="character", > c="logical", > d="data.frame", > e="matrix", > f="list", > derived.field="function" > # / > ), > contains=c("JObject") > ) > > What am I doing wrong here? > > Thanks, > Janko ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel