Add API function to check if the specified feature is enabled. (#1465)
JerryScript-DCO-1.0-Signed-off-by: Robert Sipka rsipka.uszeged@partner.samsung.com
This commit is contained in:
@@ -22,6 +22,18 @@ Possible types of an error:
|
|||||||
- JERRY_ERROR_TYPE - type error
|
- JERRY_ERROR_TYPE - type error
|
||||||
- JERRY_ERROR_URI - URI error
|
- JERRY_ERROR_URI - URI error
|
||||||
|
|
||||||
|
## jerry_feature_t
|
||||||
|
|
||||||
|
Possible compile time enabled feature types:
|
||||||
|
|
||||||
|
- JERRY_FEATURE_ERROR_MESSAGES - error messages
|
||||||
|
- JERRY_FEATURE_CPOINTER_32_BIT - 32 bit compressed pointers
|
||||||
|
- JERRY_FEATURE_MEM_STATS - memory statistics
|
||||||
|
- JERRY_FEATURE_PARSER_DUMP - parser byte-code dumps
|
||||||
|
- JERRY_FEATURE_REGEXP_DUMP - regexp byte-code dumps
|
||||||
|
- JERRY_FEATURE_SNAPSHOT_SAVE - saving snapshot files
|
||||||
|
- JERRY_FEATURE_SNAPSHOT_EXEC - executing snapshot files
|
||||||
|
|
||||||
## jerry_char_t
|
## jerry_char_t
|
||||||
|
|
||||||
**Summary**
|
**Summary**
|
||||||
@@ -917,6 +929,38 @@ jerry_value_is_undefined (const jerry_value_t value)
|
|||||||
|
|
||||||
- [jerry_release_value](#jerry_release_value)
|
- [jerry_release_value](#jerry_release_value)
|
||||||
|
|
||||||
|
## jerry_is_feature_enabled
|
||||||
|
|
||||||
|
**Summary**
|
||||||
|
|
||||||
|
Returns whether the specified compile time feature is enabled.
|
||||||
|
|
||||||
|
**Prototype**
|
||||||
|
|
||||||
|
```c
|
||||||
|
bool
|
||||||
|
jerry_is_feature_enabled (const jerry_feature_t feature);
|
||||||
|
```
|
||||||
|
|
||||||
|
- `feature` - jerry feature
|
||||||
|
- return value
|
||||||
|
- true, if the given `jerry_feature_t` is enabled
|
||||||
|
- false, otherwise
|
||||||
|
|
||||||
|
**Example**
|
||||||
|
|
||||||
|
```c
|
||||||
|
{
|
||||||
|
...
|
||||||
|
jerry_feature_t feature = JERRY_FEATURE_SNAPSHOT_SAVE;
|
||||||
|
|
||||||
|
if (jerry_is_feature_enabled (feature))
|
||||||
|
{
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
# Error flag manipulation functions
|
# Error flag manipulation functions
|
||||||
|
|
||||||
|
|||||||
@@ -68,6 +68,18 @@ typedef enum
|
|||||||
JERRY_ERROR_URI /**< URIError */
|
JERRY_ERROR_URI /**< URIError */
|
||||||
} jerry_error_t;
|
} jerry_error_t;
|
||||||
|
|
||||||
|
typedef enum
|
||||||
|
{
|
||||||
|
JERRY_FEATURE_ERROR_MESSAGES, /**< error messages */
|
||||||
|
JERRY_FEATURE_CPOINTER_32_BIT, /**< 32 bit compressed pointers */
|
||||||
|
JERRY_FEATURE_MEM_STATS, /**< memory statistics */
|
||||||
|
JERRY_FEATURE_PARSER_DUMP, /**< parser byte-code dumps */
|
||||||
|
JERRY_FEATURE_REGEXP_DUMP, /**< regexp byte-code dumps */
|
||||||
|
JERRY_FEATURE_SNAPSHOT_SAVE, /**< saving snapshot files */
|
||||||
|
JERRY_FEATURE_SNAPSHOT_EXEC, /**< executing snapshot files */
|
||||||
|
JERRY_FEATURE__COUNT /**< number of features. NOTE: must be at the end of the list */
|
||||||
|
} jerry_feature_t;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Jerry's char value
|
* Jerry's char value
|
||||||
*/
|
*/
|
||||||
@@ -191,6 +203,11 @@ bool jerry_value_is_object (const jerry_value_t);
|
|||||||
bool jerry_value_is_string (const jerry_value_t);
|
bool jerry_value_is_string (const jerry_value_t);
|
||||||
bool jerry_value_is_undefined (const jerry_value_t);
|
bool jerry_value_is_undefined (const jerry_value_t);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Checker function of whether the specified compile feature is enabled
|
||||||
|
*/
|
||||||
|
bool jerry_is_feature_enabled (const jerry_feature_t);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error flag manipulation functions
|
* Error flag manipulation functions
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -518,6 +518,41 @@ jerry_value_is_undefined (const jerry_value_t value) /**< api value */
|
|||||||
return ecma_is_value_undefined (value);
|
return ecma_is_value_undefined (value);
|
||||||
} /* jerry_value_is_undefined */
|
} /* jerry_value_is_undefined */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the specified feature is enabled.
|
||||||
|
*
|
||||||
|
* @return true - if the specified feature is enabled,
|
||||||
|
* false - otherwise.
|
||||||
|
*/
|
||||||
|
bool jerry_is_feature_enabled (const jerry_feature_t feature)
|
||||||
|
{
|
||||||
|
JERRY_ASSERT (feature < JERRY_FEATURE__COUNT);
|
||||||
|
|
||||||
|
return (false
|
||||||
|
#ifdef JERRY_ENABLE_ERROR_MESSAGES
|
||||||
|
|| feature == JERRY_FEATURE_ERROR_MESSAGES
|
||||||
|
#endif /* JERRY_ENABLE_ERROR_MESSAGES */
|
||||||
|
#ifdef JERRY_CPOINTER_32_BIT
|
||||||
|
|| feature == JERRY_FEATURE_CPOINTER_32_BIT
|
||||||
|
#endif /* JERRY_CPOINTER_32_BIT */
|
||||||
|
#ifdef JMEM_STATS
|
||||||
|
|| feature == JERRY_FEATURE_MEM_STATS
|
||||||
|
#endif /* JMEM_STATS */
|
||||||
|
#ifdef PARSER_DUMP_BYTE_CODE
|
||||||
|
|| feature == JERRY_FEATURE_PARSER_DUMP
|
||||||
|
#endif /* PARSER_DUMP_BYTE_CODE */
|
||||||
|
#ifdef REGEXP_DUMP_BYTE_CODE
|
||||||
|
|| feature == JERRY_FEATURE_REGEXP_DUMP
|
||||||
|
#endif /* REGEXP_DUMP_BYTE_CODE */
|
||||||
|
#ifdef JERRY_ENABLE_SNAPSHOT_SAVE
|
||||||
|
|| feature == JERRY_FEATURE_SNAPSHOT_SAVE
|
||||||
|
#endif /* JERRY_ENABLE_SNAPSHOT_SAVE */
|
||||||
|
#ifdef JERRY_ENABLE_SNAPSHOT_EXEC
|
||||||
|
|| feature == JERRY_FEATURE_SNAPSHOT_EXEC
|
||||||
|
#endif /* JERRY_ENABLE_SNAPSHOT_EXEC */
|
||||||
|
);
|
||||||
|
} /* jerry_is_feature_enabled */
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if the specified value is an error value.
|
* Check if the specified value is an error value.
|
||||||
*
|
*
|
||||||
|
|||||||
Reference in New Issue
Block a user