Class ScalaMethodElement
- All Implemented Interfaces:
io.micronaut.core.annotation.AnnotatedElement, io.micronaut.core.annotation.AnnotationMetadata, io.micronaut.core.annotation.AnnotationMetadataDelegate, io.micronaut.core.annotation.AnnotationMetadataProvider, io.micronaut.core.annotation.AnnotationSource, io.micronaut.core.naming.Described, io.micronaut.core.naming.Named, io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>, io.micronaut.inject.ast.Element, io.micronaut.inject.ast.MemberElement, io.micronaut.inject.ast.MethodElement
- Direct Known Subclasses:
ScalaConstructorElement
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final ScalaClassElementprotected final ScalaMethodDataprotected final ScalaVisitorContextFields inherited from interface io.micronaut.core.annotation.AnnotationMetadata
CLASS_NAME_SUFFIX, EMPTY_METADATA, VALUE_MEMBERFields inherited from interface io.micronaut.core.annotation.AnnotationSource
EMPTYFields inherited from interface io.micronaut.inject.ast.Element
EMPTY_ELEMENT_ARRAYFields inherited from interface io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate
EMPTY -
Method Summary
Modifier and TypeMethodDescriptionio.micronaut.inject.ast.beans.BeanElementBuilderaddAssociatedBean(io.micronaut.inject.ast.ClassElement type) <T extends Annotation>
io.micronaut.inject.ast.Elementannotate(io.micronaut.core.annotation.AnnotationValue<T> annotationValue) <T extends Annotation>
io.micronaut.inject.ast.Elementannotate(String annotationType, Consumer<io.micronaut.core.annotation.AnnotationValueBuilder<T>> consumer) protected Objectprotected Class<?> booleanio.micronaut.core.annotation.AnnotationMetadataprotected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?> List<? extends io.micronaut.inject.ast.GenericPlaceholderElement> io.micronaut.inject.ast.ClassElementgetDocumentation(boolean parse) protected io.micronaut.inject.ast.annotation.ElementAnnotationMetadataio.micronaut.inject.ast.ClassElementThe return type with the declaring type's variables bound as they were where the method was reached;getReturnType()stays the declared type, the JVM signature.io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.core.annotation.AnnotationMetadata> Set<io.micronaut.inject.ast.ElementModifier> getName()io.micronaut.inject.ast.ClassElementThe class this method was reached through.io.micronaut.inject.ast.ParameterElement[]io.micronaut.inject.ast.ClassElementio.micronaut.inject.ast.ClassElement[]inthashCode()protected booleanWhether an absent nullability annotation on this member means non-null.booleanhides(io.micronaut.inject.ast.MethodElement hiddenMethod) booleanbooleanbooleanisFinal()booleanbooleanbooleanbooleanbooleanisPublic()booleanisStatic()booleanoverrides(io.micronaut.inject.ast.MethodElement overridden) io.micronaut.inject.ast.ElementremoveAnnotation(String annotationType) <T extends Annotation>
io.micronaut.inject.ast.ElementremoveAnnotationIf(Predicate<io.micronaut.core.annotation.AnnotationValue<T>> predicate) io.micronaut.inject.ast.ElementremoveStereotype(String annotationType) protected final voidreplaceParameters(io.micronaut.inject.ast.ParameterElement[] parameters) io.micronaut.inject.ast.MethodElementwithAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) io.micronaut.inject.ast.MethodElementwithNewOwningType(io.micronaut.inject.ast.ClassElement owningType) io.micronaut.inject.ast.MethodElementwithParameters(io.micronaut.inject.ast.ParameterElement... newParameters) Methods inherited from class Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.micronaut.core.annotation.AnnotatedElement
isDeclaredNonNull, isDeclaredNullable, isNonNull, isNullableMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadata
enumValuesSet, enumValuesSet, getValues, hasDeclaredStereotype, hasStereotypeNonRepeating, isAnnotationPresent, isDeclaredAnnotationPresentMethods inherited from interface io.micronaut.core.annotation.AnnotationMetadataDelegate
booleanValue, booleanValue, booleanValue, booleanValue, classValue, classValue, classValue, classValue, classValues, classValues, classValues, classValues, copyAnnotationMetadata, doubleValue, doubleValue, doubleValue, enumValue, enumValue, enumValue, enumValue, enumValues, enumValues, enumValues, enumValues, findAnnotation, findAnnotation, findDeclaredAnnotation, findDeclaredAnnotation, findRepeatableAnnotation, findRepeatableAnnotation, getAnnotation, getAnnotation, getAnnotationNameByStereotype, getAnnotationNameByStereotype, getAnnotationNames, getAnnotationNamesByStereotype, getAnnotationNamesByStereotype, getAnnotationType, getAnnotationType, getAnnotationTypeByStereotype, getAnnotationTypeByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationTypesByStereotype, getAnnotationValuesByName, getAnnotationValuesByStereotype, getAnnotationValuesByType, getDeclaredAnnotation, getDeclaredAnnotation, getDeclaredAnnotationNameByStereotype, getDeclaredAnnotationNames, getDeclaredAnnotationNamesByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationTypeByStereotype, getDeclaredAnnotationValuesByName, getDeclaredAnnotationValuesByType, getDeclaredMetadata, getDeclaredStereotypeAnnotationNames, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValue, getDefaultValues, getStereotypeAnnotationNames, getTargetAnnotationMetadata, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValue, getValues, getValues, hasAnnotation, hasAnnotation, hasDeclaredAnnotation, hasDeclaredAnnotation, hasDeclaredStereotype, hasDeclaredStereotype, hasDeclaredStereotype, hasEvaluatedExpressions, hasPropertyExpressions, hasSimpleAnnotation, hasSimpleDeclaredAnnotation, hasStereotype, hasStereotype, hasStereotype, hasStereotype, intValue, intValue, intValue, isAnnotationPresent, isDeclaredAnnotationPresent, isEmpty, isFalse, isFalse, isPresent, isPresent, isRepeatableAnnotation, isRepeatableAnnotation, isTrue, isTrue, longValue, longValue, stringValue, stringValue, stringValue, stringValue, stringValues, stringValues, stringValues, stringValues, synthesize, synthesize, synthesizeAll, synthesizeAnnotationsByType, synthesizeDeclared, synthesizeDeclared, synthesizeDeclared, synthesizeDeclaredAnnotationsByTypeMethods inherited from interface io.micronaut.inject.ast.Element
annotate, annotate, annotate, annotate, annotate, getDescription, getDocumentation, getDocumentation, getName, getNativeType, getSimpleName, isAbstract, isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic, removeAnnotation, removeAnnotation, removeAnnotationIf, removeStereotype, removeStereotypeMethods inherited from interface io.micronaut.inject.ast.MemberElement
getDeclaringType, getModifiers, isAccessible, isAccessible, isAccessible, isReflectionRequired, isReflectionRequiredMethods inherited from interface io.micronaut.inject.ast.MethodElement
findParameterIndex, getDeclaredMethodAnnotationMetadata, getDescription, getOverriddenMethods, getParameter, getReceiverType, getSuspendParameters, getTypeArguments, hasParameters, hides, isSubSignature, isSuspend, isVarArgs, withNewParameters
-
Field Details
-
declaringType
-
visitorContext
-
methodData
-
-
Method Details
-
getAnnotationMetadata
public io.micronaut.core.annotation.AnnotationMetadata getAnnotationMetadata()- Specified by:
getAnnotationMetadatain interfaceio.micronaut.core.annotation.AnnotationMetadataProvider
-
getAnnotationMetadataToWrite
protected io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<?> getAnnotationMetadataToWrite() -
getMethodAnnotationMetadata
public io.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.core.annotation.AnnotationMetadata> getMethodAnnotationMetadata()- Specified by:
getMethodAnnotationMetadatain interfaceio.micronaut.inject.ast.MethodElement
-
getReturnType
public io.micronaut.inject.ast.ClassElement getReturnType()- Specified by:
getReturnTypein interfaceio.micronaut.inject.ast.MethodElement
-
getGenericReturnType
public io.micronaut.inject.ast.ClassElement getGenericReturnType()The return type with the declaring type's variables bound as they were where the method was reached;getReturnType()stays the declared type, the JVM signature.- Specified by:
getGenericReturnTypein interfaceio.micronaut.inject.ast.MethodElement
-
getDeclaredTypeVariables
- Specified by:
getDeclaredTypeVariablesin interfaceio.micronaut.inject.ast.MethodElement
-
getDeclaredTypeArguments
-
getThrownTypes
public io.micronaut.inject.ast.ClassElement[] getThrownTypes()- Specified by:
getThrownTypesin interfaceio.micronaut.inject.ast.MethodElement
-
getParameters
public io.micronaut.inject.ast.ParameterElement[] getParameters()- Specified by:
getParametersin interfaceio.micronaut.inject.ast.MethodElement
-
replaceParameters
protected final void replaceParameters(io.micronaut.inject.ast.ParameterElement[] parameters) -
withParameters
public io.micronaut.inject.ast.MethodElement withParameters(io.micronaut.inject.ast.ParameterElement... newParameters) - Specified by:
withParametersin interfaceio.micronaut.inject.ast.MethodElement
-
withNewOwningType
public io.micronaut.inject.ast.MethodElement withNewOwningType(io.micronaut.inject.ast.ClassElement owningType) - Specified by:
withNewOwningTypein interfaceio.micronaut.inject.ast.MethodElement
-
withAnnotationMetadata
public io.micronaut.inject.ast.MethodElement withAnnotationMetadata(io.micronaut.core.annotation.AnnotationMetadata annotationMetadata) - Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.Element- Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.MemberElement- Specified by:
withAnnotationMetadatain interfaceio.micronaut.inject.ast.MethodElement
-
addAssociatedBean
public io.micronaut.inject.ast.beans.BeanElementBuilder addAssociatedBean(io.micronaut.inject.ast.ClassElement type) - Specified by:
addAssociatedBeanin interfaceio.micronaut.inject.ast.MethodElement
-
isDefault
public boolean isDefault()- Specified by:
isDefaultin interfaceio.micronaut.inject.ast.MethodElement
-
getOwningType
public io.micronaut.inject.ast.ClassElement getOwningType()The class this method was reached through.This used to answer
declaringTypefor a default method, which is every concrete trait method, sowithNewOwningTypewas a no-op for exactly the case it exists for. Class-level AOP advice reaches a method through the owning type's metadata, so a method inherited from a trait and not overridden was never advised: the bean was proxied, the proxy declared the method, and the interceptor chain for it was empty --@Transactionalor@Cacheableon such a method did nothing, silently.- Specified by:
getOwningTypein interfaceio.micronaut.inject.ast.MemberElement
-
overrides
public boolean overrides(io.micronaut.inject.ast.MethodElement overridden) - Specified by:
overridesin interfaceio.micronaut.inject.ast.MethodElement
-
hides
public boolean hides(io.micronaut.inject.ast.MethodElement hiddenMethod) - Specified by:
hidesin interfaceio.micronaut.inject.ast.MethodElement
-
equalityKey
-
getDeclaringType
public io.micronaut.inject.ast.ClassElement getDeclaringType()- Specified by:
getDeclaringTypein interfaceio.micronaut.inject.ast.MemberElement
-
hasNullMarked
protected boolean hasNullMarked()Whether an absent nullability annotation on this member means non-null.`@NullMarked` annotates nothing itself: it changes what saying nothing means for everything inside it. Core leaves that to the language module -- `isNonNull()` on the shared `AnnotatedElement` only asks whether the stereotype is present -- and the Java module implements it by walking from the member out to its owning type. Without the same walk here, every unannotated member of a `@NullMarked` Scala class reported neither nullable nor non-null, so binding and validation treated it as unconstrained.
- Returns:
- true when this member, or the type declaring it, is null-marked
-
isNonNull
public boolean isNonNull()- Specified by:
isNonNullin interfaceio.micronaut.core.annotation.AnnotatedElement
-
rawDocumentation
-
getDocumentation
-
getName
- Specified by:
getNamein interfaceio.micronaut.inject.ast.Element- Specified by:
getNamein interfaceio.micronaut.core.naming.Named
-
isProtected
public boolean isProtected()- Specified by:
isProtectedin interfaceio.micronaut.inject.ast.Element
-
isPublic
public boolean isPublic()- Specified by:
isPublicin interfaceio.micronaut.inject.ast.Element
-
isPrivate
public boolean isPrivate()- Specified by:
isPrivatein interfaceio.micronaut.inject.ast.Element
-
isPackagePrivate
public boolean isPackagePrivate()- Specified by:
isPackagePrivatein interfaceio.micronaut.inject.ast.Element
-
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceio.micronaut.inject.ast.Element
-
isStatic
public boolean isStatic()- Specified by:
isStaticin interfaceio.micronaut.inject.ast.Element
-
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceio.micronaut.inject.ast.Element
-
getModifiers
- Specified by:
getModifiersin interfaceio.micronaut.inject.ast.Element
-
getNativeType
- Specified by:
getNativeTypein interfaceio.micronaut.inject.ast.Element
-
getElementAnnotationMetadata
protected io.micronaut.inject.ast.annotation.ElementAnnotationMetadata getElementAnnotationMetadata() -
annotate
public <T extends Annotation> io.micronaut.inject.ast.Element annotate(String annotationType, Consumer<io.micronaut.core.annotation.AnnotationValueBuilder<T>> consumer) - Specified by:
annotatein interfaceio.micronaut.inject.ast.Element- Specified by:
annotatein interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
annotate
public <T extends Annotation> io.micronaut.inject.ast.Element annotate(io.micronaut.core.annotation.AnnotationValue<T> annotationValue) - Specified by:
annotatein interfaceio.micronaut.inject.ast.Element- Specified by:
annotatein interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
removeAnnotation
- Specified by:
removeAnnotationin interfaceio.micronaut.inject.ast.Element- Specified by:
removeAnnotationin interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
removeAnnotationIf
public <T extends Annotation> io.micronaut.inject.ast.Element removeAnnotationIf(Predicate<io.micronaut.core.annotation.AnnotationValue<T>> predicate) - Specified by:
removeAnnotationIfin interfaceio.micronaut.inject.ast.Element- Specified by:
removeAnnotationIfin interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
removeStereotype
- Specified by:
removeStereotypein interfaceio.micronaut.inject.ast.Element- Specified by:
removeStereotypein interfaceio.micronaut.inject.ast.annotation.MutableAnnotationMetadataDelegate<io.micronaut.inject.ast.Element>
-
equals
-
hashCode
-
equalityType
-