es-meta / esmeta

ECMAScript Specification (ECMA-262) Metalanguage
BSD 3-Clause "New" or "Revised" License
175 stars 12 forks source link

Support 'an integer' for Decode #204

Closed taxor03 closed 5 months ago

taxor03 commented 5 months ago

This PR includes supporting an 'an integer' to tackle following form of statement in Decode in ECMA-262:

If _B_ is not an integer, throw *URIError* exception

So, we added some logics according to an expression 'an integer' but there has been remaining issue in Interpreter.scala. This maybe occurred by isInteger in Compiler.scala due to type conversion.

d01c2 commented 5 months ago

The test262-test that fails by commit above are following:

{
  "[InterpreterError] return not undefined: #2110" : [
    "built-ins/decodeURI/S15.1.3.1_A4_T4.js"
  ],
  "[InterpreterError] return not undefined: #2102" : [
    "built-ins/decodeURI/S15.1.3.1_A4_T1.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A4_T1.js"
  ],
  "[InterpreterError] return not undefined: #3892" : [
    "built-ins/decodeURI/S15.1.3.1_A2.4_T1.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A2.4_T1.js"
  ],
  "[InterpreterError] return not undefined: #2096" : [
    "built-ins/decodeURI/S15.1.3.1_A4_T2.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A4_T2.js"
  ],
  "[InterpreterError] return not undefined: #2088" : [
    "built-ins/decodeURI/S15.1.3.1_A3_T3.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A3_T3.js"
  ],
  "[InterpreterError] return not undefined: #4101" : [
    "built-ins/decodeURI/S15.1.3.1_A2.5_T1.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A2.5_T1.js"
  ],
  "[InterpreterError] return not undefined: #2376" : [
    "built-ins/decodeURI/S15.1.3.1_A6_T1.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A6_T1.js"
  ],
  "[InterpreterError] return not undefined: #2104" : [
    "built-ins/decodeURI/S15.1.3.1_A4_T3.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A4_T3.js"
  ],
  "[InterpreterError] return not undefined: #2116" : [
    "built-ins/decodeURIComponent/S15.1.3.2_A4_T4.js"
  ],
  "[InterpreterError] return not undefined: #2693" : [
    "built-ins/decodeURI/S15.1.3.1_A2.3_T1.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A2.3_T1.js"
  ],
  "[InterpreterError] return not undefined: #2160" : [
    "built-ins/decodeURI/S15.1.3.1_A3_T1.js",
    "built-ins/decodeURI/S15.1.3.1_A3_T2.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A3_T1.js",
    "built-ins/decodeURIComponent/S15.1.3.2_A3_T2.js"
  ]
}