There's no need to duplicate everything when copying the intersection masks, as the Set and array should be the same. (#680)

* There's no need to duplicate everything when copying the intersection masks, as the Set and array should be the same.

* do the same for Union mask
Dieser Commit ist enthalten in:
dordsor21 2020-10-04 18:49:45 +01:00 committet von GitHub
Ursprung fc606ff5ff
Commit b06d943f7c
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23
2 geänderte Dateien mit 2 neuen und 15 gelöschten Zeilen

Datei anzeigen

@ -61,12 +61,6 @@ public class MaskIntersection extends AbstractMask {
formArray(); formArray();
} }
protected MaskIntersection(Set<Mask> masks, Mask[] masksArray, boolean defaultReturn) {
this.masks = masks;
this.masksArray = masksArray;
this.defaultReturn = defaultReturn;
}
public static Mask of(Mask... masks) { public static Mask of(Mask... masks) {
Set<Mask> set = new LinkedHashSet<>(); Set<Mask> set = new LinkedHashSet<>();
for (Mask mask : masks) { for (Mask mask : masks) {
@ -260,8 +254,7 @@ public class MaskIntersection extends AbstractMask {
@Override @Override
public Mask copy(){ public Mask copy(){
Set<Mask> masks = this.masks.stream().map(Mask::copy).collect(Collectors.toSet()); Set<Mask> masks = this.masks.stream().map(Mask::copy).collect(Collectors.toSet());
Mask[] maskArray = (Mask[]) Arrays.stream(this.masksArray).map(Mask::copy).toArray(); return new MaskIntersection(masks);
return new MaskIntersection(masks, maskArray, this.defaultReturn);
} }
} }

Datei anzeigen

@ -22,7 +22,6 @@ package com.sk89q.worldedit.function.mask;
import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.math.BlockVector3;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection; import java.util.Collection;
import java.util.LinkedHashSet; import java.util.LinkedHashSet;
import java.util.List; import java.util.List;
@ -57,10 +56,6 @@ public class MaskUnion extends MaskIntersection {
super(mask); super(mask);
} }
private MaskUnion(Set<Mask> masks, Mask[] maskArray, boolean defaultReturn) {
super(masks, maskArray, defaultReturn);
}
public static Mask of(Mask... masks) { public static Mask of(Mask... masks) {
Set<Mask> set = new LinkedHashSet<>(); Set<Mask> set = new LinkedHashSet<>();
for (Mask mask : masks) { for (Mask mask : masks) {
@ -121,7 +116,6 @@ public class MaskUnion extends MaskIntersection {
@Override @Override
public Mask copy() { public Mask copy() {
Set<Mask> masksCopy = masks.stream().map(Mask::copy).collect(Collectors.toSet()); Set<Mask> masksCopy = masks.stream().map(Mask::copy).collect(Collectors.toSet());
Mask[] maskArray = (Mask[]) Arrays.stream(masksArray).map(Mask::copy).toArray(); return new MaskUnion(masksCopy);
return new MaskUnion(masksCopy, maskArray, defaultReturn);
} }
} }