No, not a bug.

Inherited methods are never cached until they are needed, for rather 
obvious efficiency reasons. See ?showMethods, under argument inherited=

If what you were trying to do was find out what method would be called 
for class "B" without calling it, use selectMethod().

Seth Falcon wrote:
> showMethods isn't reporting inherited methods when it is first
> called.  The methods are there and after calling them, showMethods
> gives the right output.
>
> Here is an example (using R-devel r39647):
>
> setClass("A", representation(x="numeric"),
>          prototype=list(x=1))
>
> setClass("B", contains="A",
>          prototype=list(x=2))
>
> setMethod("initialize", "A",
>           function(.Object) {
>               cat("In A's init\n")
>               [EMAIL PROTECTED] <- [EMAIL PROTECTED] + 1
>               .Object
>           })
>
> setMethod("show", "A",
>           function(object) cat("An A like thing. x =", [EMAIL PROTECTED], 
> "\n"))
>
> showMethods(classes="B")  ## should give output, but doesn't
> showMethods(classes="A")
>
> aa <- new("A")
> bb <- new("B")
>
> aa
> bb
>
> ## Now it will give output
> showMethods(classes="B")
>
>
>
>
> --
> + seth
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to