Skip to content

Commit

Permalink
Merge pull request #52 from Microsoft/richcala/MRO-3.4.3
Browse files Browse the repository at this point in the history
Updated files for MRO 3.4.3
  • Loading branch information
Rich Calaway authored Jan 16, 2018
2 parents c357ea2 + 1ff278c commit 9f1e941
Show file tree
Hide file tree
Showing 594 changed files with 67,558 additions and 475 deletions.
23 changes: 23 additions & 0 deletions additionalPackages/R6/DESCRIPTION
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
Package: R6
Title: Classes with Reference Semantics
Version: 2.2.2
Authors@R: person("Winston", "Chang", role = c("aut", "cre"), email = "winston@stdout.org")
Description: The R6 package allows the creation of classes with reference
semantics, similar to R's built-in reference classes. Compared to reference
classes, R6 classes are simpler and lighter-weight, and they are not built
on S4 classes so they do not require the methods package. These classes
allow public and private members, and they support inheritance, even when
the classes are defined in different packages.
Depends: R (>= 3.0)
Suggests: knitr, microbenchmark, pryr, testthat, ggplot2, scales
License: MIT + file LICENSE
URL: https://github.com/wch/R6/
LazyData: true
VignetteBuilder: knitr
RoxygenNote: 6.0.1
NeedsCompilation: no
Packaged: 2017-06-12 18:48:43 UTC; winston
Author: Winston Chang [aut, cre]
Maintainer: Winston Chang <winston@stdout.org>
Repository: CRAN
Date/Publication: 2017-06-17 08:22:59 UTC
2 changes: 2 additions & 0 deletions additionalPackages/R6/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
YEAR: 2015
COPYRIGHT HOLDER: RStudio
49 changes: 49 additions & 0 deletions additionalPackages/R6/MD5
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
6a5e9c3f464edefb255d4cbc57d50a27 *DESCRIPTION
2491c4039e00be047cce99c452d3fd00 *LICENSE
2290c691ec0011ac745e45d5874fa193 *NAMESPACE
3d2909fe67126a810ca47074ddb24d9b *NEWS.md
890797fed39cbc35799c315d9c322108 *R/aaa.R
8fc2b68dd2ba714c478255c42d60fdb5 *R/aslist.R
188fa603ac979a45f72960511ea940d4 *R/clone.R
969da6f631df9a1f7fbdf9531f60b4dc *R/env_utils.R
2a86561da7babbb64df97905bb58d43c *R/generator_funs.R
da8d32330b60debc59dc9ce8a31e877c *R/is.R
130ff95a05f3625003e43bb2b81d97e5 *R/new.R
50c3ecec7dbae8eb9a51571a6120dba7 *R/print.R
a2b3e845a08ba77dd1c35e47a5b51705 *R/r6_class.R
b88a321a00815f8fbf23a3eac1790f5d *R/utils.R
d8074cd312c50a432b1632838b86e005 *README.md
59c6e9808263295d357d5ecb5039539c *build/vignette.rds
b5cae09ea49d219b8f76b7c877a2acc3 *inst/doc/Debugging.R
19292e64765adb13605c5c08a1b0fbeb *inst/doc/Debugging.Rmd
3b045777c5b7e3a1363cb33e2acffd21 *inst/doc/Debugging.html
458c5c4ffc9d2e3edbd3fe53bab698db *inst/doc/Introduction.R
53a296d3faa1f359f85722423237fcb9 *inst/doc/Introduction.Rmd
38f76fc5d85eb07062aa72b717e81bee *inst/doc/Introduction.html
a1a6084d866ec4e63fd1fca514a19b06 *inst/doc/Performance.R
1b808007d78f30136622d198ebbd65f4 *inst/doc/Performance.Rmd
f589fc216a0d57825f15b981aa674f0d *inst/doc/Performance.html
7c74c2ced879ad6b28eed3a986ecf561 *inst/doc/Portable.R
2cc84e9c04c954138914110a29cc5625 *inst/doc/Portable.Rmd
e70fb3278d0b77efbcdd6475904654fc *inst/doc/Portable.html
1c72c34021aff0749a7d1119277acc17 *man/R6Class.Rd
1ab85a3b47a7e9757b9e11fe9ab73441 *man/as.list.R6.Rd
ba0b7a8329fd8be2251946b54e1119f5 *man/is.R6.Rd
792c2b5c02379e27e3eccbee832b2b28 *tests/manual/README
a6eb9df5a1cef6cf0b94c958ec25a7a3 *tests/manual/encapsulation.R
cbaba26cf0c3e5a9004f9a03123028fa *tests/manual/test-inheritance.R
08d4cdb1a57dc1e4307c6f4c8d83e65e *tests/testthat.R
45a99007ec8c0255886a2100904c2cae *tests/testthat/helper.R
e372420967eb6f34ea98aa72d2013d76 *tests/testthat/test-clone.R
1f3112069189a7541b2286556a65ce5b *tests/testthat/test-finalizer.R
890765388a44c68277dcb82c4dbb2141 *tests/testthat/test-nonportable-inheritance.R
3d9cfcb12b51886fbb0ccb2e81399d8b *tests/testthat/test-nonportable.R
fdaf01455a512a34e11acd1e4f939708 *tests/testthat/test-portable-inheritance.R
44f73a7b77858cc4dc7e2f9f13ad041f *tests/testthat/test-portable.R
02410e6c12799186c1c1d05a1055fcbc *tests/testthat/test-s3-methods.R
1ff34f14a8bff32c201e41174c535ed9 *tests/testthat/test-set.R
19292e64765adb13605c5c08a1b0fbeb *vignettes/Debugging.Rmd
53a296d3faa1f359f85722423237fcb9 *vignettes/Introduction.Rmd
1b808007d78f30136622d198ebbd65f4 *vignettes/Performance.Rmd
2cc84e9c04c954138914110a29cc5625 *vignettes/Portable.Rmd
c252987682010c83d511941ea3e447fb *vignettes/mystyle.css
11 changes: 11 additions & 0 deletions additionalPackages/R6/NAMESPACE
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Generated by roxygen2: do not edit by hand

