createMapping method
Implementation
Mapping<S,T> createMapping(Mapper mapper) {
var result = createOperations(mapper);
// validate
for ( var intermediateResult in intermediateResultDefinitions)
if ( intermediateResult.missing > 0) {
throw MapperException("${ intermediateResult.typeDescriptor.type} misses ${intermediateResult.missing} arguments");
}
return Mapping<S,T>(
mapper: mapper,
definition: this,
operations: result.operations,
typeDescriptor: TypeDescriptor.forType(targetClass),
constructor: result.constructor,
stackSize: result.stackSize,
intermediateResultDefinitions: intermediateResultDefinitions,
finalizer: collectFinalizer());
}