making srclocs a kernel structure

This commit is contained in:
Danny Yoo 2011-08-31 17:53:02 -04:00
parent eacc559bf1
commit e5e264f0b8
2 changed files with 9 additions and 8 deletions

View File

@ -64,6 +64,7 @@
baselib-placeholders.js baselib-placeholders.js
baselib-keywords.js baselib-keywords.js
baselib-structs.js baselib-structs.js
baselib-srclocs.js
baselib-ports.js baselib-ports.js
baselib-functions.js baselib-functions.js
baselib-modules.js baselib-modules.js

View File

@ -1,30 +1,30 @@
/*jslint vars: true, white: true, plusplus: false, maxerr: 50, indent: 4 */
(function(baselib) { (function(baselib) {
'use strict'; 'use strict';
var exports = {}; var exports = {};
baselib.srclocs = exports; baselib.srclocs = exports;
// (define-struct srcloc (source line column position span)) // (define-struct srcloc (source line column position span))
var srcloc = baselib.structs.makeStructureType( var srcloc = baselib.structs.makeStructureType(
'srcloc', false, 5, 0, false, false); 'srcloc', false, 5, 0, false, false);
var makeSrcloc = srcloc.constructor; var makeSrcloc = srcloc.constructor;
var isSrcloc = srcloc.predicate; var isSrcloc = srcloc.predicate;
var srclocSource = function(x) { return srcloc.accessor(x, 0); } var srclocSource = function(x) { return srcloc.accessor(x, 0); };
var srclocLine = function(x) { return srcloc.accessor(x, 1); } var srclocLine = function(x) { return srcloc.accessor(x, 1); };
var srclocColumn = function(x) { return srcloc.accessor(x, 2); } var srclocColumn = function(x) { return srcloc.accessor(x, 2); };
var srclocPosition = function(x) { return srcloc.accessor(x, 3); } var srclocPosition = function(x) { return srcloc.accessor(x, 3); };
var srclocSpan = function(x) { return srcloc.accessor(x, 4); } var srclocSpan = function(x) { return srcloc.accessor(x, 4); };
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
exports.makeSrcloc = makeSrcloc; exports.makeSrcloc = makeSrcloc;
exports.isSrcloc = isSrcloc; exports.isSrcloc = isSrcloc;
exports.srclocSource = srclocSource; exports.srclocSource = srclocSource;
exports.srclocLine = srclocLine;
exports.srclocColumn = srclocColumn; exports.srclocColumn = srclocColumn;
exports.srclocPosition = srclocPosition; exports.srclocPosition = srclocPosition;
exports.srclocSpan = srclocSpan; exports.srclocSpan = srclocSpan;
}(this.plt.baselib)) }(this.plt.baselib));