Skip to content

Commit 84b2605

Browse files
committed
fix(linter/plugins): remove parent property from comments (#14624)
Part of #14564. #14589 added first part of support for comments-related APIs in Oxlint JS plugins, but `Comment` objects had an extraneous `parent` field. This PR removes that field, using the `#[estree(no_parent)]` attribute (added in #14622).
1 parent 2b14abc commit 84b2605

File tree

10 files changed

+70
-121
lines changed

10 files changed

+70
-121
lines changed

apps/oxlint/src-js/generated/deserialize.js

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5567,22 +5567,15 @@ function deserializeCommentKind(pos) {
55675567
}
55685568

55695569
function deserializeComment(pos) {
5570-
let type = deserializeCommentKind(pos + 12),
5571-
start = deserializeU32(pos),
5572-
end = deserializeU32(pos + 4),
5573-
previousParent = parent,
5574-
node = parent = {
5575-
__proto__: NodeProto,
5576-
type,
5577-
value: null,
5578-
start,
5579-
end,
5580-
range: [start, end],
5581-
parent,
5582-
};
5583-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
5584-
parent = previousParent;
5585-
return node;
5570+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
5571+
return {
5572+
__proto__: NodeProto,
5573+
type,
5574+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
5575+
start,
5576+
end,
5577+
range: [start, end],
5578+
};
55865579
}
55875580

55885581
function deserializeNameSpan(pos) {

crates/oxc_ast/src/ast/comment.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ impl<'alloc> CloneIn<'alloc> for CommentNewlines {
123123
#[ast]
124124
#[generate_derive(CloneIn, ContentEq, ESTree)]
125125
#[derive(Debug, Default, Clone, Copy, Eq, PartialEq)]
126-
#[estree(add_fields(value = CommentValue), no_ts_def)]
126+
#[estree(add_fields(value = CommentValue), no_ts_def, no_parent)]
127127
pub struct Comment {
128128
/// The span of the comment text, with leading and trailing delimiters.
129129
pub span: Span,

napi/parser/generated/deserialize/js.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4179,17 +4179,13 @@ function deserializeCommentKind(pos) {
41794179
}
41804180

41814181
function deserializeComment(pos) {
4182-
let type = deserializeCommentKind(pos + 12),
4183-
start = deserializeU32(pos),
4184-
end = deserializeU32(pos + 4),
4185-
node = {
4186-
type,
4187-
value: null,
4188-
start,
4189-
end,
4190-
};
4191-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
4192-
return node;
4182+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
4183+
return {
4184+
type,
4185+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
4186+
start,
4187+
end,
4188+
};
41934189
}
41944190

41954191
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/js_parent.js

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4904,20 +4904,13 @@ function deserializeCommentKind(pos) {
49044904
}
49054905

49064906
function deserializeComment(pos) {
4907-
let type = deserializeCommentKind(pos + 12),
4908-
start = deserializeU32(pos),
4909-
end = deserializeU32(pos + 4),
4910-
previousParent = parent,
4911-
node = parent = {
4912-
type,
4913-
value: null,
4914-
start,
4915-
end,
4916-
parent,
4917-
};
4918-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
4919-
parent = previousParent;
4920-
return node;
4907+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
4908+
return {
4909+
type,
4910+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
4911+
start,
4912+
end,
4913+
};
49214914
}
49224915

49234916
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/js_range.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4596,18 +4596,14 @@ function deserializeCommentKind(pos) {
45964596
}
45974597

45984598
function deserializeComment(pos) {
4599-
let type = deserializeCommentKind(pos + 12),
4600-
start = deserializeU32(pos),
4601-
end = deserializeU32(pos + 4),
4602-
node = {
4603-
type,
4604-
value: null,
4605-
start,
4606-
end,
4607-
range: [start, end],
4608-
};
4609-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
4610-
return node;
4599+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
4600+
return {
4601+
type,
4602+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
4603+
start,
4604+
end,
4605+
range: [start, end],
4606+
};
46114607
}
46124608

46134609
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/js_range_parent.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5117,21 +5117,14 @@ function deserializeCommentKind(pos) {
51175117
}
51185118

51195119
function deserializeComment(pos) {
5120-
let type = deserializeCommentKind(pos + 12),
5121-
start = deserializeU32(pos),
5122-
end = deserializeU32(pos + 4),
5123-
previousParent = parent,
5124-
node = parent = {
5125-
type,
5126-
value: null,
5127-
start,
5128-
end,
5129-
range: [start, end],
5130-
parent,
5131-
};
5132-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
5133-
parent = previousParent;
5134-
return node;
5120+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
5121+
return {
5122+
type,
5123+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
5124+
start,
5125+
end,
5126+
range: [start, end],
5127+
};
51355128
}
51365129

51375130
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/ts.js

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4441,17 +4441,13 @@ function deserializeCommentKind(pos) {
44414441
}
44424442

44434443
function deserializeComment(pos) {
4444-
let type = deserializeCommentKind(pos + 12),
4445-
start = deserializeU32(pos),
4446-
end = deserializeU32(pos + 4),
4447-
node = {
4448-
type,
4449-
value: null,
4450-
start,
4451-
end,
4452-
};
4453-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
4454-
return node;
4444+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
4445+
return {
4446+
type,
4447+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
4448+
start,
4449+
end,
4450+
};
44554451
}
44564452

44574453
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/ts_parent.js

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5170,20 +5170,13 @@ function deserializeCommentKind(pos) {
51705170
}
51715171

51725172
function deserializeComment(pos) {
5173-
let type = deserializeCommentKind(pos + 12),
5174-
start = deserializeU32(pos),
5175-
end = deserializeU32(pos + 4),
5176-
previousParent = parent,
5177-
node = parent = {
5178-
type,
5179-
value: null,
5180-
start,
5181-
end,
5182-
parent,
5183-
};
5184-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
5185-
parent = previousParent;
5186-
return node;
5173+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
5174+
return {
5175+
type,
5176+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
5177+
start,
5178+
end,
5179+
};
51875180
}
51885181

51895182
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/ts_range.js

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4856,18 +4856,14 @@ function deserializeCommentKind(pos) {
48564856
}
48574857

48584858
function deserializeComment(pos) {
4859-
let type = deserializeCommentKind(pos + 12),
4860-
start = deserializeU32(pos),
4861-
end = deserializeU32(pos + 4),
4862-
node = {
4863-
type,
4864-
value: null,
4865-
start,
4866-
end,
4867-
range: [start, end],
4868-
};
4869-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
4870-
return node;
4859+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
4860+
return {
4861+
type,
4862+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
4863+
start,
4864+
end,
4865+
range: [start, end],
4866+
};
48714867
}
48724868

48734869
function deserializeNameSpan(pos) {

napi/parser/generated/deserialize/ts_range_parent.js

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5390,21 +5390,14 @@ function deserializeCommentKind(pos) {
53905390
}
53915391

53925392
function deserializeComment(pos) {
5393-
let type = deserializeCommentKind(pos + 12),
5394-
start = deserializeU32(pos),
5395-
end = deserializeU32(pos + 4),
5396-
previousParent = parent,
5397-
node = parent = {
5398-
type,
5399-
value: null,
5400-
start,
5401-
end,
5402-
range: [start, end],
5403-
parent,
5404-
};
5405-
node.value = sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2));
5406-
parent = previousParent;
5407-
return node;
5393+
let type = deserializeCommentKind(pos + 12), start = deserializeU32(pos), end = deserializeU32(pos + 4);
5394+
return {
5395+
type,
5396+
value: sourceText.slice(start + 2, end - (type === 'Line' ? 0 : 2)),
5397+
start,
5398+
end,
5399+
range: [start, end],
5400+
};
54085401
}
54095402

54105403
function deserializeNameSpan(pos) {

0 commit comments

Comments
 (0)