Module java

Provides all default Java QL imports.

Import path

import java

Predicates

bbDominates

Holds if dom dominates node. (This is reflexive.)

bbIDominates

The immediate dominance relation for basic blocks.

bbIPostDominates

The immediate post-dominance relation on basic blocks.

bbPostDominates

Holds if dom post-dominates node. (This is reflexive.)

bbStrictlyDominates

Holds if dom strictly dominates node.

bbStrictlyPostDominates

Holds if dom strictly post-dominates node.

declaresMember

Holds if type t declares member m.

depends

Holds if type t depends on type dep.

dominanceFrontier

The dominance frontier relation for basic blocks.

dominates

Holds if dom dominates node. (This is reflexive.)

dominatingEdge

Holds if (bb1, bb2) is an edge that dominates bb2, that is, all other predecessors of bb2 are dominated by bb2. This implies that bb1 is the immediate dominator of bb2.

erasedHaveIntersection

Holds if there is a common (reflexive, transitive) subtype of the erased types t1 and t2.

hasDominanceInformation

Holds if the dominance relation is calculated for bb.

hasName

Holds if element e has name name.

hasSubtype

Holds if reference type t is an immediate super-type of sub.

haveIntersection

Is there a common (reflexive, transitive) subtype of the erasures of types t1 and t2?

iDominates

Immediate dominance relation on control-flow graph nodes.

overridesIgnoringAccess

Auxiliary predicate: whether method m1 overrides method m2, ignoring any access modifiers. Additionally, this predicate binds t1 to the type declaring m1 and t2 to the type declaring m2.

postDominates

Holds if dom post-dominates node. (This is reflexive.)

strictlyDominates

Holds if dom strictly dominates node.

strictlyPostDominates

Holds if dom strictly post-dominates node.

usesType

Bind the reference type dep to the source declaration of any types used to construct t, including (possibly nested) type parameters of parameterized types, element types of array types, and bounds of type variables or wildcards.

Classes

AddExpr

A binary expression using the + operator.

AfterAnnotation

An @org.junit.After annotation.

AfterClassAnnotation

An @org.junit.AfterClass annotation.

AndBitwiseExpr

A binary expression using the & operator.

AndLogicalExpr

A binary expression using the && operator.

Annotatable

An abstract representation of language elements that can be annotated.

AnnotatedGeneratedClass

A Java class annotated with a @Generated annotation.

Annotation

Any annotation used to annotate language elements with meta-information.

AnnotationElement

An annotation element is a member declared in an annotation type.

AnnotationType

An annotation type is a special kind of interface type declaration.

AnonymousClass

An anonymous class.

AntTarget

An XML element that represents an Ant target.

AntlrGenerated

A Java class generated by an ANTLR scanner or parser class.

Argument

An argument to a call.

Array

An array type.

ArrayAccess

An array access.

ArrayCreationExpr

An array creation expression.

ArrayInit

An array initializer occurs in an array creation expression.

ArrayLengthField

The length field of the array type.

ArrayTypeAccess

An array type access is a type access of the form String[].

AssertStmt

An assert statement.

AssignAddExpr

A compound assignment expression using the += operator.

AssignAndExpr

A compound assignment expression using the &= operator.

AssignDivExpr

A compound assignment expression using the /= operator.

AssignExpr

A simple assignment expression using the = operator.

AssignLShiftExpr

A compound assignment expression using the <<= operator.

AssignMulExpr

A compound assignment expression using the *= operator.

AssignOp

A common super-class to represent compound assignments, which include an implicit operator.

AssignOrExpr

A compound assignment expression using the |= operator.

AssignRShiftExpr

A compound assignment expression using the >>= operator.

AssignRemExpr

A compound assignment expression using the %= operator.

AssignSubExpr

A compound assignment expression using the -= operator.

AssignURShiftExpr

A compound assignment expression using the >>>= operator.

AssignXorExpr

A compound assignment expression using the ^= operator.

Assignment

A common super-class that represents all varieties of assignments.

AuthorTag

A Javadoc @author tag.

BasicBlock

A control-flow node that represents the start of a basic block.

BeforeAnnotation

An @org.junit.Before annotation.

