Skip to content

Commit 319b045

Browse files
committed
cleaning
1 parent 0e099aa commit 319b045

23 files changed

+847
-1129
lines changed

src/main/java/com/igormaznitsa/prologparser/AstItem.java

Lines changed: 106 additions & 139 deletions
Large diffs are not rendered by default.

src/main/java/com/igormaznitsa/prologparser/DefaultParserContext.java

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,17 @@
1818
* specific language governing permissions and limitations
1919
* under the License.
2020
*/
21-
2221
package com.igormaznitsa.prologparser;
2322

2423
import com.igormaznitsa.prologparser.terms.OpContainer;
2524
import com.igormaznitsa.prologparser.tokenizer.Op;
2625

27-
import java.util.Arrays;
2826
import java.util.Collections;
2927
import java.util.HashMap;
3028
import java.util.HashSet;
3129
import java.util.List;
3230
import java.util.Map;
31+
import java.util.Objects;
3332
import java.util.Set;
3433
import java.util.stream.Stream;
3534

@@ -46,25 +45,22 @@ public class DefaultParserContext implements ParserContext {
4645
protected final Map<String, OpContainer> opContainers = new HashMap<>();
4746
protected final int parserContextFlags;
4847

49-
public DefaultParserContext(final int parserContextFlags, final List<Op> operators) {
50-
this.parserContextFlags = parserContextFlags;
51-
this.addOps(operators.toArray(EMPTY));
52-
}
53-
5448
public DefaultParserContext(final int parserContextFlags) {
55-
this(parserContextFlags, Collections.emptyList());
49+
this.parserContextFlags = parserContextFlags;
5650
}
5751

5852
public static ParserContext of(final int parserContextFlags) {
5953
return new DefaultParserContext(parserContextFlags);
6054
}
6155

6256
public static ParserContext of(final int parserContextFlags, final Op... operators) {
63-
return new DefaultParserContext(parserContextFlags, Arrays.asList(operators));
57+
return new DefaultParserContext(parserContextFlags).addOps(operators);
6458
}
6559

66-
public static ParserContext of(final int parserContextFlags, final List<Op> operators) {
67-
return new DefaultParserContext(parserContextFlags, operators);
60+
@SafeVarargs
61+
@SuppressWarnings("varagrs")
62+
public static ParserContext of(final int parserContextFlags, final List<Op>... operators) {
63+
return new DefaultParserContext(parserContextFlags).addOps(operators);
6864
}
6965

7066
public Map<String, OpContainer> findAllOperators() {
@@ -80,17 +76,27 @@ protected void fillPrefixes(final String name) {
8076
rangeClosed(1, name.length()).mapToObj(i -> name.substring(0, i)).forEach(this.opPrefixes::add);
8177
}
8278

79+
@SafeVarargs
80+
@SuppressWarnings("varargs")
81+
public final DefaultParserContext addOps(final List<Op>... operators) {
82+
Stream.of(operators).filter(Objects::nonNull).forEach(ops -> this.addOps(ops.toArray(EMPTY)));
83+
return this;
84+
}
85+
8386
public DefaultParserContext addOps(final Op... operators) {
84-
Stream.of(operators).flatMap(Op::streamOp).forEach(x -> {
85-
fillPrefixes(x.getText());
86-
OpContainer container = this.opContainers.get(x.getText());
87-
if (container == null) {
88-
container = OpContainer.make(x);
89-
this.opContainers.put(x.getText(), container);
90-
} else {
91-
container.add(x);
92-
}
93-
});
87+
Stream.of(operators)
88+
.filter(Objects::nonNull)
89+
.flatMap(Op::streamOp)
90+
.forEach(x -> {
91+
fillPrefixes(x.getText());
92+
OpContainer container = this.opContainers.get(x.getText());
93+
if (container == null) {
94+
container = OpContainer.make(x);
95+
this.opContainers.put(x.getText(), container);
96+
} else {
97+
container.add(x);
98+
}
99+
});
94100
return this;
95101
}
96102

0 commit comments

Comments
 (0)