From 23821c5338156775f5c5b79d0544664cdc093500 Mon Sep 17 00:00:00 2001 From: Xu Jun Date: Mon, 30 Oct 2023 16:16:15 +0800 Subject: [PATCH] fix coverity scan issues (#45) * fix coverity scan issues --------- Signed-off-by: Xu Jun --- src/semantics/expression_builder.ts | 3 ++- src/semantics/statement_builder.ts | 2 -- src/semantics/type_creator.ts | 4 +++- src/type.ts | 6 +++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/semantics/expression_builder.ts b/src/semantics/expression_builder.ts index 0b538355..33d881b9 100644 --- a/src/semantics/expression_builder.ts +++ b/src/semantics/expression_builder.ts @@ -2084,8 +2084,9 @@ function buildNewExpression2( } else { const exprObjType = context.module.findValueTypeByType( expr.exprType, - ) as ObjectType; + )! as ObjectType; if ( + exprObjType && exprObjType.genericOwner && exprObjType.genericType.equals(object_type) ) { diff --git a/src/semantics/statement_builder.ts b/src/semantics/statement_builder.ts index baf46a5a..a656d3b6 100644 --- a/src/semantics/statement_builder.ts +++ b/src/semantics/statement_builder.ts @@ -727,6 +727,4 @@ export function buildStatement( Logger.error(`Source: ${tsNode.getFullText(sourceFile)}`); throw Error(e); } - - return new EmptyNode(); } diff --git a/src/semantics/type_creator.ts b/src/semantics/type_creator.ts index 9217debc..c6ab89d3 100644 --- a/src/semantics/type_creator.ts +++ b/src/semantics/type_creator.ts @@ -496,7 +496,9 @@ export function createObjectType( genericOwner = context.module.findValueTypeByType( clazz.genericOwner, ) as ObjectType; - inst_type.setGenericOwner(genericOwner.instanceType!); + if (genericOwner) { + inst_type.setGenericOwner(genericOwner.instanceType!); + } } if (inst_meta.isObjectInstance) { diff --git a/src/type.ts b/src/type.ts index 91bed625..b1004757 100644 --- a/src/type.ts +++ b/src/type.ts @@ -1201,7 +1201,7 @@ export class TypeResolver { (type as TSClass).setBelongedScope(this.currentScope!); } } else if (ts.isObjectLiteralExpression(node)) { - if (this.currentScope?.parent) { + if (this.currentScope!.parent) { this.currentScope!.parent!.addType(tsTypeString, type); } if (this.currentScope! instanceof ClassScope) { @@ -2794,7 +2794,7 @@ export class TypeResolver { // set the property value of the basic property if (classType.getBase()) { - const base = classType.getBase(); + const base = classType.getBase()!; const base_typeArguments = base!.typeArguments; /* @@ -2827,7 +2827,7 @@ export class TypeResolver { const newName = newType.className + '_' + - base?.className.split('_').reverse()[0]; + base!.className.split('_').reverse()[0]; const newBaseType = TypeResolver.createSpecializedType( base!, baseSpecializedArgs,