compiler-plugin / arrow.meta.quotes

Package arrow.meta.quotes

Types

AnalysisDefinition data class AnalysisDefinition
Quote Quote Templates DSLinterface Quote<P : KtElement, K : KtElement, S>
QuoteFactory class QuoteFactory<K : KtElement, S : Scope<K>> : Factory<KtElement, K, S>
Scope The property scope used in destructuring templates & the arrow.meta.phases.analysis.ElementScope DSLopen class Scope<out K : KtElement>
ScopedList data class ScopedList<K : KtElement>
SyntheticElement interface SyntheticElement
Transform The resulting action from matching on transformationsealed class Transform<out K : KtElement>
WhenScope open class WhenScope<out K : KtElement> : Scope<K>

Extensions for External Classes

java.util.ArrayList  
org.jetbrains.kotlin.descriptors.ClassDescriptor  
org.jetbrains.kotlin.descriptors.DeclarationDescriptor  
org.jetbrains.kotlin.descriptors.PackageViewDescriptor  
org.jetbrains.kotlin.psi.KtClassOrObject  
org.jetbrains.kotlin.psi.KtFile  

Properties

analysisIdeExtensions val analysisIdeExtensions: MutableList<AnalysisDefinition>
DEFAULT_META_FILE_NAME const val DEFAULT_META_FILE_NAME: String
META_DEBUG_COMMENT const val META_DEBUG_COMMENT: String

Functions

