Skip to content

Commit b7367ca

Browse files
committed
update to TypeScript 4.8RC
1 parent 68bf9f3 commit b7367ca

File tree

7 files changed

+228
-45
lines changed

7 files changed

+228
-45
lines changed

javascript/extractor/lib/typescript/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "typescript-parser-wrapper",
33
"private": true,
44
"dependencies": {
5-
"typescript": "4.7.2"
5+
"typescript": "4.8.2"
66
},
77
"scripts": {
88
"build": "tsc --project tsconfig.json",

javascript/extractor/lib/typescript/src/type_table.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -947,7 +947,7 @@ export class TypeTable {
947947
* Returns a unique string for the given call/constructor signature.
948948
*/
949949
private getSignatureString(kind: ts.SignatureKind, signature: AugmentedSignature): string {
950-
let modifiers : ts.ModifiersArray = signature.getDeclaration()?.modifiers;
950+
let modifiers = signature.getDeclaration()?.modifiers;
951951
let isAbstract = modifiers && modifiers.filter(modifier => modifier.kind == ts.SyntaxKind.AbstractKeyword).length > 0
952952

953953
let parameters = signature.getParameters();

javascript/extractor/lib/typescript/yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
version "12.7.11"
77
resolved node-12.7.11.tgz#be879b52031cfb5d295b047f5462d8ef1a716446
88

9-
typescript@4.7.2:
10-
version "4.7.2"
11-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.2.tgz#1f9aa2ceb9af87cca227813b4310fff0b51593c4"
12-
integrity sha512-Mamb1iX2FDUpcTRzltPxgWMKy3fhg0TN378ylbktPGPK/99KbDtMQ4W1hwgsbPAsG3a0xKa1vmw4VKZQbkvz5A==
9+
typescript@4.8.2:
10+
version "4.8.2"
11+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790"
12+
integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==

javascript/extractor/src/com/semmle/ts/extractor/TypeScriptASTConverter.java

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -976,8 +976,9 @@ private Node convertClass(JsonObject node, String kind, SourceLocation loc) thro
976976
hasDeclareKeyword,
977977
hasAbstractKeyword);
978978
attachSymbolInformation(classDecl.getClassDef(), node);
979-
if (node.has("decorators")) {
980-
classDecl.addDecorators(convertChildren(node, "decorators"));
979+
List<Decorator> decorators = getDecorators(node);
980+
if (!decorators.isEmpty()) {
981+
classDecl.addDecorators(decorators);
981982
advanceUntilAfter(loc, classDecl.getDecorators());
982983
}
983984
Node exportedDecl = fixExports(loc, classDecl);
@@ -989,6 +990,17 @@ private Node convertClass(JsonObject node, String kind, SourceLocation loc) thro
989990
return exportedDecl;
990991
}
991992

993+
List<Decorator> getDecorators(JsonObject node) throws ParseError {
994+
List<Decorator> result = new ArrayList<>();
995+
for (JsonElement elt : getChildIterable(node, "modifiers")) {
996+
JsonObject modifier = elt.getAsJsonObject();
997+
if (hasKind(modifier, "Decorator")) {
998+
result.add((Decorator) convertNode(modifier));
999+
}
1000+
}
1001+
return result;
1002+
}
1003+
9921004
private Node convertCommaListExpression(JsonObject node, SourceLocation loc) throws ParseError {
9931005
return new SequenceExpression(loc, convertChildren(node, "elements"));
9941006
}
@@ -1041,7 +1053,7 @@ private DecoratorList makeDecoratorList(JsonElement decorators) throws ParseErro
10411053
private List<DecoratorList> convertParameterDecorators(JsonObject function) throws ParseError {
10421054
List<DecoratorList> decoratorLists = new ArrayList<>();
10431055
for (JsonElement parameter : getProperParameters(function)) {
1044-
decoratorLists.add(makeDecoratorList(parameter.getAsJsonObject().get("decorators")));
1056+
decoratorLists.add(makeDecoratorList(parameter.getAsJsonObject().get("modifiers")));
10451057
}
10461058
return decoratorLists;
10471059
}
@@ -1664,8 +1676,9 @@ private Node convertMethodDeclaration(JsonObject node, String kind, SourceLocati
16641676
FunctionExpression method = convertImplicitFunction(node, loc);
16651677
MethodDefinition methodDefinition =
16661678
new MethodDefinition(loc, flags, methodKind, convertChild(node, "name"), method);
1667-
if (node.has("decorators")) {
1668-
methodDefinition.addDecorators(convertChildren(node, "decorators"));
1679+
List<Decorator> decorators = getDecorators(node);
1680+
if (!decorators.isEmpty()) {
1681+
methodDefinition.addDecorators(decorators);
16691682
advanceUntilAfter(loc, methodDefinition.getDecorators());
16701683
}
16711684
return methodDefinition;
@@ -2079,8 +2092,9 @@ private Node convertPropertyDeclaration(JsonObject node, String kind, SourceLoca
20792092
convertChild(node, "name"),
20802093
convertChild(node, "initializer"),
20812094
convertChildAsType(node, "type"));
2082-
if (node.has("decorators")) {
2083-
fieldDefinition.addDecorators(convertChildren(node, "decorators"));
2095+
List<Decorator> decorators = getDecorators(node);
2096+
if (!decorators.isEmpty()) {
2097+
fieldDefinition.addDecorators(decorators);
20842098
advanceUntilAfter(loc, fieldDefinition.getDecorators());
20852099
}
20862100
return fieldDefinition;

0 commit comments

Comments
 (0)