Added RegExp dotAll flag (#4000)

JerryScript-DCO-1.0-Signed-off-by: bence gabor kis kisbg@inf.u-szeged.hu
This commit is contained in:
kisbg
2020-07-24 13:42:57 +02:00
committed by GitHub
parent cf097ca16b
commit d39a076b2e
11 changed files with 87 additions and 11 deletions
@@ -55,6 +55,7 @@ enum
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_MULTILINE,
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_STICKY,
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_UNICODE,
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_DOT_ALL,
#endif /* ENABLED (JERRY_ESNEXT) */
#if ENABLED (JERRY_BUILTIN_ANNEXB)
ECMA_REGEXP_PROTOTYPE_ROUTINE_COMPILE,
@@ -107,7 +108,8 @@ ecma_builtin_regexp_prototype_flags_helper (ecma_extended_object_t *re_obj_p, /*
RE_FLAG_IGNORE_CASE,
RE_FLAG_MULTILINE,
RE_FLAG_STICKY,
RE_FLAG_UNICODE
RE_FLAG_UNICODE,
RE_FLAG_DOTALL,
};
uint16_t offset = (uint16_t) (builtin_routine_id - ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_GLOBAL);
@@ -133,6 +135,7 @@ ecma_builtin_regexp_prototype_get_flags (ecma_object_t *object_p) /**< this obje
LIT_MAGIC_STRING_GLOBAL,
LIT_MAGIC_STRING_IGNORECASE_UL,
LIT_MAGIC_STRING_MULTILINE,
LIT_MAGIC_STRING_DOTALL,
LIT_MAGIC_STRING_UNICODE,
LIT_MAGIC_STRING_STICKY
};
@@ -142,6 +145,7 @@ ecma_builtin_regexp_prototype_get_flags (ecma_object_t *object_p) /**< this obje
LIT_CHAR_LOWERCASE_G,
LIT_CHAR_LOWERCASE_I,
LIT_CHAR_LOWERCASE_M,
LIT_CHAR_LOWERCASE_S,
LIT_CHAR_LOWERCASE_U,
LIT_CHAR_LOWERCASE_Y
};
@@ -607,6 +611,7 @@ ecma_builtin_regexp_prototype_dispatch_routine (uint16_t builtin_routine_id, /**
case ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_MULTILINE:
case ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_STICKY:
case ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_UNICODE:
case ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_DOT_ALL:
{
ecma_extended_object_t *re_obj_p = (ecma_extended_object_t *) obj_p;
@@ -43,6 +43,10 @@ ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_IGNORECASE_UL,
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_IGNORE_CASE,
ECMA_PROPERTY_FLAG_CONFIGURABLE)
ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_DOTALL,
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_DOT_ALL,
ECMA_PROPERTY_FLAG_CONFIGURABLE)
ACCESSOR_READ_ONLY (LIT_MAGIC_STRING_MULTILINE,
ECMA_REGEXP_PROTOTYPE_ROUTINE_GET_MULTILINE,
ECMA_PROPERTY_FLAG_CONFIGURABLE)