private void enqueueExceptionalPaths(ProgramState ps, Symbol methodSymbol) { enqueueExceptionalPaths(ps, methodSymbol, null); }
private void enqueueExceptionalPaths(ProgramState ps, Symbol methodSymbol) { enqueueExceptionalPaths(ps, methodSymbol, null); }
private void enqueueThrownExceptionalPaths(Symbol symbol) { if (!symbol.isMethodSymbol()) { // do nothing for unknown methods return; } ProgramState ps = programState.clearStack(); ((Symbol.MethodSymbol) symbol).thrownTypes().stream() .map(constraintManager::createExceptionalSymbolicValue) .map(ps::stackValue) .forEach(ps1 -> enqueueExceptionalPaths(ps1, symbol)); }
private void enqueueThrownExceptionalPaths(Symbol symbol) { if (!symbol.isMethodSymbol()) { // do nothing for unknown methods return; } ProgramState ps = programState.clearStack(); ((Symbol.MethodSymbol) symbol).thrownTypes().stream() .map(constraintManager::createExceptionalSymbolicValue) .map(ps::stackValue) .forEach(ps1 -> enqueueExceptionalPaths(ps1, symbol)); }
private void enqueueUncheckedExceptionalPaths(Symbol methodSymbol) { enqueueExceptionalPaths(programState.clearStack().stackValue(constraintManager.createExceptionalSymbolicValue(null)), methodSymbol); }
private void enqueueUncheckedExceptionalPaths(Symbol methodSymbol) { enqueueExceptionalPaths(programState.clearStack().stackValue(constraintManager.createExceptionalSymbolicValue(null)), methodSymbol); }
programState, () -> thrownExceptionsByExceptionType.computeIfAbsent(yield.exceptionType(semanticModel), constraintManager::createExceptionalSymbolicValue)) .forEach(psYield -> enqueueExceptionalPaths(psYield, methodSymbol, yield)));
programState, () -> thrownExceptionsByExceptionType.computeIfAbsent(yield.exceptionType(semanticModel), constraintManager::createExceptionalSymbolicValue)) .forEach(psYield -> enqueueExceptionalPaths(psYield, methodSymbol, yield)));