aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/frontends
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-07-15 23:14:08 +0100
committerMichael Williamson <mike@zwobble.org>2016-07-15 23:20:03 +0100
commitd995649e3bab94002b439aebcc93e7d3f16b13fc (patch)
tree5ddc0b1e224e8bda7201b621e089e8f3a8f7f6b8 /src/main/java/org/zwobble/couscous/frontends
parent9a032e3bda13169959e5022ca21e7f160edf351f (diff)
Remove Identifiers in favour of instance methods
Diffstat (limited to 'src/main/java/org/zwobble/couscous/frontends')
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaMethods.java5
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/JavaTypes.java7
-rw-r--r--src/main/java/org/zwobble/couscous/frontends/java/Scope.java13
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);