class ApexMethodDeclaration extends ClassBodyDeclaration with ApexMethodLike with Referenceable
- Alphabetic
- By Inheritance
- ApexMethodDeclaration
- ApexMethodLike
- Referenceable
- PreReValidatable
- ApexVisibleMethodLike
- MethodDeclaration
- Parameters
- Dependent
- IdentityEquality
- ClassBodyDeclaration
- ApexNode
- IdLocatable
- DependencyHolder
- CST
- Positionable
- UnsafeLocatable
- Locatable
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ApexMethodDeclaration(thisType: ThisType, _modifiers: ModifierResults, returnTypeName: RelativeTypeName, id: Id, parameters: ArraySeq[FormalParameter], block: Option[Block])
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
- val _shadowedBy: SkinnyWeakSet[MethodDeclaration]
- Definition Classes
- ApexMethodLike
- val _shadows: SkinnyWeakSet[MethodDeclaration]
- Definition Classes
- ApexMethodLike
- def addDependencyHolder(dependencyHolder: DependencyHolder): Unit
- Definition Classes
- Dependent
- def addLocation(pathLocation: PathLocation): Unit
- Definition Classes
- Referenceable
- def addShadow(method: MethodDeclaration): Unit
- Definition Classes
- ApexMethodLike
- def areSameGenericTypes(param: TypeName, other: TypeName): Boolean
Determine if parameter type names are considered the same.
Determine if parameter type names are considered the same. During method and constructor calls some platform generics are considered equivalent regardless of the type parameters used. Yeah, its a mess of a language.
- Attributes
- protected
- Definition Classes
- Parameters
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- val block: Option[Block]
- val children: ArraySeq[ApexNode]
- Definition Classes
- ApexMethodDeclaration → ApexNode
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def collectDependencies(dependsOn: Set[Dependent]): Unit
- Definition Classes
- ClassBodyDeclaration
- def collectIssues(issues: ArrayBuffer[Issue]): Unit
- Attributes
- protected
- Definition Classes
- ApexNode
- def collectIssues(): ArraySeq[Issue]
- Definition Classes
- ApexNode
- def collectMethods(): Set[ApexMethodLike]
- Definition Classes
- ApexMethodLike
- def collectReferences(): Set[TargetLocation]
Returns the detailed reference locations
Returns the detailed reference locations
- Definition Classes
- ApexMethodLike → Referenceable
- def dependencies(): Iterable[Dependent]
Get Dependents being held, default to empty for holders who do not use this, override as needed
Get Dependents being held, default to empty for holders who do not use this, override as needed
- Definition Classes
- ClassBodyDeclaration → DependencyHolder
- def dependencySummary(): Array[DependentSummary]
Convert dependencies into a summary format
Convert dependencies into a summary format
- Definition Classes
- DependencyHolder
- var depends: Option[SkinnySet[Dependent]]
- Attributes
- protected
- Definition Classes
- ClassBodyDeclaration
- val description: String
- Definition Classes
- ClassBodyDeclaration → ApexNode
- def doesNeedReValidation(): Boolean
- Definition Classes
- Referenceable
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(that: Any): Boolean
- Definition Classes
- IdentityEquality → AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- def findReferences(): Set[TargetLocation]
- Definition Classes
- Referenceable
- def fulfillsInterfaceMethodParams(from: TypeDeclaration, implMethod: MethodDeclaration): (Boolean, List[String])
Test if this method matches the provided params when fulfilling an interface method.
Test if this method matches the provided params when fulfilling an interface method. This is more involved than a simple type name comparison as there is some rather shocking equivalence handling in Apex for interfaces.
- Definition Classes
- MethodDeclaration
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getDependencyHolders: Set[DependencyHolder]
- Definition Classes
- Dependent
- def getReferenceHolderTypeIds: Set[TypeId]
This represents a high level view of all the types that hold a reference to this object.
This represents a high level view of all the types that hold a reference to this object. Returns the types that needs can be revalidated to build up the more specific reference locations.
- Definition Classes
- ApexMethodLike → Referenceable
- def getTargetLocations: Array[TargetLocation]
- Definition Classes
- Referenceable
- val hasBlock: Boolean
- Definition Classes
- ApexMethodDeclaration → MethodDeclaration
- def hasCompatibleParameters(params: ArraySeq[TypeName], allowPlatformGenericEquivalence: Boolean): Boolean
Test if this params are compatible with those passed.
Test if this params are compatible with those passed. Ideally this would just be a comparison of type names but there is a quirk in how platform generic interfaces are handled.
- Definition Classes
- Parameters
- def hasHolders: Boolean
- Definition Classes
- Dependent
- def hasMoreSpecificParams(otherParams: ArraySeq[ParameterDeclaration], params: ArraySeq[TypeName], context: VerifyContext): Option[Boolean]
Determine if this params is a more specific version of the passed params.
Determine if this params is a more specific version of the passed params. For this to be true all the parameters of this parameters must be assignable to the corresponding parameter of the other method. However when dealing with RecordSets (SOQL results) we also prioritise degrees of specificness and use those to select as well.
- Definition Classes
- Parameters
- def hasNonTestHolders: Boolean
- Definition Classes
- Dependent
- def hasSameParameters(other: MethodDeclaration, allowPlatformGenericEquivalence: Boolean): Boolean
Test if the passed method has params compatible with this method.
Test if the passed method has params compatible with this method. Ideally this would just be a comparison of type names but there is a quirk in how platform generic interfaces are handled.
- Definition Classes
- MethodDeclaration
- def hasSameSignature(other: MethodDeclaration, allowPlatformGenericEquivalence: Boolean): Boolean
- Definition Classes
- MethodDeclaration
- def hashCode(): Int
- Definition Classes
- IdentityEquality → AnyRef → Any
- def idLocation: Location
- Definition Classes
- ApexMethodDeclaration → IdLocatable
- def idPathLocation: PathLocation
- Definition Classes
- IdLocatable
- val inTest: Boolean
Is the holder within test code
Is the holder within test code
- Definition Classes
- ApexMethodDeclaration → DependencyHolder
- def isAbstract: Boolean
- Definition Classes
- MethodDeclaration
- lazy val isExternallyVisible: Boolean
- Definition Classes
- MethodDeclaration
- lazy val isGlobal: Boolean
- Definition Classes
- ClassBodyDeclaration
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isOverride: Boolean
- Definition Classes
- MethodDeclaration
- def isStatic: Boolean
- Definition Classes
- MethodDeclaration
- def isSynthetic: Boolean
- Definition Classes
- ApexMethodDeclaration → ApexMethodLike
- def isTestVisible: Boolean
- Definition Classes
- MethodDeclaration
- def isVirtual: Boolean
- Definition Classes
- MethodDeclaration
- def isVirtualOrAbstract: Boolean
- Definition Classes
- MethodDeclaration
- def isVirtualOrOverride: Boolean
- Definition Classes
- MethodDeclaration
- def localIssues: Seq[Issue]
- Definition Classes
- ApexNode
- def location: PathLocation
- Definition Classes
- Positionable → UnsafeLocatable → Locatable
- def modifierIssues: ArraySeq[Issue]
- Definition Classes
- ClassBodyDeclaration
- val modifiers: ArraySeq[Modifier]
- Definition Classes
- ClassBodyDeclaration → ApexNode
- val name: Name
- Definition Classes
- ApexMethodDeclaration → MethodDeclaration → ApexNode
- def nameAndParameterTypes: String
- Definition Classes
- MethodDeclaration
- val nature: Nature
- Definition Classes
- ApexMethodDeclaration → ApexNode
- 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 parameterTypes: String
- Definition Classes
- MethodDeclaration
- val parameters: ArraySeq[FormalParameter]
- Definition Classes
- ApexMethodDeclaration → Parameters
- val parseIssues: ArraySeq[Issue]
- Definition Classes
- ClassBodyDeclaration → ApexNode
- def preReValidate(): Unit
Called before validate() when a type is about to be re-validated to allow for cached state cleaning.
Called before validate() when a type is about to be re-validated to allow for cached state cleaning.
- Definition Classes
- Referenceable → PreReValidatable
- def propagateDependencies(): Unit
Inform each dependent this is holding a dependency to them
Inform each dependent this is holding a dependency to them
- Definition Classes
- DependencyHolder
- def resetShadows(): Unit
- Definition Classes
- ApexMethodLike
- def safeLocation: Option[PathLocation]
- Definition Classes
- UnsafeLocatable
- def setDepends(dependencies: SkinnySet[Dependent]): Unit
- Definition Classes
- ClassBodyDeclaration
- def setLocation(path: PathLike, startLine: Int, startOffset: Int, endLine: Int, endOffset: Int): Unit
- Definition Classes
- Positionable
- def shadowedBy: Set[MethodDeclaration]
- Definition Classes
- ApexMethodLike
- def shadows: Set[MethodDeclaration]
- Definition Classes
- ApexMethodLike
- lazy val signature: String
- Definition Classes
- ApexMethodDeclaration → MethodDeclaration → ClassBodyDeclaration → ApexNode
- def summary: MethodSummary
- Definition Classes
- ApexMethodLike → ApexVisibleMethodLike
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- val thisTypeId: TypeId
- Definition Classes
- ApexMethodDeclaration → ApexMethodLike
- def thisTypeIdOpt: Option[TypeId]
The TypeId for the containing type of the holder, optional as requires a module.
The TypeId for the containing type of the holder, optional as requires a module.
- Definition Classes
- ApexMethodLike → DependencyHolder
- def toString(): String
- Definition Classes
- MethodDeclaration → AnyRef → Any
- def typeName: TypeName
- Definition Classes
- ApexMethodDeclaration → MethodDeclaration
- def validate(context: BodyDeclarationVerifyContext): Unit
- Definition Classes
- ClassBodyDeclaration
- def verify(context: BodyDeclarationVerifyContext): Unit
- Definition Classes
- ApexMethodDeclaration → ClassBodyDeclaration
- def visibility: Modifier
- Definition Classes
- MethodDeclaration
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withContext(context: ParserRuleContext): ApexMethodDeclaration.this.type
- Definition Classes
- CST
- def withLocation(location: PathLocation): ApexMethodDeclaration.this.type
- Definition Classes
- Positionable