Inliner

object Inliner
class Object
trait Matchable
class Any
Inliner.type

Value members

Concrete methods

def accumulateMethods(fullTree: Map[EONamedBnd, CompleteObjectTree])(cur: CompleteObjectTree, decorationChain: List[ObjectName]): EitherNel[String, Map[EONamedBnd, MethodInfo]]
def createObjectTree(prog: EOProg[EOExprOnly]): EitherNel[String, Map[EONamedBnd, PartialObjectTree]]
def focusObjTreeChildren[O[_, _], P, M]: Lens[ObjectTree[O[P, M]], Map[EONamedBnd, ObjectTree[O[P, M]]]]
def incLocatorBy(n: BigInt)(app: EOExprOnly): EOExprOnly
def inlineAllCalls(prog: EOProg[EOExprOnly]): EitherNel[String, EOProg[EOExprOnly]]
def inlineCalls(availableMethods: Map[EONamedBnd, MethodInfo], methodNameWhereToInline: EONamedBnd): EitherNel[String, EOBndExpr[EOExprOnly]]
def processPhi(phiExpr: EOExpr[EOExprOnly], attrsObj: Option[EOBndExpr[EOExprOnly]]): EOExpr[EOExprOnly]
def propagateArguments(methodInfo: MethodInfo, call: Call): EOObj[EOExprOnly]
def rebuildObject(obj: ObjectTreeForInlining): EitherNel[String, EOBndExpr[EOExprOnly]]
def resolveIndirectMethods(objs: Map[EONamedBnd, CompleteObjectTree]): EitherNel[String, Map[EONamedBnd, ObjectTreeForAnalysis]]
def resolveNameCollisionsForLocalAttrObj(callsite: EOObj[EOExprOnly])(methodName: String): String
def resolveParents(objs: Map[EONamedBnd, PartialObjectTree]): EitherNel[String, Map[EONamedBnd, CompleteObjectTree]]
def resolveParentsForInlining(objs: Map[EONamedBnd, CompleteObjectTree]): EitherNel[String, Map[EONamedBnd, ObjectTreeForInlining]]
def zipMethodsWithTheirInlinedVersionsFromParent(prog: EOProg[EOExprOnly]): EitherNel[String, Map[EONamedBnd, ObjectTree[(AnalysisInfo, AnalysisInfo)]]]