diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-07-15 23:14:08 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-07-15 23:20:03 +0100 |
| commit | d995649e3bab94002b439aebcc93e7d3f16b13fc (patch) | |
| tree | 5ddc0b1e224e8bda7201b621e089e8f3a8f7f6b8 /src/main/java/org/zwobble/couscous/frontends | |
| parent | 9a032e3bda13169959e5022ca21e7f160edf351f (diff) | |
Remove Identifiers in favour of instance methods
Diffstat (limited to 'src/main/java/org/zwobble/couscous/frontends')
3 files changed, 10 insertions, 15 deletions
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); |
