ConfigDelayedMerge

org.ekrich.config.impl.ConfigDelayedMerge
See theConfigDelayedMerge companion class

The issue here is that we want to first merge our stack of config files, and then we want to evaluate substitutions. But if two substitutions both expand to an object, we might need to merge those two objects. Thus, we can't ever "override" a substitution when we do a merge; instead we have to save the stack of values that should be merged, and resolve the merge when we evaluate substitutions.

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def makeReplacement(context: ResolveContext, stack: List[AbstractConfigValue], skipping: Int): AbstractConfigValue
def render(stack: List[AbstractConfigValue], sb: StringBuilder, indentVal: Int, atRoot: Boolean, atKey: String, options: ConfigRenderOptions): Unit
def resolveSubstitutions(replaceable: ReplaceableMergeStack, stack: List[AbstractConfigValue], context: ResolveContext, source: ResolveSource): ResolveResult[_ <: AbstractConfigValue]
def stackIgnoresFallbacks(stack: List[AbstractConfigValue]): Boolean