arkanalyzer 1.0.71 → 1.0.73
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/lib/Scene.js +1 -1
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +26 -15
- package/lib/core/graph/builder/TrapBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/TrapBuilder.js +7 -1
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +3 -1
- package/lib/utils/CfgStructualAnalysis.js +2 -2
- package/package.json +2 -2
package/lib/Scene.js
CHANGED
|
@@ -309,7 +309,7 @@ class Scene {
|
|
|
309
309
|
for (const cls of ModelUtils_1.ModelUtils.getAllClassesInFile(file)) {
|
|
310
310
|
(0, ArkMethodBuilder_1.buildDefaultConstructor)(cls);
|
|
311
311
|
const constructor = cls.getMethodWithName(TSConst_1.CONSTRUCTOR_NAME);
|
|
312
|
-
if (constructor !== null) {
|
|
312
|
+
if (constructor !== null && !cls.isDefaultArkClass()) {
|
|
313
313
|
(0, ArkMethodBuilder_1.replaceSuper2Constructor)(constructor);
|
|
314
314
|
(0, ArkMethodBuilder_1.addInitInConstructor)(constructor);
|
|
315
315
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,sBAAsB,EAAiD,MAAM,cAAc,CAAC;AAuBrG,OAAO,EACH,SAAS,EAcT,IAAI,EAMP,MAAM,cAAc,CAAC;AAetB,OAAO,EAAyE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOhF,qBAAa,mBAAmB;IACrB,qBAAqB,EAAE,MAAM,CAAK;IACzC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,OAAO,CAAC,CAAyB;IACzC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,eAAe,CAAY;IACnC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,wBAAwB,CAAS;gBAE7B,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS;IAQ9F,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;IAIvB,YAAY,IAAI,KAAK;IAIrB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAInE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,IAAgC,GAAG,KAAK;IAMlF,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAIlD,OAAO,CAAC,YAAY;IAOb,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,aAAa;IAsE1D,OAAO,CAAC,kCAAkC;IAe1C,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,oCAAoC;IA4C5C,OAAO,CAAC,qCAAqC;IAoC7C,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,8BAA8B;IAqBtC,OAAO,CAAC,yBAAyB;IASjC,OAAO,CAAC,qCAAqC;IAa7C,OAAO,CAAC,8BAA8B;IAoBtC,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,2BAA2B;IA8CnC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,uCAAuC;IA+B/C,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,+BAA+B;IA+DvC,OAAO,CAAC,sCAAsC;IAgD9C,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,2BAA2B;IAkCnC,OAAO,CAAC,oBAAoB;IAsC5B,OAAO,CAAC,iBAAiB;IA4CzB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,oBAAoB;IA4B5B,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,8BAA8B;IA+BtC,OAAO,CAAC,cAAc;IAyCtB,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,4BAA4B;IAmDpC,OAAO,CAAC,iCAAiC;IA0CzC,OAAO,CAAC,qCAAqC;IAqD7C,OAAO,CAAC,4BAA4B;IAyBpC,OAAO,CAAC,yBAAyB;IA2BjC,OAAO,CAAC,oCAAoC;IAqD5C,OAAO,CAAC,qCAAqC;IAgD7C,OAAO,CAAC,8BAA8B;IAyBtC,OAAO,CAAC,8BAA8B;IAqBtC,OAAO,CAAC,+BAA+B;IAevC,OAAO,CAAC,6BAA6B;IAerC,OAAO,CAAC,gCAAgC;IAIxC,OAAO,CAAC,sCAAsC;IAI9C,OAAO,CAAC,+BAA+B;IAevC,OAAO,CAAC,2BAA2B;IAyBnC,OAAO,CAAC,4BAA4B;IAe7B,sCAAsC,CAAC,uBAAuB,EAAE,EAAE,CAAC,uBAAuB,GAAG,aAAa;IAc1G,kCAAkC,CAAC,mBAAmB,EAAE,EAAE,CAAC,mBAAmB,EAAE,OAAO,EAAE,OAAO,EACnG,WAAW,GAAE,OAAc,GAAG,aAAa;IAO/C,OAAO,CAAC,yBAAyB;IAsDjC,OAAO,CAAC,gCAAgC;IAgCxC,OAAO,CAAC,iCAAiC;IAsDzC,OAAO,CAAC,kCAAkC;IA0C1C,OAAO,CAAC,+BAA+B;IAkEvC,OAAO,CAAC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1394,30 +1394,41 @@ class ArkValueTransformer {
|
|
|
1394
1394
|
}
|
|
1395
1395
|
compoundAssignmentToValueAndStmts(binaryExpression) {
|
|
1396
1396
|
const stmts = [];
|
|
1397
|
-
|
|
1397
|
+
const { value: leftValueOrig, valueOriginalPositions: leftPositionsOrig, stmts: leftStmts } = this.tsNodeToValueAndStmts(binaryExpression.left);
|
|
1398
1398
|
leftStmts.forEach(stmt => stmts.push(stmt));
|
|
1399
|
-
let
|
|
1399
|
+
let leftValue;
|
|
1400
|
+
let leftPositions;
|
|
1401
|
+
if (leftValueOrig instanceof Ref_1.AbstractFieldRef) {
|
|
1402
|
+
const tempLocal = this.generateTempLocal();
|
|
1403
|
+
const readRefStmt = new Stmt_1.ArkAssignStmt(tempLocal, leftValueOrig);
|
|
1404
|
+
stmts.push(readRefStmt);
|
|
1405
|
+
leftValue = tempLocal;
|
|
1406
|
+
leftPositions = [leftPositionsOrig[0]];
|
|
1407
|
+
}
|
|
1408
|
+
else {
|
|
1409
|
+
leftValue = leftValueOrig;
|
|
1410
|
+
leftPositions = leftPositionsOrig;
|
|
1411
|
+
}
|
|
1412
|
+
const { value: rightValue, valueOriginalPositions: rightPositions, stmts: rightStmts } = this.tsNodeToSingleAddressValueAndStmts(binaryExpression.right);
|
|
1400
1413
|
rightStmts.forEach(stmt => stmts.push(stmt));
|
|
1401
|
-
let leftOpValue;
|
|
1402
|
-
let leftOpPositions;
|
|
1403
1414
|
const operator = this.compoundAssignmentTokenToBinaryOperator(binaryExpression.operatorToken.kind);
|
|
1404
1415
|
if (operator) {
|
|
1405
1416
|
const exprValue = new Expr_1.ArkNormalBinopExpr(leftValue, rightValue, operator);
|
|
1406
1417
|
const exprValuePosition = Position_1.FullPosition.buildFromNode(binaryExpression, this.sourceFile);
|
|
1407
|
-
const
|
|
1408
|
-
assignStmt.
|
|
1418
|
+
const assignTarget = leftValueOrig instanceof Ref_1.AbstractFieldRef ? leftValueOrig : leftValue;
|
|
1419
|
+
const assignStmt = new Stmt_1.ArkAssignStmt(assignTarget, exprValue);
|
|
1420
|
+
assignStmt.setOperandOriginalPositions([
|
|
1421
|
+
...(assignTarget === leftValueOrig ? leftPositionsOrig : leftPositions),
|
|
1422
|
+
exprValuePosition,
|
|
1423
|
+
...leftPositions,
|
|
1424
|
+
...rightPositions
|
|
1425
|
+
]);
|
|
1409
1426
|
stmts.push(assignStmt);
|
|
1410
|
-
leftOpValue = leftValue;
|
|
1411
|
-
leftOpPositions = leftPositions;
|
|
1412
|
-
}
|
|
1413
|
-
else {
|
|
1414
|
-
leftOpValue = ValueUtil_1.ValueUtil.getUndefinedConst();
|
|
1415
|
-
leftOpPositions = [leftPositions[0]];
|
|
1416
1427
|
}
|
|
1417
1428
|
return {
|
|
1418
|
-
value:
|
|
1419
|
-
valueOriginalPositions:
|
|
1420
|
-
stmts: stmts
|
|
1429
|
+
value: leftValueOrig,
|
|
1430
|
+
valueOriginalPositions: leftPositionsOrig,
|
|
1431
|
+
stmts: stmts
|
|
1421
1432
|
};
|
|
1422
1433
|
}
|
|
1423
1434
|
compoundAssignmentTokenToBinaryOperator(token) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrapBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/TrapBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"TrapBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/TrapBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAcvC,OAAO,EAAE,YAAY,EAAuB,MAAM,cAAc,CAAC;AAKjE;;GAEG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,+BAA+B,CAAoB;IAC3D,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,sBAAsB,CAAgC;IAC9D,OAAO,CAAC,sBAAsB,CAAoB;gBAEtC,sBAAsB,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE,sBAAsB,EAAE,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,EAChG,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,GAAG,CAAC,UAAU,CAAC;IAQnC,UAAU,IAAI,IAAI,EAAE;IAS3B,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,iBAAiB;IAiBzB,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,gBAAgB;IA6BxB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,yBAAyB;IAyBjC,OAAO,CAAC,+BAA+B;IAMvC,OAAO,CAAC,qBAAqB;IA+C7B,OAAO,CAAC,wBAAwB;IA8ChC,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,iBAAiB;IA4BzB,OAAO,CAAC,UAAU;IAgClB,OAAO,CAAC,QAAQ;CAoBnB"}
|
|
@@ -400,7 +400,13 @@ class TrapBuilder {
|
|
|
400
400
|
else if (sourceStmt instanceof Stmt_1.ArkThrowStmt) {
|
|
401
401
|
return new Stmt_1.ArkThrowStmt(sourceStmt.getOp());
|
|
402
402
|
}
|
|
403
|
-
|
|
403
|
+
else if (sourceStmt instanceof Stmt_1.ArkAliasTypeDefineStmt) {
|
|
404
|
+
return new Stmt_1.ArkAliasTypeDefineStmt(sourceStmt.getAliasType(), sourceStmt.getAliasTypeExpr());
|
|
405
|
+
}
|
|
406
|
+
else {
|
|
407
|
+
logger.error(`unsupported statement type`);
|
|
408
|
+
return null;
|
|
409
|
+
}
|
|
404
410
|
}
|
|
405
411
|
}
|
|
406
412
|
exports.TrapBuilder = TrapBuilder;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAuB,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGxG,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF,oBAAY,QAAQ;IAChB,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,GAAG,IAAI;IACP,OAAO,KAAK;CACf;AAED;;GAEG;AACH,qBAAa,OAAO;IAEhB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,IAAI,CAAc;IAE1B,OAAO,CAAC,YAAY,CAAY;IAGhC,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,OAAO,CAAsD;IAErE,OAAO,CAAC,aAAa,CAA0D;IAC/E,OAAO,CAAC,aAAa,CAA0D;IAE/E,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,aAAa,CAAwC;IAE7D,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,oBAAoB,CAAa;IAEzC,OAAO,CAAC,GAAG,CAA8B;gBAE7B,QAAQ,EAAE,QAAQ;IAI9B;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC;;;;;OAKG;IACI,QAAQ,IAAI,KAAK;IAIjB,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,IAAI,MAAM;IAI9B;;;;;;;;;OASG;IACI,WAAW,IAAI,MAAM;IAIrB,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAuB,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGxG,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAEjC,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF,oBAAY,QAAQ;IAChB,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,GAAG,IAAI;IACP,OAAO,KAAK;CACf;AAED;;GAEG;AACH,qBAAa,OAAO;IAEhB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,IAAI,CAAc;IAE1B,OAAO,CAAC,YAAY,CAAY;IAGhC,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,OAAO,CAAsD;IAErE,OAAO,CAAC,aAAa,CAA0D;IAC/E,OAAO,CAAC,aAAa,CAA0D;IAE/E,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,aAAa,CAAwC;IAE7D,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,oBAAoB,CAAa;IAEzC,OAAO,CAAC,GAAG,CAA8B;gBAE7B,QAAQ,EAAE,QAAQ;IAI9B;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC;;;;;OAKG;IACI,QAAQ,IAAI,KAAK;IAIjB,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,IAAI,MAAM;IAI9B;;;;;;;;;OASG;IACI,WAAW,IAAI,MAAM;IAIrB,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAc1D,eAAe,IAAI,QAAQ;IAI3B,eAAe,CAAC,YAAY,EAAE,QAAQ,GAAG,IAAI;IAI7C,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI;IAKzE,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIhE,aAAa,IAAI,YAAY,EAAE;IAItC;;;;OAIG;IACI,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IAKzD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIhD,UAAU,IAAI,QAAQ,EAAE;IAIxB,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIlD;;;;OAIG;IACI,cAAc,IAAI,UAAU,EAAE;IAI9B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIjD,eAAe,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAMjD,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAM3C,cAAc,IAAI,UAAU,EAAE;IAUrC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAyBrD,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzD,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5D,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI;IAIzD,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;OAGG;IACI,gBAAgB,IAAI,aAAa;IAIjC,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,6BAA6B,IAAI,YAAY,EAAE;IAS/C,uBAAuB,IAAI,MAAM;IAIjC,MAAM,IAAI,EAAE,CAAC,UAAU,GAAG,IAAI;IAI9B,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI;CAGnD"}
|
|
@@ -138,7 +138,9 @@ class ArkFile {
|
|
|
138
138
|
const index = name.indexOf(Const_1.NAME_DELIMITER);
|
|
139
139
|
if (index > 0) {
|
|
140
140
|
const originName = name.substring(0, index);
|
|
141
|
-
this.
|
|
141
|
+
if (!this.classes.has(originName)) {
|
|
142
|
+
this.addArkClass(arkClass, originName);
|
|
143
|
+
}
|
|
142
144
|
}
|
|
143
145
|
}
|
|
144
146
|
}
|
|
@@ -373,11 +373,11 @@ class AbstractFlowGraph {
|
|
|
373
373
|
isIfBreakRegion(node, nodeSet, loop) {
|
|
374
374
|
let m = node.getSucc()[0];
|
|
375
375
|
nodeSet.clear();
|
|
376
|
-
if (this.isExitLoop(m, this.structBlocks.get(loop))) {
|
|
376
|
+
if (this.isExitLoop(m, this.structBlocks.get(loop)) && !m.hasReturnStmt()) {
|
|
377
377
|
nodeSet.add(node);
|
|
378
378
|
return true;
|
|
379
379
|
}
|
|
380
|
-
if (m.getSucc().length === 1 && this.isExitLoop(m.getSucc()[0], this.structBlocks.get(loop))) {
|
|
380
|
+
if (m.getSucc().length === 1 && this.isExitLoop(m.getSucc()[0], this.structBlocks.get(loop)) && !m.hasReturnStmt()) {
|
|
381
381
|
nodeSet.add(node).add(m);
|
|
382
382
|
return true;
|
|
383
383
|
}
|