Mercurial > hg > truffle
diff truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/runtime/SLContext.java @ 22251:8dddde8b20d4
Truffle/SL: provide an "unavailable" SourceSection for every RootNode, using a newly defined static name that identifies "SL Builtin" RootNodes.
author | Michael Van De Vanter <michael.van.de.vanter@oracle.com> |
---|---|
date | Thu, 24 Sep 2015 13:16:52 -0700 |
parents | dc83cc1f94f2 |
children | 78594d342228 |
line wrap: on
line diff
--- a/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/runtime/SLContext.java Thu Sep 24 13:15:45 2015 -0700 +++ b/truffle/com.oracle.truffle.sl/src/com/oracle/truffle/sl/runtime/SLContext.java Thu Sep 24 13:16:52 2015 -0700 @@ -48,6 +48,7 @@ import com.oracle.truffle.api.object.Layout; import com.oracle.truffle.api.object.Shape; import com.oracle.truffle.api.source.Source; +import com.oracle.truffle.api.source.SourceSection; import com.oracle.truffle.sl.SLLanguage; import com.oracle.truffle.sl.builtins.SLAssertFalseBuiltinFactory; import com.oracle.truffle.sl.builtins.SLAssertTrueBuiltinFactory; @@ -66,6 +67,7 @@ import com.oracle.truffle.sl.nodes.local.SLReadArgumentNode; import com.oracle.truffle.sl.parser.Parser; import com.oracle.truffle.sl.parser.SLNodeFactory; + import java.io.BufferedReader; import java.io.PrintWriter; import java.math.BigInteger; @@ -170,8 +172,10 @@ SLBuiltinNode builtinBodyNode = factory.createNode(argumentNodes, this); /* The name of the builtin function is specified via an annotation on the node class. */ String name = lookupNodeInfo(builtinBodyNode.getClass()).shortName(); + + final SourceSection srcSection = SourceSection.createUnavailable(SLLanguage.builtinKind, name); /* Wrap the builtin in a RootNode. Truffle requires all AST to start with a RootNode. */ - SLRootNode rootNode = new SLRootNode(this, new FrameDescriptor(), builtinBodyNode, name); + SLRootNode rootNode = new SLRootNode(this, new FrameDescriptor(), builtinBodyNode, srcSection, name); if (registerRootNodes) { /* Register the builtin function in our function registry. */