BeforeClassAnnotation

An @org.junit.BeforeClass annotation.

BinaryExpr

A common super-class to represent binary operator expressions.

BitNotExpr

A bit negation expression. For example, ~x.

BitwiseExpr

A bitwise expression.

Block

A block of statements.

BooleanLiteral

A boolean literal. Either true or false.

BooleanType

A boolean type, which may be either a primitive or a boxed type.

BoundedType

A common super-class for Java types that may have a type bound. This includes type parameters and wildcards.

BoxedType

A boxed type.

BreakStmt

A break statement.

Call

Any call to a callable.

Callable

A callable is a method or constructor.

CastExpr

A cast expression.

CatchClause

A catch clause in a try statement.

CharacterLiteral

A character literal. For example, '\n'.

CharacterType

A character type, which may be either a primitive or a boxed type.

Class

A class declaration.

ClassInstanceExpr

A class instance creation expression.

ClassNameMethod

The method Class.getName().

ClassOrInterface

A class or interface.

ClassSimpleNameMethod

The method Class.getSimpleName().

CloneMethod

A method with the same signature as java.lang.Object.clone.

ComparisonExpr

A comparison expression.

CompilationUnit

A compilation unit is a .java or .class file.

CompileTimeConstantExpr

A compile-time constant expression.

ConditionNode

A control-flow node that branches based on a condition.

ConditionalExpr

A conditional expression of the form a ? b : c, where a is the condition, b is the expression that is evaluated if the condition evaluates to true, and c is the expression that is evaluated if the condition evaluates to false.

ConditionalStmt

A conditional statement, including if, for, while and dowhile statements.

ConstCase

A constant case of a switch statement.

Constructor

A constructor is a particular kind of callable.

ConstructorCall

A constructor call, which occurs either as a constructor invocation inside a constructor, or as part of a class instance expression.

Container

A file or folder.

ContinueStmt

A continue statement.

ControlFlowNode

A node in the expression-level control-flow graph.

DeclAnnotation

An Annotation that applies to a declaration.

DefaultCase

A default case of a switch statement

DeprecatedAnnotation

A @Deprecated annotation.

Directive

A directive in a module declaration.

DivExpr

A binary expression using the / operator.

DoStmt

A do loop.

Documentable

A documentable element that can have an attached Javadoc comment.

DoubleLiteral

A double literal. For example, 4.2.

EQExpr

A binary expression using the == operator.

Element

A program element that has a name.

EmptyStmt

The empty statement.

EnhancedForStmt

An enhanced for loop. (Introduced in Java 5.)

EnterpriseBean

An enterprise bean.

EntityBean

An entity bean.

EnumConstant

An enum constant is a member of a enum type.

EnumType

An enumerated type.

EqualityTest

An equality test is a binary expression using the == or != operator.

EqualsMethod

A method with the same signature as java.lang.Object.equals.

Exception

An Exception represents an element listed in the throws clause of a method of constructor.

ExportsDirective

An exports directive in a module declaration.

Expr

A common super-class that represents all kinds of expressions.

ExprParent

An expression parent is an element that may have an expression as its child.

ExprStmt

An expression statement.

Field

A class or instance field.

FieldAccess

An expression that accesses a field.

FieldDeclaration

A field declaration that declares one or more class or instance fields.

FieldRead

An expression that reads a field.

FieldWrite

An expression that assigns a value to a field.

File

A file.

FinalizeMethod

A finalizer method, with name finalize, return type void and no parameters.

FloatingPointLiteral

A floating point literal. For example, 4.2f.

FloatingPointType

A floating point type, which may be either a primitive or a boxed type.

Folder

A folder.

ForStmt

A for loop.

FunctionalExpr

A functional expression is either a lambda expression or a member reference expression.

GEExpr

A binary expression using the >= operator.

GTExpr

A binary expression using the > operator.

GeneratedCallable

A generated callable is a callable declared in a generated class.

GeneratedClass

A Java class that is detected as having been generated.

GeneratedFile

A file that is detected as having been generated.

GenericCall

A call where the callee is a generic callable.

GenericCallable

A generic callable is a callable with a type parameter.

GenericClass

A generic type that is a class.

GenericConstructor