S3method(as.list,R6)
S3method(format,R6)
S3method(format,R6ClassGenerator)
S3method(plot,R6)
S3method(print,R6)
S3method(print,R6ClassGenerator)
export(R6Class)
export(is.R6)
export(is.R6Class)
101 changes: 101 additions & 0 deletions additionalPackages/R6/NEWS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
R6 2.2.2
========

* Fixed [#108](https://github.com/wch/R6/issues/108): When an object with a `super` object and an active binding in the `super` object was cloned, the new object's `super` object did not get the active binding -- it was a normal function.

* Fixed [#119](https://github.com/wch/R6/issues/119): When a class had two levels of inheritance, an instance of that class's `super` object could contain methods that had an incorrect enclosing environment.


R6 2.2.1
========

* Vignettes now only try use the microbenchmark package if it is present. This is so that the package builds properly on platforms where microbenchmark is not present, like Solaris.

* Fixed ending position for `trim()`.

R6 2.2.0
========

* Classes can define finalizers explicitly, by defining a public `finalize` method. ([#92](https://github.com/wch/R6/issues/92), [#93](https://github.com/wch/R6/pull/93))

* Added function `is.R6()` and `is.R6Class()`. ([#95](https://github.com/wch/R6/pull/95))

* Fixed [#96](https://github.com/wch/R6/issues/96): R6 now avoids using `$` and `[[` after the class has been assigned to the object. This allows the user to provide their own methods for `$` and `[[` without causing problems to R6's operation.

R6 2.1.3
========

* The `plot` S3 method for R6 objects will call `$plot` on the object if present. (#77)

* Fixed printing of members that are R6 objects. (#88)

* Fixed deep cloning for non-portable classes. (#85)

* Added `as.list.R6` method. (#91)

R6 2.1.2
========

* Implemented `format.R6()` and `format.R6ClassGenerator`, the former calls a public `format` method if defined. This might change the functionality of existing classes that define a public `format` method intended for other purposes (#73. Thanks to Kirill Müller)

* Functions are shown with their interface in `print` and `format`, limited to one line (#76. Thanks to Kirill Müller)

* R6 objects and generators print out which class they inherit from. (#67)

R6 2.1.1
========

* Fixed a bug with printing R6 objects when a `[[` method is defined for the class. (#70)

* Fixed cloning of objects that call a `super` method which accesses `private`. (#72)

R6 2.1.0
========

* Added support for making clones of R6 objects with a `clone()` method on R6 objects. The `deep=TRUE` option allows for making clones that have copies of fields with reference semantics (like other R6 objects). (#27)

* Allow adding public or private members when there were no public or private members to begin with. (#51)

* Previously, when an R6 object was printed, it accessed (and called) active bindings. Now it simply reports that a field is an active binding. (#37, #38. Thanks to Oscar de Lama)

* Printing private members now works correctly for portable R6 objects. (#26)

* The 'lock' argument has been renamed to 'lock_objects'. Also, there is a new argument, 'lock_class', which can prevent changes to the class. (#52)

* Fixed printing of NULL fields.

R6 2.0.1
========

* A superclass is validated on object instantation, not on class creation.

* Added `debug` and `undebug` methods to generator object.

R6 2.0
========

* [BREAKING CHANGE] Added `portable` option, which allows inheritance across different package namespaces, and made it the default.

* Added `set()` method on class generator object, so new fields and methods can be added after the generator has been created.

* All of the functions involved in instantiating objects are encapsulated in an environment separate from the R6 namespace. This means that if a generator is created with one version of R6, saved, then restored in a new R session that has a different version of R6, there shouldn't be any problems with compatibility.

* Methods are locked so that they can't be changed. (Fixes #19)

* Inheritance of superclasses is dynamic; instead of reading in the superclass when a class is created, this happens each time an object is instantiated. (Fixes #12)

* Added trailing newline when printing R6 objects. (Thanks to Gabor Csardi)

* The `print` method of R6 objects can be redefined. (Thanks to Gabor Csardi)

R6 1.0.1
========

* First release on CRAN.

* Removed pryr from suggested packages.

R6 1.0
========

* First release
25 changes: 25 additions & 0 deletions additionalPackages/R6/R/aaa.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# This is the enclosing environment for all of the functions involved in
# instantiating objects. It is also the binding environment for all these
# functions, except for R6Class(). This is because a generator object can be
# saved (in a built package, for example) and then restored in a different R
# session which has a different version of the R6 package. With the capsule
# environment, the generator object doesn't need to use any functions or objects
# from the potentially different R6 namespace, and because the saved/restored
# object also saves and restores the capsule environment (but not the R6
# namespace).
capsule <- new.env(hash = FALSE)
attr(capsule, "name") <- "R6_capsule"

# This function takes an expression and evaluates it in the capsule environment.
encapsulate <- function(expr) {
expr <- substitute(expr)
eval(expr, capsule)
}


# This list contains functions that are copied to the generator environment and
# are assigned as the generator env as their enclosing environment.
# This is simpler than encapsulate, because these functions don't need to be
# enclosed in a special environment now; when a class is created, they will be
# copied into the generator environment and assigned it as their enclosing env.
generator_funs <- list()
12 changes: 12 additions & 0 deletions additionalPackages/R6/R/aslist.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#' Create a list from an R6 object
#'
#' This returns a list of public members from the object. It simply calls
#' \code{as.list.environment}.
#'
#' @param x An R6 object.
#' @param ... Other arguments, which will be ignored.
#'
#' @export
as.list.R6 <- function(x, ...) {
as.list.environment(x, all.names = TRUE)
}
Loading

0 comments on commit 9f1e941

Please sign in to comment.