@idlizer/arktscgen 2.1.10-arktscgen-2 → 2.1.10-arktscgen-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/libarkts-copy/generator/options.json5 +89 -6
- package/build/libarkts-copy/native/meson.build +1 -0
- package/build/libarkts-copy/native/src/bridges.cc +10 -4
- package/build/libarkts-copy/native/src/common.cc +0 -12
- package/build/libarkts-copy/native/src/generated/bridges.cc +407 -723
- package/build/libarkts-copy/native/src/memoryTracker.cc +178 -0
- package/build/libarkts-copy/native/src/memoryTracker.h +52 -0
- package/build/libarkts-copy/package.json +1 -1
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +14 -2
- package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +2 -2
- package/build/libarkts-copy/src/arkts-api/index.ts +2 -1
- package/build/libarkts-copy/src/arkts-api/node-cache.ts +7 -11
- package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +4 -1
- package/{templates/node-map.ts → build/libarkts-copy/src/arkts-api/peers/DiagnosticKind.ts} +8 -19
- package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +26 -9
- package/build/libarkts-copy/src/arkts-api/utilities/performance.ts +309 -0
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +7 -21
- package/build/libarkts-copy/src/arkts-api/utilities/public.ts +41 -7
- package/build/libarkts-copy/src/arkts-api/visitor.ts +21 -14
- package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +1 -0
- package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +85 -172
- package/build/libarkts-copy/src/generated/factory.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +11 -13
- package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +0 -5
- package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +12 -14
- package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AstDumper.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BindingProps.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/CallExpression.ts +6 -2
- package/build/libarkts-copy/src/generated/peers/CatchClause.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +1 -24
- package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +26 -20
- package/build/libarkts-copy/src/generated/peers/ClassElement.ts +2 -30
- package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +10 -12
- package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/CodeGen.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Declaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Decorator.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/DiagnosticInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSModule.ts +12 -14
- package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +13 -15
- package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +3 -4
- package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/Expression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +10 -16
- package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +2 -2
- package/build/libarkts-copy/src/generated/peers/IRNode.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Identifier.ts +0 -10
- package/build/libarkts-copy/src/generated/peers/IfStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ImportSource.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/LabelPair.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/Literal.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/NamedType.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/NewExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +0 -5
- package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Program.ts +9 -2
- package/build/libarkts-copy/src/generated/peers/Property.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +22 -19
- package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +2 -1
- package/build/libarkts-copy/src/generated/peers/SourceRange.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +0 -5
- package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Statement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SuggestionInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +2 -25
- package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSImportType.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSInferType.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +14 -38
- package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSThisType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +26 -40
- package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +11 -13
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +2 -3
- package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TryStatement.ts +1 -2
- package/build/libarkts-copy/src/generated/peers/TypeNode.ts +10 -12
- package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/VReg.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +11 -20
- package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +0 -1
- package/build/libarkts-copy/src/index.ts +2 -1
- package/build/libarkts-copy/src/plugin-utils.ts +0 -10
- package/build/libarkts-copy/src/reexport-for-generated.ts +1 -20
- package/build/libarkts-copy/src/utils.ts +3 -0
- package/lib/index.js +34 -22
- package/package.json +4 -3
- package/templates/factory.ts +0 -1
- package/templates/peer.ts +0 -1
- package/build/libarkts-copy/src/arkts-api/ChainExpressionFilter.ts +0 -79
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@idlizer/arktscgen",
|
|
3
|
-
"version": "2.1.10-arktscgen-
|
|
3
|
+
"version": "2.1.10-arktscgen-3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"bin": "lib/index.js",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"license": "Apache-2.0",
|
|
20
20
|
"keywords": [],
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@idlizer/core": "2.1.10-arktscgen-
|
|
22
|
+
"@idlizer/core": "2.1.10-arktscgen-3",
|
|
23
23
|
"@types/node": "^18.0.0",
|
|
24
24
|
"commander": "^10.0.0",
|
|
25
25
|
"typescript": "^4.9.5"
|
|
@@ -38,7 +38,8 @@
|
|
|
38
38
|
},
|
|
39
39
|
"scripts": {
|
|
40
40
|
"compile:core": "npm run --prefix ../core compile",
|
|
41
|
-
"compile": "
|
|
41
|
+
"compile:self": "rollup -c",
|
|
42
|
+
"compile": "npm run compile:core && npm run compile:self",
|
|
42
43
|
"external:test": "npm run --prefix ../external/ui2abc/libarkts run",
|
|
43
44
|
"external:clean": "rimraf ../external/ui2abc/libarkts/src/generated/peers",
|
|
44
45
|
"external:generate": "npm run compile && node . --panda-sdk-path ../external/incremental/tools/panda/node_modules/@panda/sdk/ --output-dir ../external/ui2abc/ --options-file ../external/ui2abc/libarkts/generator/options.json5 --debug --no-initialize",
|
package/templates/factory.ts
CHANGED
package/templates/peer.ts
CHANGED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2022-2025 Huawei Device Co., Ltd.
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
* you may not use this file except in compliance with the License.
|
|
5
|
-
* You may obtain a copy of the License at
|
|
6
|
-
*
|
|
7
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
*
|
|
9
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
* See the License for the specific language governing permissions and
|
|
13
|
-
* limitations under the License.
|
|
14
|
-
*/
|
|
15
|
-
|
|
16
|
-
import { BlockStatement, ChainExpression, Expression, isChainExpression, isMemberExpression, MemberExpression } from "src/generated";
|
|
17
|
-
import { AbstractVisitor } from "./AbstractVisitor";
|
|
18
|
-
import { AstNode } from "./peers/AstNode"
|
|
19
|
-
import { factory } from "./factory/nodeFactory";
|
|
20
|
-
import { Es2pandaTokenType, Es2pandaVariableDeclarationKind, Es2pandaVariableDeclaratorFlag } from "src/generated/Es2pandaEnums";
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
export class ChainExpressionFilter extends AbstractVisitor {
|
|
24
|
-
static counter = 0
|
|
25
|
-
transformChainExpression(node: ChainExpression): Expression {
|
|
26
|
-
const expression = node.expression
|
|
27
|
-
if (expression == undefined) return node
|
|
28
|
-
if (!isMemberExpression(expression)) return node
|
|
29
|
-
return this.transformMemberExpression(expression)
|
|
30
|
-
}
|
|
31
|
-
transformMemberExpression(expression: MemberExpression): Expression {
|
|
32
|
-
const temporaryVarName = `chaintmp%%_${ChainExpressionFilter.counter++}`
|
|
33
|
-
return factory.createBlockExpression(
|
|
34
|
-
[
|
|
35
|
-
factory.createVariableDeclaration(
|
|
36
|
-
Es2pandaVariableDeclarationKind.VARIABLE_DECLARATION_KIND_LET,
|
|
37
|
-
[
|
|
38
|
-
factory.createVariableDeclarator(
|
|
39
|
-
Es2pandaVariableDeclaratorFlag.VARIABLE_DECLARATOR_FLAG_LET,
|
|
40
|
-
factory.createIdentifier(temporaryVarName),
|
|
41
|
-
expression.object
|
|
42
|
-
)
|
|
43
|
-
],
|
|
44
|
-
undefined
|
|
45
|
-
),
|
|
46
|
-
factory.createExpressionStatement(
|
|
47
|
-
factory.createConditionalExpression(
|
|
48
|
-
factory.createBinaryExpression(
|
|
49
|
-
factory.createIdentifier(temporaryVarName, undefined),
|
|
50
|
-
factory.createUndefinedLiteral(),
|
|
51
|
-
Es2pandaTokenType.TOKEN_TYPE_PUNCTUATOR_STRICT_EQUAL
|
|
52
|
-
),
|
|
53
|
-
factory.createUndefinedLiteral(),
|
|
54
|
-
factory.createMemberExpression(
|
|
55
|
-
factory.createIdentifier(temporaryVarName, undefined),
|
|
56
|
-
expression.property,
|
|
57
|
-
expression.kind,
|
|
58
|
-
expression.isComputed,
|
|
59
|
-
false
|
|
60
|
-
)
|
|
61
|
-
)
|
|
62
|
-
)
|
|
63
|
-
]
|
|
64
|
-
)
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
visitor(beforeChildren: BlockStatement): BlockStatement
|
|
69
|
-
visitor(beforeChildren: AstNode): AstNode {
|
|
70
|
-
const node = this.visitEachChild(beforeChildren)
|
|
71
|
-
if (isChainExpression(node)) {
|
|
72
|
-
return this.transformChainExpression(node)
|
|
73
|
-
}
|
|
74
|
-
if (isMemberExpression(node) && node.isOptional) {
|
|
75
|
-
return this.transformMemberExpression(node)
|
|
76
|
-
}
|
|
77
|
-
return node
|
|
78
|
-
}
|
|
79
|
-
}
|