AST_Var.DEFMETHOD("has_const_pragma", function() {
var comments_before = this.start && this.start.comments_before;
var lastComment = comments_before && comments_before[comments_before.length - 1];
- return lastComment && /@const/.test(lastComment.value);
+ return lastComment && /@const\b/.test(lastComment.value);
});
AST_Toplevel.DEFMETHOD("_default_mangler_options", function(options){
}\r
}\r
\r
+dead_code_const_annotation_regex: {\r
+ options = {\r
+ dead_code : true,\r
+ loops : true,\r
+ booleans : true,\r
+ conditionals : true,\r
+ evaluate : true\r
+ };\r
+ input: {\r
+ var unused;\r
+ // @constraint this shouldn't be a constant\r
+ var CONST_FOO_ANN = false;\r
+ if (CONST_FOO_ANN) {\r
+ console.log("reachable");\r
+ }\r
+ }\r
+ expect: {\r
+ var unused;\r
+ var CONST_FOO_ANN = !1;\r
+ CONST_FOO_ANN && console.log('reachable');\r
+ }\r
+}\r
+\r
dead_code_const_annotation_complex_scope: {\r
options = {\r
dead_code : true,\r
input: {\r
var unused_var;\r
/** @const */ var test = 'test';\r
- /** @const */ var CONST_FOO_ANN = false;\r
+ // @const\r
+ var CONST_FOO_ANN = false;\r
var unused_var_2;\r
if (CONST_FOO_ANN) {\r
console.log("unreachable");\r