From 844b8f27b0db8328d8f781f1f8bcee69acb61fdb Mon Sep 17 00:00:00 2001
From: Adam Welc <adam.welc@oracle.com>
Date: Tue, 29 Dec 2015 11:07:02 -0800
Subject: [PATCH] Added support for serializing S4 objects.

---
 .../src/com/oracle/truffle/r/runtime/RSerialize.java          | 4 ++++
 .../src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java       | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java
index 1c67585506..60b1220653 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/RSerialize.java
@@ -1522,6 +1522,10 @@ public class RSerialize {
                         break;
                     }
 
+                    case S4SXP: {
+                        break;
+                    }
+
                     /*
                      * FastR scalar, (length 1) "vectors"
                      */
diff --git a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java
index 5fac432ac6..2d2654f8ef 100644
--- a/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java
+++ b/com.oracle.truffle.r.runtime/src/com/oracle/truffle/r/runtime/gnur/SEXPTYPE.java
@@ -46,7 +46,7 @@ public enum SEXPTYPE {
     EXTPTRSXP(22, RExternalPtr.class), /* external pointer */
     WEAKREFSXP(23), /* weak reference */
     RAWSXP(24, new Class<?>[]{RRawVector.class, RRaw.class}), /* raw bytes */
-    S4SXP(25), /* S4 non-vector */
+    S4SXP(25, RS4Object.class), /* S4 non-vector */
 
     NEWSXP(30), /* fresh node created in new page */
     FREESXP(31), /* node released by GC */
-- 
GitLab