Mappings.java 文件源码

java
阅读 27 收藏 0 点赞 0 评论 0

项目:SrgLib 作者:
/**
 * Transform all the original data in the specified mapping, using this mapping.
 *
 * This is useful for {@link #createRenamingMappings(UnaryOperator, Function, Function)},
 * since renaming mappings have no 'original' data of their own, and so can't be directly output to a file.
 * The returned mapping data is guaranteed to have the same originals as the data of the old mapping data.
 *
 * @return the transformed data
 */
default Mappings transform(Mappings original) {
    ImmutableBiMap.Builder<JavaType, JavaType> types = ImmutableBiMap.builder();
    ImmutableBiMap.Builder<MethodData, MethodData> methods = ImmutableBiMap.builder();
    ImmutableBiMap.Builder<FieldData, FieldData> fields = ImmutableBiMap.builder();
    original.classes().forEach(originalType -> {
        JavaType newType = this.getNewType(originalType);
        types.put(originalType, newType);
    });
    original.methods().forEach(originalMethodData -> {
        MethodData newMethodData = this.getNewMethod(originalMethodData);
        methods.put(originalMethodData, newMethodData);
    });
    original.fields().forEach(originalFieldData -> {
        FieldData newFieldData = this.getNewField(originalFieldData);
        fields.put(originalFieldData, newFieldData);
    });
    return ImmutableMappings.create(types.build(), methods.build(), fields.build());
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号