A generic constructor is a constructor with a type parameter.

GenericInterface

A generic type that is an interface.

GenericMethod

A generic method is a method with a type parameter.

GenericSrcMethod

A generic method that is the same as its source declaration.

GenericType

A generic type is a type that has a type parameter.

GetterMethod

A getter method is a method with the following properties:

GreaterThanComparison

A comparison expression using the operator > or >=.

HashCodeMethod

A method with the same signature as java.lang.Object.hashCode.

IfStmt

An if statement.

IgnoreAnnotation

An @org.junit.Ignore annotation.

ImmutableType

An immutable type.

Import

A common super-class for all kinds of Java import declarations.

ImportOnDemandFromPackage

A type-import-on-demand declaration that allows all accessible types of a named package to be imported as needed.

ImportOnDemandFromType

A type-import-on-demand declaration that allows all accessible nested types of a named type to be imported as needed.

ImportStaticOnDemand

A static-import-on-demand declaration, which allows all accessible static members of a named type to be imported as needed.

ImportStaticTypeMember

A single-static-import declaration, which imports all accessible static members with a given simple name from a type.

ImportType

A single-type-import declaration.

InitializerMethod

A compiler-generated initializer method (could be static or non-static), which is used to hold (static or non-static) field initializers, as well as explicit initializer blocks.

InnerClass

An inner class is a nested class that is neither explicitly nor implicitly declared static.

InstanceAccess

A use of one of the keywords this or super, which may be qualified.

InstanceField

An instance field.

InstanceInitializer

An instance initializer is a method that contains field initializations and explicit instance initializer blocks.

InstanceOfExpr

An instanceof expression.

IntegerLiteral

An integer literal. For example, 23.

IntegralType

An integral type, which may be either a primitive or a boxed type.

Interface

An interface.

IntersectionType

An intersection type.

IntersectionTypeAccess

An intersection type access expression is a type access of the form T0 & T1 & ... & Tn, where T0 is a class or interface type and T1, ..., Tn are interface types.

JMXRegistrationCall

A call that registers an object with the MBeanServer, directly or indirectly.

JMXRegistrationMethod

A method used to register MBean and MXBean instances with the MBeanServer.

JUnit38TestClass

A JUnit 3.8 test class.

JUnit3TestMethod

A test method declared within a JUnit 3.8 test class.

JUnit3TestSuite

A JUnit 3.8 test suite method.

JUnit4TestMethod

A JUnit test method that is annotated with the org.junit.Test annotation.

JUnitCategoryAnnotation

A @Category annotation on a class or method, that categorizes the annotated test.

JUnitIgnoreAnnotation

A JUnit @Ignore annotation.

JUnitIgnoredMethod

A method which, directly or indirectly, is treated as ignored by JUnit due to a @Ignore annotation.

JUnitJupiterTestMethod

A JUnit test method that is annotated with the org.junit.jupiter.api.Test annotation.

JUnitTheoryTest

A test class that will be run with theories.

JarFile

A Java archive file with a “.jar” extension.

Javadoc

A Javadoc comment.

JavadocElement

A common super-class for Javadoc elements, which may be either tags or text.

JavadocParent

A Javadoc parent is an element whose child can be some Javadoc documentation.

JavadocTag

A Javadoc tag.

JavadocText

A piece of Javadoc text.

JumpStmt

A break, yield or continue statement.

LEExpr

A binary expression using the <= operator.

LShiftExpr

A binary expression using the << operator.

LTExpr

A binary expression using the < operator.

LValue

An l-value is a write access to a variable, which occurs as the destination of an assignment.

LabeledStmt

A labeled statement.

LambdaExpr

Lambda expressions are represented by their implicit class instance creation expressions, which instantiate an anonymous class that overrides the unique method designated by their functional interface type. The parameters of the lambda expression correspond to the parameters of the overriding method, and the lambda body corresponds to the body of the overriding method (enclosed by a return statement and a block in the case of lambda expressions whose body is an expression).

LessThanComparison

A comparison expression using the operator < or <=.

Literal

A common super-class to represent constant literals.

LocalClass

A local class.

LocalClassDeclStmt

A statement that declares a local class.

