Remove Engine::enable_doc_comments.
This commit is contained in:
parent
bb5dc7b637
commit
aad842fe50
@ -4,6 +4,11 @@ Rhai Release Notes
|
|||||||
Version 0.20.2
|
Version 0.20.2
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
Breaking changes
|
||||||
|
----------------
|
||||||
|
|
||||||
|
* `Engine::disable_doc_comments` is removed because doc-comments are now placed under the `metadata` feature flag.
|
||||||
|
|
||||||
New features
|
New features
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
@ -804,11 +804,6 @@ pub struct Engine {
|
|||||||
/// Max limits.
|
/// Max limits.
|
||||||
#[cfg(not(feature = "unchecked"))]
|
#[cfg(not(feature = "unchecked"))]
|
||||||
pub(crate) limits: Limits,
|
pub(crate) limits: Limits,
|
||||||
|
|
||||||
/// Disable doc-comments?
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
#[cfg(feature = "metadata")]
|
|
||||||
pub(crate) disable_doc_comments: bool,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
impl fmt::Debug for Engine {
|
impl fmt::Debug for Engine {
|
||||||
@ -926,10 +921,6 @@ impl Engine {
|
|||||||
#[cfg(not(feature = "no_object"))]
|
#[cfg(not(feature = "no_object"))]
|
||||||
max_map_size: None,
|
max_map_size: None,
|
||||||
},
|
},
|
||||||
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
#[cfg(feature = "metadata")]
|
|
||||||
disable_doc_comments: false,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
engine.global_namespace.set_internal(true);
|
engine.global_namespace.set_internal(true);
|
||||||
@ -987,10 +978,6 @@ impl Engine {
|
|||||||
#[cfg(not(feature = "no_object"))]
|
#[cfg(not(feature = "no_object"))]
|
||||||
max_map_size: None,
|
max_map_size: None,
|
||||||
},
|
},
|
||||||
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
#[cfg(feature = "metadata")]
|
|
||||||
disable_doc_comments: false,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
engine.global_namespace.set_internal(true);
|
engine.global_namespace.set_internal(true);
|
||||||
|
@ -31,16 +31,6 @@ impl Engine {
|
|||||||
pub fn optimization_level(&self) -> crate::OptimizationLevel {
|
pub fn optimization_level(&self) -> crate::OptimizationLevel {
|
||||||
self.optimization_level
|
self.optimization_level
|
||||||
}
|
}
|
||||||
/// _(METADATA)_ Enable/disable doc-comments for functions.
|
|
||||||
/// Exported under the `metadata` feature only.
|
|
||||||
/// Not available under `no_function`.
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
#[cfg(feature = "metadata")]
|
|
||||||
#[inline(always)]
|
|
||||||
pub fn enable_doc_comments(&mut self, enable: bool) -> &mut Self {
|
|
||||||
self.disable_doc_comments = !enable;
|
|
||||||
self
|
|
||||||
}
|
|
||||||
/// Set the maximum levels of function calls allowed for a script in order to avoid
|
/// Set the maximum levels of function calls allowed for a script in order to avoid
|
||||||
/// infinite recursion and stack overflows.
|
/// infinite recursion and stack overflows.
|
||||||
///
|
///
|
||||||
|
22
src/token.rs
22
src/token.rs
@ -973,10 +973,6 @@ pub struct TokenizeState {
|
|||||||
pub comment_level: usize,
|
pub comment_level: usize,
|
||||||
/// Include comments?
|
/// Include comments?
|
||||||
pub include_comments: bool,
|
pub include_comments: bool,
|
||||||
/// Disable doc-comments?
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
#[cfg(feature = "metadata")]
|
|
||||||
pub disable_doc_comments: bool,
|
|
||||||
/// Is the current tokenizer position within the text stream of an interpolated string?
|
/// Is the current tokenizer position within the text stream of an interpolated string?
|
||||||
pub is_within_text_terminated_by: Option<char>,
|
pub is_within_text_terminated_by: Option<char>,
|
||||||
}
|
}
|
||||||
@ -1357,12 +1353,11 @@ fn get_next_token_inner(
|
|||||||
|
|
||||||
#[cfg(not(feature = "no_function"))]
|
#[cfg(not(feature = "no_function"))]
|
||||||
#[cfg(feature = "metadata")]
|
#[cfg(feature = "metadata")]
|
||||||
let include_comments =
|
let include_comments = if is_doc_comment(comment.as_ref().unwrap()) {
|
||||||
if !state.disable_doc_comments && is_doc_comment(comment.as_ref().unwrap()) {
|
true
|
||||||
true
|
} else {
|
||||||
} else {
|
include_comments
|
||||||
include_comments
|
};
|
||||||
};
|
|
||||||
|
|
||||||
if include_comments {
|
if include_comments {
|
||||||
return Some((Token::Comment(comment.unwrap()), start_pos));
|
return Some((Token::Comment(comment.unwrap()), start_pos));
|
||||||
@ -1705,7 +1700,7 @@ fn get_next_token_inner(
|
|||||||
let mut comment = match stream.peek_next() {
|
let mut comment = match stream.peek_next() {
|
||||||
#[cfg(not(feature = "no_function"))]
|
#[cfg(not(feature = "no_function"))]
|
||||||
#[cfg(feature = "metadata")]
|
#[cfg(feature = "metadata")]
|
||||||
Some('/') if !state.disable_doc_comments => {
|
Some('/') => {
|
||||||
eat_next(stream, pos);
|
eat_next(stream, pos);
|
||||||
|
|
||||||
// Long streams of `///...` are not doc-comments
|
// Long streams of `///...` are not doc-comments
|
||||||
@ -1740,7 +1735,7 @@ fn get_next_token_inner(
|
|||||||
let mut comment = match stream.peek_next() {
|
let mut comment = match stream.peek_next() {
|
||||||
#[cfg(not(feature = "no_function"))]
|
#[cfg(not(feature = "no_function"))]
|
||||||
#[cfg(feature = "metadata")]
|
#[cfg(feature = "metadata")]
|
||||||
Some('*') if !state.disable_doc_comments => {
|
Some('*') => {
|
||||||
eat_next(stream, pos);
|
eat_next(stream, pos);
|
||||||
|
|
||||||
// Long streams of `/****...` are not doc-comments
|
// Long streams of `/****...` are not doc-comments
|
||||||
@ -2239,9 +2234,6 @@ impl Engine {
|
|||||||
non_unary: false,
|
non_unary: false,
|
||||||
comment_level: 0,
|
comment_level: 0,
|
||||||
include_comments: false,
|
include_comments: false,
|
||||||
#[cfg(not(feature = "no_function"))]
|
|
||||||
#[cfg(feature = "metadata")]
|
|
||||||
disable_doc_comments: self.disable_doc_comments,
|
|
||||||
is_within_text_terminated_by: None,
|
is_within_text_terminated_by: None,
|
||||||
},
|
},
|
||||||
pos: Position::new(1, 0),
|
pos: Position::new(1, 0),
|
||||||
|
@ -30,7 +30,7 @@ fn test_comments() -> Result<(), Box<EvalAltResult>> {
|
|||||||
#[cfg(feature = "metadata")]
|
#[cfg(feature = "metadata")]
|
||||||
#[test]
|
#[test]
|
||||||
fn test_comments_doc() -> Result<(), Box<EvalAltResult>> {
|
fn test_comments_doc() -> Result<(), Box<EvalAltResult>> {
|
||||||
let mut engine = Engine::new();
|
let engine = Engine::new();
|
||||||
|
|
||||||
let ast = engine.compile(
|
let ast = engine.compile(
|
||||||
"
|
"
|
||||||
@ -89,17 +89,5 @@ fn test_comments_doc() -> Result<(), Box<EvalAltResult>> {
|
|||||||
)
|
)
|
||||||
.is_err());
|
.is_err());
|
||||||
|
|
||||||
engine.enable_doc_comments(false);
|
|
||||||
|
|
||||||
engine.compile(
|
|
||||||
"
|
|
||||||
/// Hello world!
|
|
||||||
let x = 42;
|
|
||||||
|
|
||||||
/** Hello world! */
|
|
||||||
let x = 42;
|
|
||||||
",
|
|
||||||
)?;
|
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user