From 27bb890a6d463ef519e0e306dcbf50c3fcc3d257 Mon Sep 17 00:00:00 2001
From: Mick Jordan <mick.jordan@oracle.com>
Date: Tue, 17 Jun 2014 15:34:52 -0700
Subject: [PATCH] field access for environments

---
 .../com/oracle/truffle/r/nodes/access/AccessFieldNode.java  | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java
index 1da4aba55b..328f898e46 100644
--- a/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java
+++ b/com.oracle.truffle.r.nodes/src/com/oracle/truffle/r/nodes/access/AccessFieldNode.java
@@ -56,6 +56,12 @@ public abstract class AccessFieldNode extends RNode {
         return RNull.instance;
     }
 
+    @Specialization(order = 3)
+    public Object accessField(REnvironment env) {
+        Object obj = env.get(getField());
+        return obj == null ? RNull.instance : obj;
+    }
+
     @Specialization(order = 1000)
     public Object accessField(@SuppressWarnings("unused") RAbstractVector object) {
         CompilerDirectives.transferToInterpreter();
-- 
GitLab