diff options
17 files changed, 137 insertions, 162 deletions
diff --git a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java index 4bd432f..a567254 100644 --- a/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java +++ b/src/main/java/org/zwobble/couscous/ast/ClassNodeBuilder.java @@ -3,7 +3,6 @@ package org.zwobble.couscous.ast; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import org.zwobble.couscous.ast.identifiers.Identifier; -import org.zwobble.couscous.ast.identifiers.Identifiers; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Type; import org.zwobble.couscous.types.Types; @@ -41,7 +40,7 @@ public class ClassNodeBuilder { } public ClassNodeBuilder addTypeParameter(String name) { - this.typeParameters.add(formalTypeParameter(Identifiers.forType(this.name.getQualifiedName()), name)); + this.typeParameters.add(formalTypeParameter(Identifier.forType(this.name.getQualifiedName()), name)); return this; } @@ -178,4 +177,4 @@ public class ClassNodeBuilder { return this.build.apply(this); } } -}
\ No newline at end of file +} diff --git a/src/main/java/org/zwobble/couscous/ast/identifiers/ExtendedIdentifier.java b/src/main/java/org/zwobble/couscous/ast/identifiers/ExtendedIdentifier.java deleted file mode 100644 index 407c6da..0000000 --- a/src/main/java/org/zwobble/couscous/ast/identifiers/ExtendedIdentifier.java +++ /dev/null @@ -1,50 +0,0 @@ -package org.zwobble.couscous.ast.identifiers; - -import static org.zwobble.couscous.util.ExtraIterables.lazyAppend; - -public class ExtendedIdentifier implements Identifier { - private final Identifier parent; - private final String part; - private final IdentifierType type; - - ExtendedIdentifier(Identifier parent, String part, IdentifierType type) { - this.parent = parent; - this.part = part; - this.type = type; - } - - @Override - public Iterable<IdentifierPart> getParts() { - return lazyAppend(parent.getParts(), new IdentifierPart(part, type)); - } - - @Override - public String toString() { - return "ExtendedIdentifier(" + - "parent=" + parent + - ", part='" + part + '\'' + - ", type=" + type + - ')'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - - ExtendedIdentifier that = (ExtendedIdentifier) o; - - if (!parent.equals(that.parent)) return false; - if (!part.equals(that.part)) return false; - return type == that.type; - - } - - @Override - public int hashCode() { - int result = parent.hashCode(); - result = 31 * result + part.hashCode(); - result = 31 * result + type.hashCode(); - return result; - } -} diff --git a/src/main/java/org/zwobble/couscous/ast/identifiers/Identifier.java b/src/main/java/org/zwobble/couscous/ast/identifiers/Identifier.java index 777a0bb..07d7933 100644 --- a/src/main/java/org/zwobble/couscous/ast/identifiers/Identifier.java +++ b/src/main/java/org/zwobble/couscous/ast/identifiers/Identifier.java @@ -1,5 +1,73 @@ package org.zwobble.couscous.ast.identifiers; -public interface Identifier { - Iterable<IdentifierPart> getParts(); +import org.zwobble.couscous.types.ScalarType; +import org.zwobble.couscous.util.ExtraLists; + +import java.util.List; + +import static org.zwobble.couscous.util.ExtraLists.list; + +public class Identifier { + public static final Identifier TOP = new Identifier(list()); + + public static Identifier forType(String name) { + return TOP.type(name); + } + + public static Identifier forType(ScalarType type) { + return forType(type.getQualifiedName()); + } + + private final List<IdentifierPart> parts; + + Identifier(List<IdentifierPart> parts) { + this.parts = parts; + } + + public Iterable<IdentifierPart> getParts() { + return parts; + } + + public Identifier type(String name) { + return extend(name, IdentifierType.TYPE); + } + + public Identifier method(String name) { + return extend(name, IdentifierType.METHOD); + } + + public Identifier constructor() { + return extend("", IdentifierType.CONSTRUCTOR); + } + + public Identifier variable(String name) { + return extend(name, IdentifierType.VARIABLE); + } + + private Identifier extend(String name, IdentifierType type) { + return new Identifier(ExtraLists.append(parts, new IdentifierPart(name, type))); + } + + @Override + public String toString() { + return "Identifier(" + + "parts=" + parts + + ')'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + Identifier that = (Identifier) o; + + return parts.equals(that.parts); + + } + + @Override + public int hashCode() { + return parts.hashCode(); + } } diff --git a/src/main/java/org/zwobble/couscous/ast/identifiers/IdentifierPart.java b/src/main/java/org/zwobble/couscous/ast/identifiers/IdentifierPart.java index 5aedcf0..ef1f83c 100644 --- a/src/main/java/org/zwobble/couscous/ast/identifiers/IdentifierPart.java +++ b/src/main/java/org/zwobble/couscous/ast/identifiers/IdentifierPart.java @@ -16,4 +16,31 @@ public class IdentifierPart { public IdentifierType getType() { return type; } + + @Override + public String toString() { + return "IdentifierPart(" + + "name='" + name + '\'' + + ", type=" + type + + ')'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + IdentifierPart that = (IdentifierPart) o; + + if (!name.equals(that.name)) return false; + return type == that.type; + + } + + @Override + public int hashCode() { + int result = name.hashCode(); + result = 31 * result + type.hashCode(); + return result; + } } diff --git a/src/main/java/org/zwobble/couscous/ast/identifiers/Identifiers.java b/src/main/java/org/zwobble/couscous/ast/identifiers/Identifiers.java deleted file mode 100644 index f104674..0000000 --- a/src/main/java/org/zwobble/couscous/ast/identifiers/Identifiers.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.zwobble.couscous.ast.identifiers; - -import org.zwobble.couscous.types.ScalarType; - -public class Identifiers { - public static final Identifier TOP = TopIdentifier.INSTANCE; - - public static Identifier type(Identifier identifier, String name) { - return extend(identifier, name, IdentifierType.TYPE); - } - - public static Identifier method(Identifier identifier, String name) { - return extend(identifier, name, IdentifierType.METHOD); - } - - public static Identifier constructor(Identifier identifier) { - return extend(identifier, "", IdentifierType.CONSTRUCTOR); - } - - public static Identifier variable(Identifier identifier, String name) { - return extend(identifier, name, IdentifierType.VARIABLE); - } - - private static Identifier extend(Identifier identifier, String name, IdentifierType type) { - return new ExtendedIdentifier(identifier, name, type); - } - - public static Identifier forType(String name) { - return type(TOP, name); - } - - public static Identifier forType(ScalarType type) { - return forType(type.getQualifiedName()); - } -} diff --git a/src/main/java/org/zwobble/couscous/ast/identifiers/TopIdentifier.java b/src/main/java/org/zwobble/couscous/ast/identifiers/TopIdentifier.java deleted file mode 100644 index 6f578d2..0000000 --- a/src/main/java/org/zwobble/couscous/ast/identifiers/TopIdentifier.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.zwobble.couscous.ast.identifiers; - -import static org.zwobble.couscous.util.ExtraLists.list; - -public class TopIdentifier implements Identifier { - static final Identifier INSTANCE = new TopIdentifier(); - - private TopIdentifier() { - } - - @Override - public Iterable<IdentifierPart> getParts() { - return list(); - } - - @Override - public String toString() { - return "TOP"; - } -} diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java index 014e4ae..61d353f 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java @@ -5,7 +5,6 @@ import org.eclipse.jdt.core.dom.IMethodBinding; import org.eclipse.jdt.core.dom.ITypeBinding; import org.zwobble.couscous.ast.MethodSignature; import org.zwobble.couscous.ast.identifiers.Identifier; -import org.zwobble.couscous.ast.identifiers.Identifiers; import org.zwobble.couscous.types.Type; import org.zwobble.couscous.types.TypeParameter; @@ -63,8 +62,6 @@ class JavaMethods { private static Identifier identifierFor(IMethodBinding method) { // TODO: disambiguate overloads - return Identifiers.method( - Identifiers.forType(erasure(typeOf(method.getDeclaringClass()))), - method.getName()); + return Identifier.forType(erasure(typeOf(method.getDeclaringClass()))).method(method.getName()); } } diff --git a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java index 37cee36..6e6a51b 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java @@ -3,7 +3,6 @@ package org.zwobble.couscous.frontends.java; import com.google.common.collect.ImmutableSet; import org.eclipse.jdt.core.dom.*; import org.zwobble.couscous.ast.identifiers.Identifier; -import org.zwobble.couscous.ast.identifiers.Identifiers; import org.zwobble.couscous.types.*; import org.zwobble.couscous.types.ParameterizedType; import org.zwobble.couscous.types.Type; @@ -66,14 +65,14 @@ public class JavaTypes { if (typeParameter.getDeclaringClass() == null) { IMethodBinding method = typeParameter.getDeclaringMethod(); // TODO: disambiguate overloads - return Identifiers.method(identifierForType(method.getDeclaringClass()), method.getName()); + return identifierForType(method.getDeclaringClass()).method(method.getName()); } else { return identifierForType(typeParameter.getDeclaringClass()); } } private static Identifier identifierForType(ITypeBinding type) { - return Identifiers.forType(erasure(typeOf(type)).getQualifiedName()); + return Identifier.forType(erasure(typeOf(type)).getQualifiedName()); } static Set<Type> superTypes(TypeDeclaration declaration) { @@ -144,7 +143,7 @@ public class JavaTypes { } private static final ScalarType RAW_ITERATOR = ScalarType.of("java.util.Iterator"); - public static TypeParameter ITERATOR_TYPE_PARAMETER = typeParameter(Identifiers.type(Identifiers.TOP, RAW_ITERATOR.getQualifiedName()), "T"); + public static TypeParameter ITERATOR_TYPE_PARAMETER = typeParameter(Identifier.TOP.type(RAW_ITERATOR.getQualifiedName()), "T"); public static Type iterator(Type elementType) { return parameterizedType(RAW_ITERATOR, list(elementType)); diff --git a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java index 21745c6..ee8be5f 100644 --- a/src/main/java/org/zwobble/couscous/frontends/java/Scope.java +++ b/src/main/java/org/zwobble/couscous/frontends/java/Scope.java @@ -2,7 +2,6 @@ package org.zwobble.couscous.frontends.java; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.identifiers.Identifier; -import org.zwobble.couscous.ast.identifiers.Identifiers; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Type; import org.zwobble.couscous.util.NaturalNumbers; @@ -11,7 +10,7 @@ import java.util.*; public class Scope { public static Scope create() { - return new Scope(new HashMap<>(), new HashSet<>(), Identifiers.TOP, NaturalNumbers.INSTANCE.iterator()); + return new Scope(new HashMap<>(), new HashSet<>(), Identifier.TOP, NaturalNumbers.INSTANCE.iterator()); } private final Map<String, VariableDeclaration> variablesByKey; @@ -36,16 +35,16 @@ public class Scope { } public Scope enterClass(ScalarType className) { - return enter(Identifiers.type(identifier, className.getQualifiedName())); + return enter(identifier.type(className.getQualifiedName())); } public Scope enterConstructor() { - return enter(Identifiers.constructor(identifier)); + return enter(identifier.constructor()); } public Scope enterMethod(String name) { // TODO: distinguish overloads - return enter(Identifiers.method(identifier, name)); + return enter(identifier.method(name)); } private Scope enter(Identifier newIdentifier) { @@ -112,10 +111,10 @@ public class Scope { } private Identifier generateVariableIdentifier(String name) { - Identifier identifier = Identifiers.variable(this.identifier, name); + Identifier identifier = this.identifier.variable(name); int index = 0; while (identifiers.contains(identifier)) { - identifier = Identifiers.variable(this.identifier, name + "_" + index); + identifier = this.identifier.variable(name + "_" + index); index++; } identifiers.add(identifier); diff --git a/src/main/java/org/zwobble/couscous/transforms/DesugarSwitchToIfElse.java b/src/main/java/org/zwobble/couscous/transforms/DesugarSwitchToIfElse.java index 3ffaad5..810178b 100644 --- a/src/main/java/org/zwobble/couscous/transforms/DesugarSwitchToIfElse.java +++ b/src/main/java/org/zwobble/couscous/transforms/DesugarSwitchToIfElse.java @@ -84,7 +84,6 @@ public class DesugarSwitchToIfElse { } private static boolean isEndOfCase(StatementNode statement) { - // TODO: add attribute onto statement node to detect exit return statement.type() == NodeTypes.RETURN; } } diff --git a/src/main/java/org/zwobble/couscous/util/ExtraLists.java b/src/main/java/org/zwobble/couscous/util/ExtraLists.java index d52c099..147fe00 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraLists.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraLists.java @@ -33,8 +33,8 @@ public class ExtraLists { return concat(list(value), list); } - public static <T> List<T> append(List<? extends T> list, T value) { - return Stream.concat(list.stream(), Stream.of(value)).collect(Collectors.toList()); + public static <T> List<T> append(Iterable<? extends T> iterable, T value) { + return Stream.concat(ExtraIterables.stream(iterable), Stream.of(value)).collect(Collectors.toList()); } public static <T> List<T> concat(Iterable<? extends T> first, Iterable<? extends T> second) { diff --git a/src/test/java/org/zwobble/couscous/tests/TestIds.java b/src/test/java/org/zwobble/couscous/tests/TestIds.java index da3cd09..5a5a3c0 100644 --- a/src/test/java/org/zwobble/couscous/tests/TestIds.java +++ b/src/test/java/org/zwobble/couscous/tests/TestIds.java @@ -1,12 +1,11 @@ package org.zwobble.couscous.tests; import org.zwobble.couscous.ast.identifiers.Identifier; -import org.zwobble.couscous.ast.identifiers.Identifiers; public class TestIds { - public static final Identifier ANY_ID = Identifiers.variable(Identifiers.TOP, "[any id]"); + public static final Identifier ANY_ID = Identifier.TOP.variable("[any id]"); public static Identifier variable(String name) { - return Identifiers.variable(ANY_ID, name); + return ANY_ID.variable(name); } } diff --git a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java index 2572f8e..e3dc9ba 100644 --- a/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java +++ b/src/test/java/org/zwobble/couscous/tests/backends/csharp/CsharpSerializerTests.java @@ -2,7 +2,7 @@ package org.zwobble.couscous.tests.backends.csharp; import org.junit.Test; import org.zwobble.couscous.ast.*; -import org.zwobble.couscous.ast.identifiers.Identifiers; +import org.zwobble.couscous.ast.identifiers.Identifier; import org.zwobble.couscous.ast.sugar.SwitchNode; import org.zwobble.couscous.backends.csharp.CsharpSerializer; import org.zwobble.couscous.tests.TestIds; @@ -168,7 +168,7 @@ public class CsharpSerializerTests { list(ScalarType.of("Z")), list(), ScalarType.of("Y"), - signature("y", list(typeParameter(Identifiers.method(Identifiers.forType("X"), "y"), "T")), list(), ScalarType.of("Y")))); + signature("y", list(typeParameter(Identifier.forType("X").method("y"), "T")), list(), ScalarType.of("Y")))); assertEquals("x.y<Z>()", output); } @@ -413,8 +413,8 @@ public class CsharpSerializerTests { @Test public void methodWithTypeParameters() { MethodNode methodNode = MethodNode.staticMethod("nothing") - .typeParameter(formalTypeParameter(Identifiers.method(Identifiers.forType("com.Example.example"), "nothing"), "T")) - .typeParameter(formalTypeParameter(Identifiers.method(Identifiers.forType("com.Example.example"), "nothing"), "U")) + .typeParameter(formalTypeParameter(Identifier.forType("com.Example.example").method("nothing"), "T")) + .typeParameter(formalTypeParameter(Identifier.forType("com.Example.example").method("nothing"), "U")) .returns(ScalarType.of("void")) .build(); @@ -568,8 +568,8 @@ public class CsharpSerializerTests { @Test public void interfaceWithMethodWithTypeParameters() { MethodNode method = MethodNode.staticMethod("nothing") - .typeParameter(formalTypeParameter(Identifiers.method(Identifiers.forType("com.Example.example"), "nothing"), "T")) - .typeParameter(formalTypeParameter(Identifiers.method(Identifiers.forType("com.Example.example"), "nothing"), "U")) + .typeParameter(formalTypeParameter(Identifier.forType("com.Example.example").method("nothing"), "T")) + .typeParameter(formalTypeParameter(Identifier.forType("com.Example.example").method("nothing"), "U")) .returns(ScalarType.of("void")) .build(); diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java index 585508a..e8b391e 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/ExpressionReadingTests.java @@ -2,7 +2,7 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; import org.zwobble.couscous.ast.*; -import org.zwobble.couscous.ast.identifiers.Identifiers; +import org.zwobble.couscous.ast.identifiers.Identifier; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.TypeParameter; import org.zwobble.couscous.types.Types; @@ -233,7 +233,7 @@ public class ExpressionReadingTests { @Test public void canReadMethodCallsWithZeroExpressionsAsVarargs() { - TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Arrays"), "asList"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("java.util.Arrays").method("asList"), "T"); assertEquals( methodCall( staticReceiver("java.util.Arrays"), @@ -251,7 +251,7 @@ public class ExpressionReadingTests { @Test public void canReadMethodCallsWithMultipleExpressionsAsVarargs() { - TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Arrays"), "asList"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("java.util.Arrays").method("asList"), "T"); assertEquals( methodCall( staticReceiver("java.util.Arrays"), @@ -269,7 +269,7 @@ public class ExpressionReadingTests { @Test public void canReadMethodCallsWithArrayAsVarargs() { - TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Arrays"), "asList"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("java.util.Arrays").method("asList"), "T"); assertEquals( methodCall( staticReceiver("java.util.Arrays"), @@ -287,7 +287,7 @@ public class ExpressionReadingTests { @Test public void canReadGenericStaticMethodCallsWithExplicitTypeParameters() { - TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Collections"), "emptyList"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("java.util.Collections").method("emptyList"), "T"); assertEquals( methodCall( staticReceiver("java.util.Collections"), @@ -305,7 +305,7 @@ public class ExpressionReadingTests { @Test public void canReadGenericStaticMethodCallsWithImplicitTypeParameters() { - TypeParameter typeParameter = typeParameter(Identifiers.method(Identifiers.forType("java.util.Collections"), "emptyList"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("java.util.Collections").method("emptyList"), "T"); assertEquals( methodCall( staticReceiver("java.util.Collections"), diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java index acda60c..c6055e7 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaReaderTests.java @@ -3,7 +3,6 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.identifiers.Identifier; -import org.zwobble.couscous.ast.identifiers.Identifiers; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.Types; @@ -104,8 +103,8 @@ public class JavaReaderTests { MethodNode method = classNode.getMethods().get(0); - Identifier classIdentifier = Identifiers.forType("com.example.Example"); - Identifier expectedMethodIdentifier = Identifiers.method(classIdentifier, "identity"); + Identifier classIdentifier = Identifier.forType("com.example.Example"); + Identifier expectedMethodIdentifier = classIdentifier.method("identity"); assertThat(method.getTypeParameters(), contains(isFormalTypeParameter(expectedMethodIdentifier, "T"))); assertThat( method.getArguments(), @@ -215,13 +214,7 @@ public class JavaReaderTests { @Test public void canReadTryWithResourceWithoutOtherClauses() { ScalarType type = ScalarType.of("java.io.ByteArrayOutputStream"); - Identifier identifier = Identifiers.variable( - Identifiers.method( - Identifiers.type(Identifiers.TOP, "com.example.Example"), - "main" - ), - "closeable" - ); + Identifier identifier = Identifier.TOP.type("com.example.Example").method("main").variable("closeable"); LocalVariableDeclarationNode expectedResource = localVariableDeclaration(identifier, "closeable", type, constructorCall(type, list())); assertThat( readStatements("int", "try(java.io.ByteArrayOutputStream closeable = new java.io.ByteArrayOutputStream()) { return 1; }"), @@ -395,7 +388,7 @@ public class JavaReaderTests { assertThat(classes, hasSize(1)); ClassNode classNode = (ClassNode) classes.get(0); assertEquals(ScalarType.of("com.example.Example"), classNode.getName()); - assertEquals(list(formalTypeParameter(Identifiers.forType("com.example.Example"), "T")), classNode.getTypeParameters()); + assertEquals(list(formalTypeParameter(Identifier.forType("com.example.Example"), "T")), classNode.getTypeParameters()); } @Test @@ -406,7 +399,7 @@ public class JavaReaderTests { assertThat(classes, hasSize(1)); InterfaceNode classNode = (InterfaceNode) classes.get(0); assertEquals(ScalarType.of("com.example.Example"), classNode.getName()); - assertEquals(list(formalTypeParameter(Identifiers.forType("com.example.Example"), "T")), classNode.getTypeParameters()); + assertEquals(list(formalTypeParameter(Identifier.forType("com.example.Example"), "T")), classNode.getTypeParameters()); } @Test diff --git a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java index 75c3594..f903eeb 100644 --- a/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java +++ b/src/test/java/org/zwobble/couscous/tests/frontends/java/JavaTypesTests.java @@ -1,7 +1,7 @@ package org.zwobble.couscous.tests.frontends.java; import org.junit.Test; -import org.zwobble.couscous.ast.identifiers.Identifiers; +import org.zwobble.couscous.ast.identifiers.Identifier; import org.zwobble.couscous.frontends.java.JavaTypes; import org.zwobble.couscous.types.ScalarType; import org.zwobble.couscous.types.TypeParameter; @@ -24,7 +24,7 @@ public class JavaTypesTests { @Test public void bindingTypeToGenericTypeParameterReturnsBoundTypeParameter() { - TypeParameter typeParameter = typeParameter(Identifiers.forType("List"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("List"), "T"); assertEquals( boundTypeParameter(typeParameter, INT_TYPE), JavaTypes.bind(typeParameter, INT_TYPE)); @@ -33,7 +33,7 @@ public class JavaTypesTests { @Test public void bindingTypeToParameterizedTypeBindsParameters() { ScalarType rawList = ScalarType.of("List"); - TypeParameter typeParameter = typeParameter(Identifiers.forType("List"), "T"); + TypeParameter typeParameter = typeParameter(Identifier.forType("List"), "T"); assertEquals( parameterizedType(rawList, list(boundTypeParameter(typeParameter, INT_TYPE))), JavaTypes.bind( diff --git a/src/test/java/org/zwobble/couscous/tests/transforms/DesugarSwitchToIfElseTests.java b/src/test/java/org/zwobble/couscous/tests/transforms/DesugarSwitchToIfElseTests.java index 9e458e7..f1cb2b4 100644 --- a/src/test/java/org/zwobble/couscous/tests/transforms/DesugarSwitchToIfElseTests.java +++ b/src/test/java/org/zwobble/couscous/tests/transforms/DesugarSwitchToIfElseTests.java @@ -3,7 +3,7 @@ package org.zwobble.couscous.tests.transforms; import org.junit.Test; import org.zwobble.couscous.ast.Operations; import org.zwobble.couscous.ast.VariableDeclaration; -import org.zwobble.couscous.ast.identifiers.Identifiers; +import org.zwobble.couscous.ast.identifiers.Identifier; import org.zwobble.couscous.ast.sugar.SwitchNode; import org.zwobble.couscous.frontends.java.Scope; import org.zwobble.couscous.transforms.DesugarSwitchToIfElse; @@ -24,7 +24,7 @@ public class DesugarSwitchToIfElseTests { @Test public void switchStatementWithoutFallThroughIsReadAsIfElseStatement() { VariableDeclaration tmp = var( - Identifiers.variable(Identifiers.TOP, "_couscous_tmp_0"), + Identifier.TOP.variable("_couscous_tmp_0"), "_couscous_tmp_0", Types.STRING ); @@ -62,7 +62,7 @@ public class DesugarSwitchToIfElseTests { @Test public void switchStatementWithoutDefaultIsReadAsIfStatementWithoutElseStatement() { VariableDeclaration tmp = var( - Identifiers.variable(Identifiers.TOP, "_couscous_tmp_0"), + Identifier.TOP.variable("_couscous_tmp_0"), "_couscous_tmp_0", Types.STRING ); @@ -90,7 +90,7 @@ public class DesugarSwitchToIfElseTests { @Test public void casesCanFallthrough() { VariableDeclaration tmp = var( - Identifiers.variable(Identifiers.TOP, "_couscous_tmp_0"), + Identifier.TOP.variable("_couscous_tmp_0"), "_couscous_tmp_0", Types.STRING ); |
