swc/ecmascript/parser/tests/jsx/basic/14/input.js.stdout
강동윤 ea610c6ded
Typescript & parser for decorators
swc_atoms:
 - add some atoms

swc_ecma_ast:
 - ast nodes for typescript
 - `ClassMethod` -> `Method`, `ClassMethodKind` -> `MethodKind`
 - private class method / class property
 - use separate type for tagged template literals
 - add `declare` field to `Decl`s
 - make function body optional

swc_ecma_parser:
 - rename Type to TokenContext
 - support decorators
 Note: error reporting for invalid decorator is not implemented yet
 - merge `Config` into `Syntax`
 - Use DiagnosticBuilder for error type
This is to make backtracking cheaper.

swc_ecma_transforms:
 - add `strip` pass
2019-01-07 19:43:47 +09:00

127 lines
5.2 KiB
Plaintext

Module {
span: Span {
lo: BytePos(
0
),
hi: BytePos(
11
),
ctxt: #0
},
body: [
Stmt(
Expr(
JSXElement(
JSXElement {
span: Span {
lo: BytePos(
0
),
hi: BytePos(
11
),
ctxt: #0
},
opening: JSXOpeningElement {
name: JSXMemberExpr(
JSXMemberExpr {
obj: Ident(
Ident {
sym: a,
span: Span {
lo: BytePos(
1
),
hi: BytePos(
2
),
ctxt: #0
},
type_ann: None,
optional: false
}
),
prop: Ident {
sym: b,
span: Span {
lo: BytePos(
3
),
hi: BytePos(
4
),
ctxt: #0
},
type_ann: None,
optional: false
}
}
),
span: Span {
lo: BytePos(
1
),
hi: BytePos(
5
),
ctxt: #0
},
attrs: [],
self_closing: false,
type_args: None
},
children: [],
closing: Some(
JSXClosingElement {
span: Span {
lo: BytePos(
7
),
hi: BytePos(
11
),
ctxt: #0
},
name: JSXMemberExpr(
JSXMemberExpr {
obj: Ident(
Ident {
sym: a,
span: Span {
lo: BytePos(
7
),
hi: BytePos(
8
),
ctxt: #0
},
type_ann: None,
optional: false
}
),
prop: Ident {
sym: b,
span: Span {
lo: BytePos(
9
),
hi: BytePos(
10
),
ctxt: #0
},
type_ann: None,
optional: false
}
}
)
}
)
}
)
)
)
]
}