Skip to content

Commit

Permalink
Improve coverage
Browse files Browse the repository at this point in the history
  • Loading branch information
lukastaegert committed Oct 14, 2019
1 parent caaa3d4 commit 59b8673
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 12 deletions.
5 changes: 1 addition & 4 deletions src/ast/nodes/Property.ts
Expand Up @@ -10,7 +10,7 @@ import {
PathTracker,
UnknownKey
} from '../utils/PathTracker';
import { LiteralValueOrUnknown, UNKNOWN_EXPRESSION, UnknownValue } from '../values';
import { LiteralValueOrUnknown, UNKNOWN_EXPRESSION } from '../values';
import * as NodeType from './NodeType';
import { ExpressionEntity } from './shared/Expression';
import { ExpressionNode, NodeBase } from './shared/Node';
Expand Down Expand Up @@ -63,9 +63,6 @@ export default class Property extends NodeBase implements DeoptimizableEntity {
recursionTracker: PathTracker,
origin: DeoptimizableEntity
): LiteralValueOrUnknown {
if (this.kind === 'set') {
return UnknownValue;
}
if (this.kind === 'get') {
if (this.returnExpression === null) this.updateReturnExpression();
return (this.returnExpression as ExpressionEntity).getLiteralValueAtPath(
Expand Down
10 changes: 2 additions & 8 deletions src/ast/nodes/shared/MultiExpression.ts
@@ -1,11 +1,9 @@
import { CallOptions } from '../../CallOptions';
import { DeoptimizableEntity } from '../../DeoptimizableEntity';
import { HasEffectsContext, InclusionContext } from '../../ExecutionContext';
import { HasEffectsContext } from '../../ExecutionContext';
import { ObjectPath, PathTracker } from '../../utils/PathTracker';
import { LiteralValueOrUnknown, UnknownValue } from '../../values';
import SpreadElement from '../SpreadElement';
import { ExpressionEntity } from './Expression';
import { ExpressionNode } from './Node';

export class MultiExpression implements ExpressionEntity {
included = false;
Expand Down Expand Up @@ -65,9 +63,5 @@ export class MultiExpression implements ExpressionEntity {

include(): void {}

includeCallArguments(context: InclusionContext, args: (ExpressionNode | SpreadElement)[]): void {
for (const expression of this.expressions) {
expression.includeCallArguments(context, args);
}
}
includeCallArguments(): void {}
}
3 changes: 3 additions & 0 deletions test/form/samples/multi-expression-calls/_config.js
@@ -0,0 +1,3 @@
module.exports = {
description: 'handles side-effect-free multi-expressions'
};
1 change: 1 addition & 0 deletions test/form/samples/multi-expression-calls/_expected.js
@@ -0,0 +1 @@
console.log('retained');
10 changes: 10 additions & 0 deletions test/form/samples/multi-expression-calls/main.js
@@ -0,0 +1,10 @@
function noEffect1(x, y) {
return () => x;
}

function noEffect2() {
return () => {};
}

(globalThis.unknown ? noEffect1 : noEffect2)()();
console.log('retained');

0 comments on commit 59b8673

Please sign in to comment.