本文整理汇总了Java中com.intellij.codeInspection.dataFlow.value.DfaValue.createNegated方法的典型用法代码示例。如果您正苦于以下问题:Java DfaValue.createNegated方法的具体用法?Java DfaValue.createNegated怎么用?Java DfaValue.createNegated使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.codeInspection.dataFlow.value.DfaValue
的用法示例。
在下文中一共展示了DfaValue.createNegated方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: visitNot
import com.intellij.codeInspection.dataFlow.value.DfaValue; //导入方法依赖的package包/类
public DfaInstructionState[] visitNot(NotInstruction instruction, DataFlowRunner runner, DfaMemoryState memState) {
DfaValue dfaValue = memState.pop();
dfaValue = dfaValue.createNegated();
memState.push(dfaValue);
return nextInstruction(instruction, runner, memState);
}
示例2: visitNot
import com.intellij.codeInspection.dataFlow.value.DfaValue; //导入方法依赖的package包/类
public DfaInstructionState[] visitNot(NotInstruction instruction, DataFlowRunner runner, DfaMemoryState memState)
{
DfaValue dfaValue = memState.pop();
dfaValue = dfaValue.createNegated();
memState.push(dfaValue);
return nextInstruction(instruction, runner, memState);
}
示例3: visitConditionalGoto
import com.intellij.codeInspection.dataFlow.value.DfaValue; //导入方法依赖的package包/类
public DfaInstructionState[] visitConditionalGoto(ConditionalGotoInstruction instruction, DataFlowRunner runner, DfaMemoryState memState) {
DfaValue cond = memState.pop();
DfaValue condTrue;
DfaValue condFalse;
if (instruction.isNegated()) {
condFalse = cond;
condTrue = cond.createNegated();
} else {
condTrue = cond;
condFalse = cond.createNegated();
}
if (condTrue == runner.getFactory().getConstFactory().getTrue()) {
markBranchReachable(instruction, true);
return new DfaInstructionState[] {new DfaInstructionState(runner.getInstruction(instruction.getOffset()), memState)};
}
if (condFalse == runner.getFactory().getConstFactory().getTrue()) {
markBranchReachable(instruction, false);
return nextInstruction(instruction, runner, memState);
}
ArrayList<DfaInstructionState> result = new ArrayList<DfaInstructionState>();
DfaMemoryState thenState = memState.createCopy();
DfaMemoryState elseState = memState.createCopy();
if (thenState.applyCondition(condTrue)) {
result.add(new DfaInstructionState(runner.getInstruction(instruction.getOffset()), thenState));
markBranchReachable(instruction, true);
}
if (elseState.applyCondition(condFalse)) {
result.add(new DfaInstructionState(runner.getInstruction(instruction.getIndex() + 1), elseState));
markBranchReachable(instruction, false);
}
return result.toArray(new DfaInstructionState[result.size()]);
}
示例4: visitConditionalGoto
import com.intellij.codeInspection.dataFlow.value.DfaValue; //导入方法依赖的package包/类
public DfaInstructionState[] visitConditionalGoto(ConditionalGotoInstruction instruction, DataFlowRunner runner, DfaMemoryState memState)
{
DfaValue cond = memState.pop();
DfaValue condTrue;
DfaValue condFalse;
if(instruction.isNegated())
{
condFalse = cond;
condTrue = cond.createNegated();
}
else
{
condTrue = cond;
condFalse = cond.createNegated();
}
if(condTrue == runner.getFactory().getConstFactory().getTrue())
{
markBranchReachable(instruction, true);
return new DfaInstructionState[]{new DfaInstructionState(runner.getInstruction(instruction.getOffset()), memState)};
}
if(condFalse == runner.getFactory().getConstFactory().getTrue())
{
markBranchReachable(instruction, false);
return nextInstruction(instruction, runner, memState);
}
ArrayList<DfaInstructionState> result = new ArrayList<>();
DfaMemoryState thenState = memState.createCopy();
DfaMemoryState elseState = memState.createCopy();
if(thenState.applyCondition(condTrue))
{
result.add(new DfaInstructionState(runner.getInstruction(instruction.getOffset()), thenState));
markBranchReachable(instruction, true);
}
if(elseState.applyCondition(condFalse))
{
result.add(new DfaInstructionState(runner.getInstruction(instruction.getIndex() + 1), elseState));
markBranchReachable(instruction, false);
}
return result.toArray(new DfaInstructionState[result.size()]);
}