LocalEJBHomeInterface

A local EJB home interface.

LocalEJBInterface

A local EJB interface.

LocalScopeVariable

A locally scoped variable, that is, either a local variable or a parameter.

LocalVariableDecl

A local variable declaration

LocalVariableDeclExpr

A local variable declaration expression.

LocalVariableDeclStmt

A statement that declares one or more local variables.

Location

A location maps language elements to positions in source files.

LogNotExpr

A logical negation expression. For example, !b.

LogicExpr

A logical expression.

LongLiteral

A long literal. For example, 23l.

LoopStmt

A loop statement, including for, enhanced for, while and do statements.

MBean

An MBean.

MXBean

An MXBean.

MainAntTarget

An Ant target that occurs in an Ant build file with the default name build.xml.

MainMethod

The public static main method, with a single formal parameter of type String[] and return type void.

ManagedBean

A managed bean.

MarkerCommentGeneratedFile

A file detected as generated based on commonly-used marker comments.

Member

A common abstraction for type member declarations, including methods, constructors, fields, and nested types.

MemberRefExpr

Member references are represented by their implicit class instance expressions, which instantiate an anonymous class that overrides the unique method designated by their functional interface type. The correspondence of the parameters of the overriding method in the anonymous class with the parameters of the callable that is referenced differs depending on the particular kind of member reference expression.

MessageBean

A message bean.

Method

A method is a particular kind of callable.

MethodAbs

The method Math.abs.

MethodAccess

A method access is an invocation of a method with a list of arguments.

MethodExit

Any method named exit on class java.lang.Runtime or java.lang.System.

MethodMathMax

The method Math.min.

MethodMathMin

The method Math.min.

MethodProcessBuilderCommand

Any of the methods named command on class java.lang.ProcessBuilder.

MethodRuntimeExec

Any method named exec on class java.lang.Runtime.

MethodSystemGetProperty

Any method named getProperty on class java.lang.System.

MethodSystemGetenv

Any method named getenv on class java.lang.System.

MetricCallable

This class provides access to metrics information for callables.

MetricElement

This class provides access to metrics information for elements in Java programs.

MetricField

This class provides access to metrics information for fields.

MetricPackage

This class provides access to metrics information for packages.

MetricRefType

This class provides access to metrics information for reference types.

MetricStmt

This class provides access to metrics information for statements.

MinusExpr

A unary minus expression. For example, -i.

Modifiable

An element of the Java syntax tree that may have a modifier.

Modifier

A modifier such as private, static or abstract.

Module

A module.

MulExpr

A binary expression using the * operator.

NEExpr

A binary expression using the != operator.

NestedClass

A class declared within another type.

NestedType

A nested type is a type declared within another type.

NonReflectiveAnnotation

An annotation that does not indicate that a field may be accessed reflectively.

NullLiteral

The null literal, written null.

NullType

The type of the null literal.

NumberType

A (reflexive, transitive) subtype of java.lang.Number.

NumericOrCharType

A numeric or character type, which may be either a primitive or a boxed type.

NumericType

A numeric type, including both primitive and boxed types.

OpensDirective

An opens directive in a module declaration.

OrBitwiseExpr

A binary expression using the | operator.

OrLogicalExpr

A binary expression using the || operator.

OverrideAnnotation

An @Override annotation.

Package

A package may be used to abstract over all of its members, regardless of which compilation unit they are defined in.

PackageAccess

A package access.

ParExpr

DEPRECATED: Use Expr.isParenthesized() instead.

ParamTag

A Javadoc @param tag.

Parameter

A formal parameter of a callable.

ParameterizedClass

A parameterized type that is a class.

ParameterizedInterface

A parameterized type that is an interface.

ParameterizedJUnitTest

A class that will be run using the org.junit.runners.Parameterized JUnit runner.

ParameterizedType

A parameterized type is an instantiation of a generic type, where each formal type variable has been replaced with a type argument.

PlusExpr

A unary plus expression. For example, +i.

PostDecExpr

A post-decrement expression. For example, i--.

PostIncExpr

A post-increment expression. For example, i++.

PreDecExpr

A pre-decrement expression. For example, --i.

PreIncExpr

A pre-increment expression. For example, ++i.

PreMainMethod

A premain method is an agent entry-point.

PrimitiveType

A primitive type.

ProvidesDirective

A provides directive in a module declaration.

RShiftExpr

A binary expression using the >> operator.

RValue

An r-value is a read access to a variable.

RawClass

A raw type that is a class.

RawInterface

A raw type that is an interface.

RawType

The raw version of a generic type is the type that is formed by using the name of a generic type without specifying its type arguments.

ReadObjectMethod

A method that reads an object on type java.io.ObjectInputStream, including readObject, readObjectOverride, readUnshared and resolveObject.

Record

PREVIEW FEATURE in Java 14. Subject to removal in a future release.

RefType

A common super-class for various kinds of reference types, including classes, interfaces, type parameters and arrays.

ReflectiveAccessAnnotation

An annotation suggesting that the annotated element may be accessed reflectively.

RegisteredManagedBeanImpl

An managed bean implementation which is seen to be registered with the MBeanServer, directly or indirectly.

RemExpr

A binary expression using the % operator.

RemoteEJBHomeInterface

A remote EJB home interface.

RemoteEJBInterface

A remote EJB interface.

RequiresDirective

A requires directive in a module declaration.

RetentionAnnotation

A @Retention annotation.

ReturnStmt

A return statement.

RunWithAnnotation

An @org.junit.runner.RunWith annotation, which indicates that tests within a class should be run with a special Runner.

SeeTag

A Javadoc @see tag.

SessionBean

A session bean.

SetterMethod

A setter method is a method with the following properties:

SingletonBlock

A block with only a single statement.

SrcMethod

A method that is the same as its source declaration.

SrcRefType

A type that is the same as its source declaration.

StandardNonReflectiveAnnotation
StaticInitializer

A static initializer is a method that contains all static field initializations and static initializer blocks.

StaticMethodAccess

A static method call.

Stmt

A common super-class of all statements.

StmtParent

A statement parent is any element that can have a statement as its child.

StringLengthMethod

The length() method of the class java.lang.String.

StringLiteral

A string literal. For example, "hello world".

SubExpr

A binary expression using the - operator.

SuperAccess

A use of the keyword super, which may be qualified.

SuperConstructorInvocationStmt

An explicit super(...) constructor invocation.

SuperMethodAccess

A call to a method in the superclass.

SuppressWarningsAnnotation

A @SuppressWarnings annotation.

SwitchCase

A case of a switch statement or expression.

SwitchExpr

A switch expression.

SwitchStmt

A switch statement.

SynchronizedStmt

A synchronized statement.

SystemErr

The field System.err.

SystemIn

The field System.in.

SystemOut

The field System.out.

TargetAnnotation

A @Target annotation.

TearDownMethod

A JUnit 3.8 tearDown method.

TestAnnotation

An @org.junit.Test annotation.

TestClass

A class detected to be a test class, either because it or one of its super-types and/or enclosing types contains a test method or method with a unit-test-related annotation.

TestMethod

Any method detected to be a test method of a common testing framework, including JUnit and TestNG.

TestNGAfterAnnotation

A TestNG annotation used to mark a method that runs “after”.

TestNGAnnotation

An annotation in TestNG.

TestNGBeforeAnnotation

A TestNG annotation used to mark a method that runs “before”.

TestNGDataProviderAnnotation

An annotation of type org.testng.annotations.DataProvider which is applied to methods to mark them as data provider methods for TestNG.

TestNGDataProviderMethod

A method annotated with org.testng.annotations.DataProvider marking it as a data provider method for TestNG.

TestNGFactoryAnnotation

An annotation of type org.testng.annotations.Factory which is applied to methods to mark them as factory methods for TestNG.

TestNGFactoryCallable

A constructor or method annotated with org.testng.annotations.Factory marking it as a factory for TestNG.

TestNGListenerImpl

A concrete implementation class of one or more of the TestNG listener interfaces.

TestNGListenersAnnotation

An annotation of type org.testng.annotations.Listeners which is applied to classes to define which listeners apply to them.

TestNGTestAnnotation

An annotation of type org.test.ng.annotations.Test.

TestNGTestMethod

