当前位置: 首页>>代码示例>>Java>>正文


Java DfaValue.createNegated方法代码示例

本文整理汇总了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);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:8,代码来源:InstructionVisitor.java

示例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);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:9,代码来源:InstructionVisitor.java

示例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()]);
}
 
开发者ID:jskierbi,项目名称:intellij-ce-playground,代码行数:42,代码来源:InstructionVisitor.java

示例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()]);
}
 
开发者ID:consulo,项目名称:consulo-java,代码行数:50,代码来源:InstructionVisitor.java


注:本文中的com.intellij.codeInspection.dataFlow.value.DfaValue.createNegated方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。