public Type exceptionType(SemanticModel semanticModel) { if (exceptionType == null) { return Symbols.unknownType; } Type type = semanticModel.getClassType(this.exceptionType); return type == null ? Symbols.unknownType : type; }
public Type exceptionType(SemanticModel semanticModel) { if (exceptionType == null) { return Symbols.unknownType; } Type type = semanticModel.getClassType(this.exceptionType); return type == null ? Symbols.unknownType : type; }
public Type getType(SemanticModel semanticModel) { if (type.charAt(0) == '!') { return Symbols.unknownType; } return semanticModel.getClassType(type); } }
public Type getType(SemanticModel semanticModel) { if (type.charAt(0) == '!') { return Symbols.unknownType; } return semanticModel.getClassType(type); } }
public Type getExceptionType(SemanticModel semanticModel) { Preconditions.checkState(isCatchBlock(), "Block %s is not a catch block", id); return semanticModel.getClassType(exceptionType); }
public Type getExceptionType(SemanticModel semanticModel) { Preconditions.checkState(isCatchBlock(), "Block %s is not a catch block", id); return semanticModel.getClassType(exceptionType); }
public void addExceptionalYield(SymbolicValue target, ProgramState exceptionalState, String exceptionFullyQualifiedName, SECheck check) { // in order to create such Exceptional Yield, a parameter of the method has to be the cause of the exception if (methodBehavior != null && methodBehavior.parameters().contains(target)) { Type exceptionType = semanticModel.getClassType(exceptionFullyQualifiedName); ProgramState newExceptionalState = exceptionalState.clearStack().stackValue(constraintManager.createExceptionalSymbolicValue(exceptionType)); ExplodedGraph.Node exitNode = explodedGraph.node(node.programPoint, newExceptionalState); methodBehavior.createExceptionalCheckBasedYield(target, exitNode, exceptionFullyQualifiedName, check); exitNode.addParent(node, null); } }
public void addExceptionalYield(SymbolicValue target, ProgramState exceptionalState, String exceptionFullyQualifiedName, SECheck check) { // in order to create such Exceptional Yield, a parameter of the method has to be the cause of the exception if (methodBehavior != null && methodBehavior.parameters().contains(target)) { Type exceptionType = semanticModel.getClassType(exceptionFullyQualifiedName); ProgramState newExceptionalState = exceptionalState.clearStack().stackValue(constraintManager.createExceptionalSymbolicValue(exceptionType)); ExplodedGraph.Node exitNode = explodedGraph.node(node.programPoint, newExceptionalState); methodBehavior.createExceptionalCheckBasedYield(target, exitNode, exceptionFullyQualifiedName, check); exitNode.addParent(node, null); } }
Type exceptionType = semanticModel.getClassType(exception); ProgramState ps = programState.stackValue(constraintManager.createExceptionalSymbolicValue(exceptionType)); enqueueExceptionHandlers(exceptionType, ps);
Type exceptionType = semanticModel.getClassType(exception); ProgramState ps = programState.stackValue(constraintManager.createExceptionalSymbolicValue(exceptionType)); enqueueExceptionHandlers(exceptionType, ps);