@@ -0,0 +1,2425 @@
+package org.metaborg.parsetable;%0A%0Aimport java.util.Objects;%0A%0Aimport org.metaborg.parsetable.query.ActionsForCharacterRepresentation;%0Aimport org.metaborg.parsetable.query.ProductionToGotoRepresentation;%0Aimport org.metaborg.parsetable.states.IStateFactory;%0Aimport org.metaborg.parsetable.states.StateFactory;%0A%0Apublic class ParseTableVariant %7B%0A    public final ActionsForCharacterRepresentation actionsForCharacterRepresentation;%0A    public final ProductionToGotoRepresentation productionToGotoRepresentation;%0A%0A    public ParseTableVariant(ActionsForCharacterRepresentation actionsForCharacterRepresentation,%0A        ProductionToGotoRepresentation productionToGotoRepresentation) %7B%0A        this.actionsForCharacterRepresentation = actionsForCharacterRepresentation;%0A        this.productionToGotoRepresentation = productionToGotoRepresentation;%0A    %7D%0A%0A    /** Uses the standard ActionsForCharacterRepresentation and ProductionToGotoRepresentation. */%0A    public ParseTableVariant() %7B%0A        this(ActionsForCharacterRepresentation.standard(), ProductionToGotoRepresentation.standard());%0A    %7D%0A%0A    public static ParseTableVariant standard() %7B%0A        return new ParseTableVariant();%0A    %7D%0A%0A    public String name() %7B%0A        return (actionsForCharacterRepresentation == ActionsForCharacterRepresentation.standard() ? %22_%22%0A            : %22ActionsForCharacterRepresentation:%22 + actionsForCharacterRepresentation) + %22/%22%0A            + (productionToGotoRepresentation == ProductionToGotoRepresentation.standard() ? %22_%22%0A                : %22ProductionToGotoRepresentation:%22 + productionToGotoRepresentation);%0A    %7D%0A%0A    public ParseTableReader parseTableReader() %7B%0A        IStateFactory stateFactory =%0A            new StateFactory(actionsForCharacterRepresentation, productionToGotoRepresentation);%0A%0A        return new ParseTableReader(stateFactory);%0A    %7D%0A%0A    @Override public int hashCode() %7B%0A        return Objects.hash(actionsForCharacterRepresentation, productionToGotoRepresentation);%0A    %7D%0A%0A    @Override public boolean equals(Object o) %7B%0A        if(this == o) %7B%0A            return true;%0A        %7D%0A        if(o == null %7C%7C getClass() != o.getClass()) %7B%0A            return false;%0A        %7D%0A%0A        ParseTableVariant that = (ParseTableVariant) o;%0A%0A        return actionsForCharacterRepresentation == that.actionsForCharacterRepresentation%0A            && productionToGotoRepresentation == that.productionToGotoRepresentation;%0A    %7D%0A%7D%0A

Move ParseTableVariant from jsglr2.integration to parsetable