(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports)
| 53351 | return typeParameterToDeclarationWithConstraint(type, context, constraintNode); |
| 53352 | } |
| 53353 | function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) { |
| 53354 | var parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 164 /* SyntaxKind.Parameter */); |
| 53355 | if (!parameterDeclaration && !ts.isTransientSymbol(parameterSymbol)) { |
| 53356 | parameterDeclaration = ts.getDeclarationOfKind(parameterSymbol, 340 /* SyntaxKind.JSDocParameterTag */); |
| 53357 | } |
| 53358 | var parameterType = getTypeOfSymbol(parameterSymbol); |
| 53359 | if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) { |
| 53360 | parameterType = getOptionalType(parameterType); |
| 53361 | } |
| 53362 | var parameterTypeNode = serializeTypeForDeclaration(context, parameterType, parameterSymbol, context.enclosingDeclaration, privateSymbolVisitor, bundledImports); |
| 53363 | var modifiers = !(context.flags & 8192 /* NodeBuilderFlags.OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && parameterDeclaration.modifiers ? parameterDeclaration.modifiers.map(ts.factory.cloneNode) : undefined; |
| 53364 | var isRest = parameterDeclaration && ts.isRestParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 32768 /* CheckFlags.RestParameter */; |
| 53365 | var dotDotDotToken = isRest ? ts.factory.createToken(25 /* SyntaxKind.DotDotDotToken */) : undefined; |
| 53366 | var name = parameterDeclaration ? parameterDeclaration.name ? |
| 53367 | parameterDeclaration.name.kind === 79 /* SyntaxKind.Identifier */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name), 16777216 /* EmitFlags.NoAsciiEscaping */) : |
| 53368 | parameterDeclaration.name.kind === 161 /* SyntaxKind.QualifiedName */ ? ts.setEmitFlags(ts.factory.cloneNode(parameterDeclaration.name.right), 16777216 /* EmitFlags.NoAsciiEscaping */) : |
| 53369 | cloneBindingName(parameterDeclaration.name) : |
| 53370 | ts.symbolName(parameterSymbol) : |
| 53371 | ts.symbolName(parameterSymbol); |
| 53372 | var isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || ts.getCheckFlags(parameterSymbol) & 16384 /* CheckFlags.OptionalParameter */; |
| 53373 | var questionToken = isOptional ? ts.factory.createToken(57 /* SyntaxKind.QuestionToken */) : undefined; |
| 53374 | var parameterNode = ts.factory.createParameterDeclaration( |
| 53375 | /*decorators*/ undefined, modifiers, dotDotDotToken, name, questionToken, parameterTypeNode, |
| 53376 | /*initializer*/ undefined); |
| 53377 | context.approximateLength += ts.symbolName(parameterSymbol).length + 3; |
| 53378 | return parameterNode; |
| 53379 | function cloneBindingName(node) { |
| 53380 | return elideInitializerAndSetEmitFlags(node); |
| 53381 | function elideInitializerAndSetEmitFlags(node) { |
| 53382 | if (context.tracker.trackSymbol && ts.isComputedPropertyName(node) && isLateBindableName(node)) { |
| 53383 | trackComputedName(node.expression, context.enclosingDeclaration, context); |
| 53384 | } |
| 53385 | var visited = ts.visitEachChild(node, elideInitializerAndSetEmitFlags, ts.nullTransformationContext, /*nodesVisitor*/ undefined, elideInitializerAndSetEmitFlags); |
| 53386 | if (ts.isBindingElement(visited)) { |
| 53387 | visited = ts.factory.updateBindingElement(visited, visited.dotDotDotToken, visited.propertyName, visited.name, |
| 53388 | /*initializer*/ undefined); |
| 53389 | } |
| 53390 | if (!ts.nodeIsSynthesized(visited)) { |
| 53391 | visited = ts.factory.cloneNode(visited); |
| 53392 | } |
| 53393 | return ts.setEmitFlags(visited, 1 /* EmitFlags.SingleLine */ | 16777216 /* EmitFlags.NoAsciiEscaping */); |
| 53394 | } |
| 53395 | } |
| 53396 | } |
| 53397 | function trackComputedName(accessExpression, enclosingDeclaration, context) { |
| 53398 | if (!context.tracker.trackSymbol) |
| 53399 | return; |
no test coverage detected
searching dependent graphs…