The R Project SVN R

Rev

Rev 87815 | Rev 87901 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 87815 Rev 87891
Line 1026... Line 1026...
1026
		"or an object with a nameOfClass() method"));
1026
		"or an object with a nameOfClass() method"));
1027
    int j, nwhat = LENGTH(what);
1027
    int j, nwhat = LENGTH(what);
1028
 
1028
 
1029
    if( !isLogical(which) || (LENGTH(which) != 1) )
1029
    if( !isLogical(which) || (LENGTH(which) != 1) )
1030
	error(_("'which' must be a length 1 logical vector"));
1030
	error(_("'which' must be a length 1 logical vector"));
1031
    Rboolean isvec = asRbool(which, R_NilValue);
1031
    bool isvec = asRbool(which, R_NilValue);
1032
 
1032
 
1033
    if(isvec)
1033
    if(isvec)
1034
	PROTECT(rval = allocVector(INTSXP, nwhat));
1034
	PROTECT(rval = allocVector(INTSXP, nwhat));
1035
 
1035
 
1036
    for(j = 0; j < nwhat; j++) {
1036
    for(j = 0; j < nwhat; j++) {
Line 1229... Line 1229...
1229
static SEXP R_isMethodsDispatchOn(SEXP onOff)
1229
static SEXP R_isMethodsDispatchOn(SEXP onOff)
1230
{
1230
{
1231
    R_stdGen_ptr_t old = R_get_standardGeneric_ptr();
1231
    R_stdGen_ptr_t old = R_get_standardGeneric_ptr();
1232
    int ival =  !NOT_METHODS_DISPATCH_PTR(old);
1232
    int ival =  !NOT_METHODS_DISPATCH_PTR(old);
1233
    if(length(onOff) > 0) {
1233
    if(length(onOff) > 0) {
1234
	Rboolean onOffValue = asRbool(onOff, R_NilValue);
1234
	bool onOffValue = asRbool(onOff, R_NilValue);
1235
	if(onOffValue == NA_INTEGER)
1235
	if(onOffValue == NA_INTEGER)
1236
	    error(_("'onOff' must be TRUE or FALSE"));
1236
	    error(_("'onOff' must be TRUE or FALSE"));
1237
	else if(onOffValue == FALSE)
1237
	else if(onOffValue == FALSE)
1238
	    R_set_standardGeneric_ptr(NULL, R_GlobalEnv);
1238
	    R_set_standardGeneric_ptr(NULL, R_GlobalEnv);
1239
	// TRUE is not currently used
1239
	// TRUE is not currently used
Line 1780... Line 1780...
1780
	error(_("trying to generate an object from a virtual class (\"%s\")"),
1780
	error(_("trying to generate an object from a virtual class (\"%s\")"),
1781
	      translateChar(asChar(e)));
1781
	      translateChar(asChar(e)));
1782
    }
1782
    }
1783
    PROTECT(e = R_do_slot(class_def, s_className));
1783
    PROTECT(e = R_do_slot(class_def, s_className));
1784
    PROTECT(value = duplicate(R_do_slot(class_def, s_prototype)));
1784
    PROTECT(value = duplicate(R_do_slot(class_def, s_prototype)));
1785
    Rboolean xDataType = TYPEOF(value) == ENVSXP || TYPEOF(value) == SYMSXP ||
1785
    bool xDataType = TYPEOF(value) == ENVSXP || TYPEOF(value) == SYMSXP ||
1786
	TYPEOF(value) == EXTPTRSXP;
1786
	TYPEOF(value) == EXTPTRSXP;
1787
    if((TYPEOF(value) == OBJSXP || getAttrib(e, R_PackageSymbol) != R_NilValue) &&
1787
    if((TYPEOF(value) == OBJSXP || getAttrib(e, R_PackageSymbol) != R_NilValue) &&
1788
       !xDataType)
1788
       !xDataType)
1789
    {
1789
    {
1790
	setAttrib(value, R_ClassSymbol, e);
1790
	setAttrib(value, R_ClassSymbol, e);