createMapping method

Mapping<Map<String, dynamic>, dynamic> createMapping(
  1. Mapper mapper
)
override

Implementation

Mapping<Map<String, dynamic>,dynamic> 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 PolymorphicMapping(
      field: field,
      mapper: mapper,
      definition: this,
      operations: result.operations,
      typeDescriptor: TypeDescriptor.forType(targetClass),
      constructor: result.constructor,
      stackSize: result.stackSize,
      intermediateResultDefinitions: intermediateResultDefinitions,
      finalizer: collectFinalizer());
 }