binaryExpression fun Meta.binaryExpression(match: KtBinaryExpression.() -> Boolean, map: BinaryExpression.(KtBinaryExpression) -> Transform<KtBinaryExpression>): ExtensionPhase
blockExpression fun Meta.blockExpression(match: KtBlockExpression.() -> Boolean, map: BlockExpression.(KtBlockExpression) -> Transform<KtBlockExpression>): ExtensionPhase
breakExpression fun Meta.breakExpression(match: KtBreakExpression.() -> Boolean, map: BreakExpression.(KtBreakExpression) -> Transform<KtBreakExpression>): ExtensionPhase
catchClause fun Meta.catchClause(match: KtCatchClause.() -> Boolean, map: CatchClause.(KtCatchClause) -> Transform<KtCatchClause>): ExtensionPhase
changeSource fun CompilerContext.changeSource(file: KtFile, newSource: String, rootFile: KtFile): KtFile
classBody fun Meta.classBody(match: KtClassBody.() -> Boolean, map: ClassBody.(KtClassBody) -> Transform<KtClassBody>): ExtensionPhase
classDeclaration fun Meta.classDeclaration(match: KtClass.() -> Boolean, map: ClassDeclaration.(KtClass) -> Transform<KtClass>): ExtensionPhase
continueExpression fun Meta.continueExpression(match: KtContinueExpression.() -> Boolean, map: ContinueExpression.(KtContinueExpression) -> Transform<KtContinueExpression>): ExtensionPhase
destructuringDeclaration fun Meta.destructuringDeclaration(match: KtDestructuringDeclaration.() -> Boolean, map: DestructuringDeclaration.(KtDestructuringDeclaration) -> Transform<KtDestructuringDeclaration>): ExtensionPhase
dotQualifiedExpression fun Meta.dotQualifiedExpression(match: KtDotQualifiedExpression.() -> Boolean, map: DotQualifiedExpression.(KtDotQualifiedExpression) -> Transform<KtDotQualifiedExpression>): ExtensionPhase
file fun Meta.file(match: KtFile.() -> Boolean, map: File.(KtFile) -> Transform<KtFile>): ExtensionPhase
finallySection fun Meta.finallySection(match: KtFinallySection.() -> Boolean, map: FinallySection.(KtFinallySection) -> Transform<KtFinallySection>): ExtensionPhase
fold fun <A, K : KtElement> ScopedList<K>.fold(a: A, f: (A, K) -> A): A
foldIndexed fun <A, K : KtElement> ScopedList<K>.foldIndexed(a: A, f: (Int, A, K) -> A): A
forExpression fun Meta.forExpression(match: KtForExpression.() -> Boolean, map: ForExpression.(KtForExpression) -> Transform<KtForExpression>): ExtensionPhase
functionLiteral fun Meta.functionLiteral(match: KtFunctionLiteral.() -> Boolean, map: FunctionLiteral.(KtFunctionLiteral) -> Transform<KtFunctionLiteral>): ExtensionPhase
get operator fun <A, B> A.get(field: String): B
ifExpression fun Meta.ifExpression(match: KtIfExpression.() -> Boolean, map: IfExpression.(KtIfExpression) -> Transform<KtIfExpression>): ExtensionPhase
importDirective fun Meta.importDirective(match: KtImportDirective.() -> Boolean, map: ImportDirective.(KtImportDirective) -> Transform<KtImportDirective>): ExtensionPhase
isExpression fun Meta.isExpression(match: KtIsExpression.() -> Boolean, map: IsExpression.(KtIsExpression) -> Transform<KtIsExpression>): ExtensionPhase
lambdaExpression fun Meta.lambdaExpression(match: KtLambdaExpression.() -> Boolean, map: LambdaExpression.(KtLambdaExpression) -> Transform<KtLambdaExpression>): ExtensionPhase
many fun <K : KtElement> Many<K>.many(ktFile: KtFile, compilerContext: CompilerContext, match: K.() -> Boolean): Pair<File, MutableList<Pair<KtFile, File>>>
map fun <K : KtElement> Scope<K>.map(f: (K) -> K): Scope<K>
fun <K : KtElement> ScopedList<K>.map(f: (K) -> K?): ScopedList<K>
namedFunction fun Meta.namedFunction(match: KtNamedFunction.() -> Boolean, map: NamedFunction.(KtNamedFunction) -> Transform<KtNamedFunction>): ExtensionPhase
newSource fun <K : KtElement> NewSource<K>.newSource(): List<Pair<KtFile, File>>
objectDeclaration fun Meta.objectDeclaration(match: KtObjectDeclaration.() -> Boolean, map: ObjectDeclaration.(KtObjectDeclaration) -> Transform<KtObjectDeclaration>): ExtensionPhase
orEmpty fun <K : KtElement> Scope<K>?.orEmpty(): Scope<K>
packageDirective fun Meta.packageDirective(match: KtPackageDirective.() -> Boolean, map: PackageDirective.(KtPackageDirective) -> Transform<KtPackageDirective>): ExtensionPhase
parameter fun Meta.parameter(match: KtParameter.() -> Boolean, map: Parameter.(KtParameter) -> Transform<KtParameter>): ExtensionPhase
plus operator fun <K : KtElement> ScopedList<K>.plus(k: ScopedList<K>): ScopedList<K>
operator fun <K : KtElement> ScopedList<K>.plus(k: Scope<K>): ScopedList<K>
operator fun <K : KtElement> Transform<K>.plus(transform: Transform<K>): Many<K>
operator fun <K : KtElement> Many<K>.plus(transform: Transform<K>): Many<K>
processContext fun <K : KtElement> processContext(source: KtFile, match: K.() -> Boolean): K?
processFiles fun <K : KtElement, P : KtElement, S> processFiles(files: Collection<KtFile>, quoteFactory: Factory<P, K, S>, match: K.() -> Boolean, map: S.(K) -> Transform<K>): List<Pair<KtFile, ArrayList<Transform<K>>>>
processKtFile fun <K : KtElement, P : KtElement, S> processKtFile(file: KtFile, quoteFactory: Factory<P, K, S>, match: K.() -> Boolean, map: S.(K) -> Transform<K>): Pair<KtFile, ArrayList<Transform<K>>>
Overloaded method, which is also used by the IDE quote system transformation code.fun <K : KtElement, P : KtElement, S> processKtFile(file: KtFile, elementType: KClass<K>, quoteFactory: Factory<P, K, S>, match: K.() -> Boolean, map: S.(K) -> Transform<K>): Pair<KtFile, ArrayList<Transform<K>>>
property fun Meta.property(match: KtProperty.() -> Boolean, map: Property.(KtProperty) -> Transform<KtProperty>): ExtensionPhase
propertyAccessor fun Meta.propertyAccessor(match: KtPropertyAccessor.() -> Boolean, map: PropertyAccessor.(KtPropertyAccessor) -> Transform<KtPropertyAccessor>): ExtensionPhase
quote fun <K : KtElement> Meta.quote(match: K.() -> Boolean, map: Scope<K>.(K) -> Transform<K>): ExtensionPhase
fun <K : KtElement, S : Scope<K>> Meta.quote(match: K.() -> Boolean, map: S.(K) -> Transform<K>, transform: (K) -> S): ExtensionPhase
fun <P : KtElement, K : KtElement, S> Meta.quote(quoteFactory: Factory<P, K, S>, match: K.() -> Boolean, map: S.(K) -> Transform<K>): ExtensionPhase
remove fun <K : KtElement> Remove<K>.remove(file: File, context: PsiElement? = null): File
replace fun <K : KtElement> Replace<K>.replace(file: File, context: PsiElement? = null): File
returnExpression fun Meta.returnExpression(match: KtReturnExpression.() -> Boolean, map: ReturnExpression.(KtReturnExpression) -> Transform<KtReturnExpression>): ExtensionPhase
scope fun <K : KtElement> K?.scope(): Scope<K>
thisExpression fun Meta.thisExpression(match: KtThisExpression.() -> Boolean, map: ThisExpression.(KtThisExpression) -> Transform<KtThisExpression>): ExtensionPhase
throwExpression fun Meta.throwExpression(match: KtThrowExpression.() -> Boolean, map: ThrowExpression.(KtThrowExpression) -> Transform<KtThrowExpression>): ExtensionPhase
transformFile fun <K : KtElement> CompilerContext.transformFile(ktFile: KtFile, mutations: ArrayList<Transform<K>>, match: K.() -> Boolean): List<KtFile>
tryExpression fun Meta.tryExpression(match: KtTryExpression.() -> Boolean, map: TryExpression.(KtTryExpression) -> Transform<KtTryExpression>): ExtensionPhase
typeAlias fun Meta.typeAlias(match: KtTypeAlias.() -> Boolean, map: TypeAlias.(KtTypeAlias) -> Transform<KtTypeAlias>): ExtensionPhase
typeReference fun Meta.typeReference(match: KtTypeReference.() -> Boolean, map: TypeReference.(KtTypeReference) -> Transform<KtTypeReference>): ExtensionPhase
updateFile fun <K : KtElement> CompilerContext.updateFile(mutations: ArrayList<Transform<K>>, file: KtFile, match: K.() -> Boolean): List<KtFile>
updateFiles fun <K : KtElement> CompilerContext.updateFiles(result: ArrayList<KtFile>, fileMutations: List<Pair<KtFile, ArrayList<Transform<K>>>>, match: K.() -> Boolean): Unit
valueArgument ”"”someObject.add(${argumentName = argumentExpression}.valueArgument)”””“fun Meta.valueArgument(match: KtValueArgument.() -> Boolean, map: ValueArgument.(KtValueArgument) -> Transform<KtValueArgument>): ExtensionPhase
whenCondition fun Meta.whenCondition(match: KtWhenCondition.() -> Boolean, map: WhenCondition.(KtWhenCondition) -> Transform<KtWhenCondition>): ExtensionPhase
whenEntry fun Meta.whenEntry(match: KtWhenEntry.() -> Boolean, map: WhenEntry.(KtWhenEntry) -> Transform<KtWhenEntry>): ExtensionPhase
whenExpression fun Meta.whenExpression(match: KtWhenExpression.() -> Boolean, map: WhenExpression.(KtWhenExpression) -> Transform<KtWhenExpression>): ExtensionPhase
whileExpression fun Meta.whileExpression(match: KtWhileExpression.() -> Boolean, map: WhileExpression.(KtWhileExpression) -> Transform<KtWhileExpression>): ExtensionPhase

Do you like Arrow?

Arrow Org
<