object IfNullParameterAnalysis extends DefaultOneStepAnalysis
A very basic analysis that determines the behavior of a method if a parameter
is potentially null compared to a call of the method where the parameter is guaranteed
to be non-null.
Note that the difference may not just manifest in the number of thrown exceptions.
E.g., consider the following code from javax.imageio.ImageIO:
public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix) { if (fileSuffix == null) { throw new IllegalArgumentException("fileSuffix == null!"); } // Ensure category is present ...
Here, the difference is that an IllegalArgumentException is thrown. The reported
result is:
Map(13 -> Set(java.lang.IllegalArgumentException(origin=4)))
and states that the instruction with the program counter 13 (the throw instruction)
throws the exception created by program counter 4 (the new Illegal... expression).
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- IfNullParameterAnalysis
- DefaultOneStepAnalysis
- OneStepAnalysis
- Analysis
- AnalysisExecutor
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
val
analysis: DefaultOneStepAnalysis
- Definition Classes
- DefaultOneStepAnalysis → AnalysisExecutor
-
def
analysisSpecificParametersDescription: String
- Definition Classes
- AnalysisExecutor
-
final
def
analyze(project: Project[URL], parameters: Seq[String], initProgressManagement: (Int) ⇒ ProgressManagement): ReportableAnalysisResult
- Definition Classes
- OneStepAnalysis → Analysis
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
checkAnalysisSpecificParameters(parameters: Seq[String]): Traversable[String]
- Definition Classes
- AnalysisExecutor
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
def
copyright: String
- Definition Classes
- Analysis
-
def
description: String
- Definition Classes
- IfNullParameterAnalysis → Analysis
-
def
doAnalyze(theProject: Project[URL], parameters: Seq[String], isInterrupted: () ⇒ Boolean): BasicReport
- Definition Classes
- IfNullParameterAnalysis → OneStepAnalysis
-
def
documentationUrl: Option[String]
- Definition Classes
- Analysis
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
handleParsingExceptions(project: SomeProject, exceptions: Traversable[Throwable]): Unit
- Attributes
- protected
- Definition Classes
- AnalysisExecutor
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
main(args: Array[String]): Unit
- Definition Classes
- AnalysisExecutor
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
printUsage(implicit logContext: LogContext): Unit
- Attributes
- protected
- Definition Classes
- AnalysisExecutor
-
def
setupProject(cpFiles: Iterable[File], libcpFiles: Iterable[File], completelyLoadLibraries: Boolean, projectType: ProjectType, fallbackConfiguration: Config)(implicit initialLogContext: LogContext): Project[URL]
- Definition Classes
- AnalysisExecutor
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
title: String
- Definition Classes
- IfNullParameterAnalysis → Analysis
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )