Modifier and Type | Field and Description |
---|---|
protected boolean |
type_computed |
protected TypeDecl |
type_value |
protected Map |
typeArguments_MethodDecl_values |
hasPrevExpr_computed, hasPrevExpr_value, prevExpr_computed, prevExpr_value
false_label_computed, false_label_value, true_label_computed, true_label_value
children, generatedWithCacheCycle, generatedWithCircularEnabled, generatedWithComponentCheck, in$Circle, is$Final, numChildren, parent, PRIMITIVE_PACKAGE_NAME, state
Constructor and Description |
---|
DiamondAccess() |
DiamondAccess(Access p0) |
Modifier and Type | Method and Description |
---|---|
protected boolean |
applicableByMethodInvocationConversion(ClassInstanceExpr expr,
MethodDecl method) |
protected boolean |
applicableBySubtyping(ClassInstanceExpr expr,
MethodDecl method) |
protected boolean |
applicableByVariableArity(ClassInstanceExpr expr,
MethodDecl method) |
protected SimpleSet |
chooseConstructor()
Choose a constructor for the diamond operator using placeholder
methods.
|
DiamondAccess |
clone() |
Collection<TypeDecl> |
computeConstraints(GenericMethodDecl decl)
Diamond type inference.
|
DiamondAccess |
copy() |
void |
flushCache() |
void |
flushCollectionCache() |
DiamondAccess |
fullCopy()
Create a deep copy of the AST subtree at this node.
|
ClassInstanceExpr |
getClassInstanceExpr() |
Access |
getTypeAccess()
Retrieves the TypeAccess child.
|
Access |
getTypeAccessNoTransform()
Retrieves the TypeAccess child.
|
void |
init$Children()
Initializes the child array to the correct size.
|
boolean |
isAnonymousDecl() |
boolean |
isDiamond() |
boolean |
isExplicitGenericConstructorAccess() |
boolean |
mayHaveRewrite() |
protected static SimpleSet |
mostSpecific(SimpleSet maxSpecific,
MethodDecl decl) |
protected int |
numChildren() |
protected boolean |
potentiallyApplicable(GenericMethodDecl candidate) |
protected Collection<MethodDecl> |
potentiallyApplicable(List<PlaceholderMethodDecl> candidates)
Select potentially applicable method declarations
from a set of candidates.
|
ASTNode |
rewriteTo() |
void |
setTypeAccess(Access node)
Replaces the TypeAccess child.
|
void |
toString(StringBuffer sb)
Pretty printing of diamond access.
|
TypeDecl |
type()
If this DiamondAccess node constitutes a legal use of
the diamond operator, the inferred generic type for the
enclosing class instance expression is returned.
|
List<TypeDecl> |
typeArguments(MethodDecl decl)
Type inference for placeholder methods.
|
void |
typeCheck()
Checks if this diamond access is legal.
|
TypeDecl |
typeObject() |
addArrayDims, addArraySize, emitLoadLocalInNestedClass, emitThis, hasPrevExpr, inExplicitConstructorInvocation, isQualified, lastAccess, nestedScope, predNameType, prevExpr, qualifier, substituted, superConstructorQualifier, unknownField, unknownType, unqualifiedScope, withinDeprecatedAnnotation, withinSuppressWarnings
addDependencyIfNeeded, applicableAndAccessible, assignConvertedType, canBeFalse, canBeTrue, chooseConstructor, collectTypesToHierarchy, condition_false_label, condition_true_label, constant, emitBooleanCondition, emitEvalBranch, emitStore, enclosingBodyDecl, enclosingStmt, eval, false_label, hasNextAccess, hasPackage, hasParentDot, hasQualifiedPackage, hostPackage, hostType, inExtendsOrImplements, inStaticContext, isArrayAccess, isClassAccess, isConstant, isDAafter, isDAafterFalse, isDAafterTrue, isDAbefore, isDest, isDUafter, isDUafterFalse, isDUafterTrue, isDUbefore, isEnumConstant, isFalse, isFieldAccess, isIncOrDec, isLeftChildOfDot, isMethodAccess, isPackageAccess, isPositive, isRightChildOfDot, isSource, isSuperAccess, isSuperConstructorAccess, isThisAccess, isTrue, isTypeAccess, isUnknown, isVariable, isVariable, keepAccessibleFields, keepAccessibleTypes, lookupMethod, lookupType, lookupType, lookupVariable, mayAccess, methodHost, modifiedInScope, mostSpecific, mostSpecificConstructor, nameType, nextAccess, packageName, parentDot, qualifiedLookupType, qualifiedLookupVariable, qualifiesAccess, refined_BooleanExpressions_Expr_emitEvalBranch, representableIn, staticContextQualifier, throwTypes, true_label, typeBoolean, typeByte, typeChar, typeDouble, typeFloat, typeInt, typeLong, typeName, typeNull, typeShort, typeString, typeVoid, varDecl
accessControl, addAttributes, addChild, addsIndentationLevel, asImmediate, asLocal, asLocal, asRValue, beginExceptionRange, branchTarget, checkDUeverywhere, checkEnum, checkUncheckedConversion, checkWarnings, clearLocations, cloneSubtree, collectBranches, collectEnclosingVariables, collectErrors, collectExceptions, collectFinally, collectTypesToSignatures, compilationUnit, Define_Annotation_lookupAnnotation, Define_ArrayList_exceptionRanges, Define_ASTNode_enclosingBlock, Define_BodyDecl_enclosingBodyDecl, Define_boolean_enclosedByExceptionHandler, Define_boolean_handlesException, Define_boolean_hasPackage, Define_boolean_inExplicitConstructorInvocation, Define_boolean_inExtendsOrImplements, Define_boolean_inhModifiedInScope, Define_boolean_insideLoop, Define_boolean_insideSwitch, Define_boolean_inStaticContext, Define_boolean_isAnonymous, Define_boolean_isAnonymousDecl, Define_boolean_isCatchParam, Define_boolean_isConstructorParameter, Define_boolean_isDAbefore, Define_boolean_isDest, Define_boolean_isDUbefore, Define_boolean_isExceptionHandlerParameter, Define_boolean_isExplicitGenericConstructorAccess, Define_boolean_isIncOrDec, Define_boolean_isLocalClass, Define_boolean_isMemberType, Define_boolean_isMethodParameter, Define_boolean_isNestedType, Define_boolean_isSource, Define_boolean_mayBeAbstract, Define_boolean_mayBeFinal, Define_boolean_mayBeNative, Define_boolean_mayBePrivate, Define_boolean_mayBeProtected, Define_boolean_mayBePublic, Define_boolean_mayBeStatic, Define_boolean_mayBeStrictfp, Define_boolean_mayBeSynchronized, Define_boolean_mayBeTransient, Define_boolean_mayBeVolatile, Define_boolean_mayUseAnnotationTarget, Define_boolean_reachable, Define_boolean_reachableCatchClause, Define_boolean_reportUnreachable, Define_boolean_resourcePreviouslyDeclared, Define_boolean_variableArityValid, Define_boolean_withinDeprecatedAnnotation, Define_boolean_withinSuppressWarnings, Define_Case_bind, Define_CatchClause_catchClause, Define_ClassInstanceExpr_getClassInstanceExpr, Define_Collection_lookupConstructor, Define_Collection_lookupMethod, Define_Collection_lookupSuperConstructor, Define_Collection_TypeDecl__caughtExceptions, Define_CompilationUnit_compilationUnit, Define_ConstructorDecl_constructorDecl, Define_ConstructorDecl_unknownConstructor, Define_ElementValue_lookupElementTypeValue, Define_Expr_nestedScope, Define_GLBType_lookupGLBType, Define_int_localNum, Define_LabeledStmt_lookupLabel, Define_LUBType_lookupLUBType, Define_MethodDecl_unknownMethod, Define_NameType_nameType, Define_SimpleSet_allImportedTypes, Define_SimpleSet_lookupType, Define_SimpleSet_lookupVariable, Define_soot_jimple_Stmt_condition_false_label, Define_soot_jimple_Stmt_condition_true_label, Define_String_hostPackage, Define_String_methodHost, Define_String_packageName, Define_String_typeDeclIndent, Define_TypeDecl_assignConvertedType, Define_TypeDecl_componentType, Define_TypeDecl_declType, Define_TypeDecl_enclosingAnnotationDecl, Define_TypeDecl_enclosingInstance, Define_TypeDecl_enclosingType, Define_TypeDecl_expectedType, Define_TypeDecl_genericDecl, Define_TypeDecl_hostType, Define_TypeDecl_lookupType, Define_TypeDecl_lookupWildcardExtends, Define_TypeDecl_lookupWildcardSuper, Define_TypeDecl_returnType, Define_TypeDecl_superType, Define_TypeDecl_switchType, Define_TypeDecl_typeBoolean, Define_TypeDecl_typeByte, Define_TypeDecl_typeChar, Define_TypeDecl_typeCloneable, Define_TypeDecl_typeDouble, Define_TypeDecl_typeError, Define_TypeDecl_typeException, Define_TypeDecl_typeFloat, Define_TypeDecl_typeInt, Define_TypeDecl_typeLong, Define_TypeDecl_typeNull, Define_TypeDecl_typeNullPointerException, Define_TypeDecl_typeObject, Define_TypeDecl_typeRuntimeException, Define_TypeDecl_typeSerializable, Define_TypeDecl_typeShort, Define_TypeDecl_typeString, Define_TypeDecl_typeThrowable, Define_TypeDecl_typeVoid, Define_TypeDecl_typeWildcard, Define_TypeDecl_unknownType, Define_Variable_unknownField, Define_VariableScope_outerScope, definesLabel, definiteAssignment, dumpString, dumpTree, dumpTree, dumpTreeNoRewrite, dumpTreeNoRewrite, duringAnnotations, duringAnonymousClasses, duringBoundNames, duringDU, duringEnums, duringGenericTypeVariables, duringImplicitConstructor, duringLiterals, duringNameResolution, duringSyntacticClassification, duringVariableDeclarationTransformation, emitConstant, end, endExceptionRange, error, errorPrefix, exceptionHandling, extractIndent, extractSingleType, flushCaches, getChild, getChildNoTransform, getIndexOfChild, getNumChild, getNumChildNoTransform, getParent, in$Circle, in$Circle, indent, insertChild, is$Final, is$Final, isDescendantTo, isStringAdd, iterator, jimplify1phase1, jimplify1phase2, jimplify2, jimplify2, lineNumber, location, nameCheck, newLabel, options, putSimpleSetElement, reachedException, removeChild, removeInstanceMethods, removeInstanceVariables, replace, setChild, setEnd, setLocation, setParent, setStart, sourceFile, start, state, toString, transformation, transformEnumConstructors, unassignedEverywhere, usesTypeVariable, varChildIndex, varChildIndex, warning, warningPrefix, with
getColumn, getEnd, getId, getLine, getStart, makePosition
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
forEach, spliterator
protected boolean type_computed
protected TypeDecl type_value
protected Map typeArguments_MethodDecl_values
public DiamondAccess()
public DiamondAccess(Access p0)
public void flushCache()
flushCache
in class Access
public void flushCollectionCache()
flushCollectionCache
in class Access
public DiamondAccess clone() throws CloneNotSupportedException
clone
in class Access
CloneNotSupportedException
public DiamondAccess copy()
public DiamondAccess fullCopy()
protected static SimpleSet mostSpecific(SimpleSet maxSpecific, MethodDecl decl)
protected SimpleSet chooseConstructor()
protected Collection<MethodDecl> potentiallyApplicable(List<PlaceholderMethodDecl> candidates)
protected boolean potentiallyApplicable(GenericMethodDecl candidate)
public Collection<TypeDecl> computeConstraints(GenericMethodDecl decl)
protected boolean applicableBySubtyping(ClassInstanceExpr expr, MethodDecl method)
protected boolean applicableByMethodInvocationConversion(ClassInstanceExpr expr, MethodDecl method)
protected boolean applicableByVariableArity(ClassInstanceExpr expr, MethodDecl method)
public void typeCheck()
public void toString(StringBuffer sb)
public void init$Children()
init$Children
in class Access
protected int numChildren()
numChildren
in class Access
public boolean mayHaveRewrite()
mayHaveRewrite
in class Access
public void setTypeAccess(Access node)
node
- The new node to replace the TypeAccess child.public Access getTypeAccess()
public Access getTypeAccessNoTransform()
This method does not invoke AST transformations.
public TypeDecl type()
public List<TypeDecl> typeArguments(MethodDecl decl)
public ClassInstanceExpr getClassInstanceExpr()
public TypeDecl typeObject()
public boolean isAnonymousDecl()
public boolean isExplicitGenericConstructorAccess()
Copyright © 2021 Soot OSS. All rights reserved.