in mapper/src/main/java/jetbrains/jetpad/mapper/MappingContext.java [42:69]
void register(final Mapper<?, ?> mapper) {
if (mapper.isFindable()) {
Object source = mapper.getSource();
if (!(myMappers.containsKey(source))) {
myMappers.put(source, mapper);
} else {
Object ms = myMappers.get(source);
if (ms instanceof Set) {
@SuppressWarnings("unchecked")
Set<Mapper<?, ?>> mappers = (Set<Mapper<?, ?>>) ms;
mappers.add(mapper);
} else {
Mapper<?, ?> m = (Mapper<?, ?>) ms;
Set<Mapper<?, ?>> mappers = new HashSet<>();
mappers.add(m);
mappers.add(mapper);
myMappers.put(source, mappers);
}
}
}
myListeners.fire(new ListenerCaller<MappingContextListener>() {
@Override
public void call(MappingContextListener l) {
l.onMapperRegistered(mapper);
}
});
}