Code coverage report for sc/lang/compiler/codegen/literal.js

Statements: 100% (14 / 14)      Branches: 100% (7 / 7)      Functions: 100% (2 / 2)      Lines: 100% (14 / 14)      Ignored: none     

All files » sc/lang/compiler/codegen/ » literal.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 301     1   1 1   1 119   100   3   1   4   1   2   1     7      
(function(sc) {
  "use strict";
 
  require("./codegen");
 
  var Token = sc.lang.compiler.Token;
  var CodeGen = sc.lang.compiler.CodeGen;
 
  CodeGen.addGenerateMethod("Literal", function(node) {
    switch (node.valueType) {
    case Token.IntegerLiteral:
      return "$.Integer(" + node.value + ")";
    case Token.FloatLiteral:
      return "$.Float(" + node.value + ")";
    case Token.CharLiteral:
      return "$.Char('" + node.value + "')";
    case Token.SymbolLiteral:
      return "$.Symbol('" + node.value + "')";
    case Token.StringLiteral:
      return "$.String('" + node.value + "')";
    case Token.TrueLiteral:
      return "$.True()";
    case Token.FalseLiteral:
      return "$.False()";
    }
 
    return "$.Nil()";
  });
})(sc);