/// <inheritdoc /> public override IASTargetMapper GetASTargetMapper(ASTargetMappingDescriptor descriptor) { ActionScriptClassMapping classMapping = mappingTable.GetClassMappingByType(descriptor.SourceNativeType); if (classMapping != null) { return new ObjectMapper(classMapping); } return null; }
/// <summary> /// Gets an ActionScript target mapper that satisfies the specified descriptor. /// </summary> /// <param name="descriptor">The target mapping descriptor</param> /// <returns>The ActionScript target mapper, or null if no compatible mapper can be obtained by any registered factory</returns> public IASTargetMapper GetASTargetMapper(ASTargetMappingDescriptor descriptor) { lock (syncRoot) { IASTargetMapper mapper; if (!targetMapperCache.TryGetValue(descriptor, out mapper)) { foreach (IASMapperFactory factory in mapperFactories) { mapper = factory.GetASTargetMapper(descriptor); if (mapper != null) break; } targetMapperCache.Add(descriptor, mapper); } return mapper; } }
/// <summary> /// Gets an ActionScript target mapper that satisfies the specified descriptor. /// </summary> /// <param name="descriptor">The target mapping descriptor</param> /// <returns>The ActionScript target mapper, or null if no compatible mapper can be obtained by this factory</returns> public virtual IASTargetMapper GetASTargetMapper(ASTargetMappingDescriptor descriptor) { return null; }
/// <inheritdoc /> public override IASTargetMapper GetASTargetMapper(ASTargetMappingDescriptor descriptor) { foreach (PrimitiveMapper mapper in mappers) if (mapper.SupportsTargetMapping(descriptor)) return mapper; return null; }
public override bool SupportsTargetMapping(ASTargetMappingDescriptor descriptor) { return descriptor.SourceNativeType.IsEnum; }
public virtual bool SupportsTargetMapping(ASTargetMappingDescriptor descriptor) { if (type.IsAssignableFrom(descriptor.SourceNativeType)) return true; return false; }