if (passOnTrue) { assertWhenPassInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenFalse(); isOptimizedPassing = isOptimizedTrueAssertion; isOptimizedFailing = isOptimizedFalseAssertion; } else { assertWhenPassInfo = conditionFlowInfo.initsWhenFalse().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenTrue(); isOptimizedPassing = isOptimizedFalseAssertion;
if (passOnTrue) { assertWhenPassInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenFalse(); isOptimizedPassing = isOptimizedTrueAssertion; isOptimizedFailing = isOptimizedFalseAssertion; } else { assertWhenPassInfo = conditionFlowInfo.initsWhenFalse().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenTrue(); isOptimizedPassing = isOptimizedFalseAssertion;
if (passOnTrue) { assertWhenPassInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenFalse(); isOptimizedPassing = isOptimizedTrueAssertion; isOptimizedFailing = isOptimizedFalseAssertion; } else { assertWhenPassInfo = conditionFlowInfo.initsWhenFalse().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenTrue(); isOptimizedPassing = isOptimizedFalseAssertion;
if (passOnTrue) { assertWhenPassInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenFalse(); isOptimizedPassing = isOptimizedTrueAssertion; isOptimizedFailing = isOptimizedFalseAssertion; } else { assertWhenPassInfo = conditionFlowInfo.initsWhenFalse().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenTrue(); isOptimizedPassing = isOptimizedFalseAssertion;
if (passOnTrue) { assertWhenPassInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenFalse(); isOptimizedPassing = isOptimizedTrueAssertion; isOptimizedFailing = isOptimizedFalseAssertion; } else { assertWhenPassInfo = conditionFlowInfo.initsWhenFalse().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenTrue(); isOptimizedPassing = isOptimizedFalseAssertion;
if (passOnTrue) { assertWhenPassInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenFalse(); isOptimizedPassing = isOptimizedTrueAssertion; isOptimizedFailing = isOptimizedFalseAssertion; } else { assertWhenPassInfo = conditionFlowInfo.initsWhenFalse().unconditionalInits(); assertWhenFailInfo = conditionFlowInfo.initsWhenTrue(); isOptimizedPassing = isOptimizedFalseAssertion;
FlowInfo rightInfo = leftInfo.initsWhenFalse().unconditionalCopy(); this.rightInitStateIndex = currentScope.methodScope().recordInitializationStates(rightInfo); flowContext.expireNullCheckedFieldInfo(); this.left.checkNPEbyUnboxing(currentScope, flowContext, flowInfo); this.right.checkNPEbyUnboxing(currentScope, flowContext, leftInfo.initsWhenFalse()); rightInfo.initsWhenFalse()); this.mergedInitStateIndex = currentScope.methodScope().recordInitializationStates(mergedInfo);
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo rightInfo = leftInfo.initsWhenFalse().unconditionalCopy(); this.rightInitStateIndex = currentScope.methodScope().recordInitializationStates(rightInfo); rightInfo.initsWhenFalse()); this.mergedInitStateIndex = currentScope.methodScope().recordInitializationStates(mergedInfo);
leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo mergedInfo = FlowInfo.conditional( rightInfo.safeInitsWhenTrue(), leftInfo.initsWhenFalse().unconditionalInits().mergedWith( rightInfo.initsWhenFalse().setReachMode(previousMode).unconditionalInits()));
FlowInfo assertInfo = conditionFlowInfo.initsWhenFalse(); if (isOptimizedTrueAssertion) { assertInfo.setReachMode(FlowInfo.UNREACHABLE);
flowContext.tagBits &= ~FlowContext.HIDE_NULL_COMPARISON_WARNING; UnconditionalFlowInfo assertWhenTrueInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); FlowInfo assertInfo = conditionFlowInfo.initsWhenFalse(); if (isOptimizedTrueAssertion) { assertInfo.setReachMode(FlowInfo.UNREACHABLE_OR_DEAD);
flowContext.tagBits &= ~FlowContext.HIDE_NULL_COMPARISON_WARNING; UnconditionalFlowInfo assertWhenTrueInfo = conditionFlowInfo.initsWhenTrue().unconditionalInits(); FlowInfo assertInfo = conditionFlowInfo.initsWhenFalse(); if (isOptimizedTrueAssertion) { assertInfo.setReachMode(FlowInfo.UNREACHABLE_OR_DEAD);