A TestNG test method, annotated with the org.testng.annotations.Test annotation.

ThisAccess

A use of the keyword this, which may be qualified.

ThisConstructorInvocationStmt

An explicit this(...) constructor invocation.

ThrowStmt

A throw statement.

ThrowableType

A (reflexive, transitive) subtype of java.lang.Throwable.

ThrowsTag

A Javadoc @throws or @exception tag.

Top

Top is the root of the QL type hierarchy; it defines some default methods for obtaining locations and a standard toString() method.

TopLevelClass

A top-level class.

TopLevelType

A top-level type.

TryStmt

A try statement.

Type

A common abstraction for all Java types, including primitive, class, interface and array types.

TypeAccess

A type access is a (possibly qualified) reference to a type.

TypeAnnotation

An Annotation that applies to a type.

TypeBound

A type bound on a type variable.

TypeClass

The class java.lang.Class.

TypeClassCastException

The class java.lang.ClassCastException.

TypeCloneable

The interface java.lang.Cloneable.

TypeConstructor

The class java.lang.Constructor.

TypeError

The class java.lang.Error.

TypeException

The class java.lang.Exception.

TypeFile

The class java.io.File.

TypeFileSystem

The class java.nio.file.FileSystem.

TypeJUnitTest

The Java interface junit.framework.Test.

TypeJUnitTestCase

The Java class junit.framework.TestCase.

TypeJUnitTestSuite

The Java class junit.framework.TestSuite.

TypeLiteral

A type literal. For example, String.class.

TypeMath

The class java.lang.Math.

TypeNumber

The class java.lang.Number.

TypeObject

The class java.lang.Object.

TypeObjectOutput

The interface java.io.ObjectOutput.

TypeObjectOutputStream

The type java.io.ObjectOutputStream.

TypePath

The type java.nio.file.Path.

TypePaths

The class java.nio.file.Paths.

TypeProcessBuilder

The class java.lang.ProcessBuilder.

TypeRuntime

The class java.lang.Runtime.

TypeRuntimeException

The class java.lang.RuntimeException.

TypeSerializable

The interface java.io.Serializable.

TypeString

The class java.lang.String.

TypeStringBuffer

The class java.lang.StringBuffer.

TypeStringBuilder

The class java.lang.StringBuilder.

TypeSystem

The class java.lang.System.

TypeThrowable

The class java.lang.Throwable.

TypeVariable

A type parameter used in the declaration of a generic type or method.

URShiftExpr

A binary expression using the >>> operator.

UnaryAssignExpr

A unary assignment expression is a unary expression using the prefix or postfix ++ or -- operator.

UnaryExpr

A common super-class that represents unary operator expressions.

UncheckedThrowableType

An unchecked exception. That is, a (reflexive, transitive) subtype of java.lang.Error or java.lang.RuntimeException.

UnionTypeAccess

A union type access is a type access of the form T1 | T2.

UsesDirective

A uses directive in a module declaration.

VarAccess

A variable access is a (possibly qualified) reference to a field, parameter or local variable.

Variable

A variable is a field, a local variable or a parameter.

VariableAssign

An assignment to a variable or an initialization of the variable.

VariableUpdate

An update of a variable or an initialization of the variable.

VirtualMethodAccess

A polymorphic call to an instance method.

VoidType

The void type.

WhileStmt

A while loop.

Wildcard

A wildcard used as a type argument.

WildcardTypeAccess

A wildcard type access, which may have either a lower or an upper bound.

WriteObjectMethod

A method named writeObject on type java.io.ObjectOutput or java.io.ObjectOutputStream.

XMLAttribute

An attribute that occurs inside an XML element.

XMLCharacters

A sequence of characters that occurs between opening and closing tags of an XML element, excluding other elements.

XMLComment

A comment in an XML file.

XMLDTD

An XML document type definition (DTD).

XMLElement

An XML element in an XML file.

XMLFile

An XML file.

XMLLocatable

An XML element that has a location.

XMLNamespace

A namespace used in an XML file.

XMLParent

An XMLParent is either an XMLElement or an XMLFile, both of which can contain other elements.

XorBitwiseExpr

A binary expression using the ^ operator.

YieldStmt

A yield statement.