changeset 16882:54696f15ac93

SL/Instrumentation: Added checks for null SourceSections in SLInstrumenter
author David Piorkowski <david.piorkowski@oracle.com>
date Thu, 21 Aug 2014 15:10:56 -0700
parents f0e3b50c29c8
children 118a70cdfb06
files graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLInstrumenter.java
diffstat 1 files changed, 12 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLInstrumenter.java	Thu Aug 21 13:32:11 2014 -0700
+++ b/graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/nodes/instrument/SLInstrumenter.java	Thu Aug 21 15:10:56 2014 -0700
@@ -56,20 +56,23 @@
         // SLExpressionNode first.
         if (node instanceof SLExpressionNode && node.getParent() != null) {
             SLExpressionNode expressionNode = (SLExpressionNode) node;
-            Probe probe = expressionNode.probe(context);
-            // probe.tagAs(STATEMENT);
+            if (expressionNode.getSourceSection() != null) {
+                Probe probe = expressionNode.probe(context);
+                // probe.tagAs(STATEMENT);
 
-            if (node instanceof SLWriteLocalVariableNode)
-                probe.tagAs(ASSIGNMENT);
-
+                if (node instanceof SLWriteLocalVariableNode)
+                    probe.tagAs(ASSIGNMENT);
+            }
         } else if (node instanceof SLStatementNode && node.getParent() != null) {
 
             SLStatementNode statementNode = (SLStatementNode) node;
-            Probe probe = statementNode.probe(context);
-            probe.tagAs(STATEMENT);
+            if (statementNode.getSourceSection() != null) {
+                Probe probe = statementNode.probe(context);
+                probe.tagAs(STATEMENT);
 
-            if (node instanceof SLWhileNode)
-                probe.tagAs(START_LOOP);
+                if (node instanceof SLWhileNode)
+                    probe.tagAs(START_LOOP);
+            }
         }
 
         return true;