Skip to content

Commit de0c915

Browse files
CopilotGarciat
andauthored
Mark namespace classes as final with private constructors (#13)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: Garciat <118277+Garciat@users.noreply.github.com>
1 parent a20633c commit de0c915

7 files changed

Lines changed: 21 additions & 7 deletions

File tree

src/main/java/com/garciat/typeclasses/TypeClasses.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
import java.util.Arrays;
1111
import java.util.List;
1212

13-
public class TypeClasses {
13+
public final class TypeClasses {
14+
private TypeClasses() {}
15+
1416
public static <T> T witness(Ty<T> ty, Ctx<?>... context) {
1517
return switch (WitnessSummoning.summon(ParsedType.parse(ty.type()), parseContext(context))) {
1618
case Either.Left<SummonError, Object>(SummonError error) ->

src/main/java/com/garciat/typeclasses/impl/ConstructorLookup.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@
1010
import java.util.Arrays;
1111
import java.util.List;
1212

13-
public class ConstructorLookup {
13+
public final class ConstructorLookup {
14+
private ConstructorLookup() {}
15+
1416
public static List<InstanceConstructor> findRules(ParsedType target) {
1517
return switch (target) {
1618
case ParsedType.App(var fun, var arg) -> Lists.concat(findRules(fun), findRules(arg));

src/main/java/com/garciat/typeclasses/impl/OverlappingInstances.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import com.garciat.typeclasses.impl.WitnessRule.InstanceConstructor;
77
import java.util.List;
88

9-
public class OverlappingInstances {
9+
public final class OverlappingInstances {
10+
private OverlappingInstances() {}
11+
1012
/**
1113
* @implSpec <a href=
1214
* "https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/instances.html#overlapping-instances">6.8.8.5.

src/main/java/com/garciat/typeclasses/impl/Unification.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
import java.util.List;
77
import java.util.Map;
88

9-
public class Unification {
9+
public final class Unification {
10+
private Unification() {}
11+
1012
public static Maybe<Map<ParsedType.Var, ParsedType>> unify(ParsedType t1, ParsedType t2) {
1113
return switch (Pair.of(t1, t2)) {
1214
case Pair<ParsedType, ParsedType>(ParsedType.Var var1, ParsedType.Primitive p) ->

src/main/java/com/garciat/typeclasses/impl/WitnessInstantiation.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@
99
import java.util.Map;
1010
import java.util.stream.Collectors;
1111

12-
public class WitnessInstantiation {
12+
public final class WitnessInstantiation {
13+
private WitnessInstantiation() {}
14+
1315
/** Compiles an InstantiationPlan into an Expr. */
1416
public static Expr<ParsedType> compile(InstantiationPlan plan) {
1517
return switch (plan) {

src/main/java/com/garciat/typeclasses/impl/WitnessResolution.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77
import java.util.stream.Collectors;
88
import java.util.stream.Stream;
99

10-
public class WitnessResolution {
10+
public final class WitnessResolution {
11+
private WitnessResolution() {}
12+
1113
/** Resolves a ParsedType into an InstantiationPlan. */
1214
public static Either<ResolutionError, InstantiationPlan> resolve(
1315
ParsedType target, List<ContextInstance> context) {

src/main/java/com/garciat/typeclasses/impl/WitnessSummoning.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
import com.garciat.typeclasses.types.Either;
55
import java.util.List;
66

7-
public class WitnessSummoning {
7+
public final class WitnessSummoning {
8+
private WitnessSummoning() {}
9+
810
public static Either<SummonError, Object> summon(
911
ParsedType target, List<ContextInstance> context) {
1012
return WitnessResolution.resolve(target, context)

0 commit comments

Comments
 (0)