aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2016-03-31 21:29:25 +0100
committerMichael Williamson <mike@zwobble.org>2016-03-31 21:29:25 +0100
commit63186372abb41771c7a78c34ad3d17c458fa25e1 (patch)
tree4e50f34109186c6e30e098511b8ce1be450400b9 /src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java
parentbb107372f059eadf3c2f0f576d464e4232f2ca33 (diff)
Roll type parameters into Arguments
Diffstat (limited to 'src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java')
-rw-r--r--src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java12
1 files changed, 4 insertions, 8 deletions
diff --git a/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java b/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java
index 51a1736..945287b 100644
--- a/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java
+++ b/src/main/java/org/zwobble/couscous/interpreter/values/StaticReceiverValue.java
@@ -6,10 +6,6 @@ import org.zwobble.couscous.interpreter.Environment;
import org.zwobble.couscous.interpreter.Executor;
import org.zwobble.couscous.interpreter.types.InterpreterType;
import org.zwobble.couscous.interpreter.types.ParameterizedInterpreterType;
-import org.zwobble.couscous.types.Type;
-
-import java.util.List;
-import java.util.Optional;
public class StaticReceiverValue implements ReceiverValue {
private final InterpreterType type;
@@ -39,10 +35,10 @@ public class StaticReceiverValue implements ReceiverValue {
Executor.exec(environment, type.getStaticConstructor());
}
- public InterpreterValue callConstructor(Environment environment, Optional<List<Type>> typeParameters, Arguments arguments) {
- InterpreterType objectType = typeParameters
- .<InterpreterType>map(parameters -> new ParameterizedInterpreterType(type, parameters))
- .orElse(type);
+ public InterpreterValue callConstructor(Environment environment, Arguments arguments) {
+ InterpreterType objectType = arguments.getTypes().isEmpty()
+ ? type
+ : new ParameterizedInterpreterType(type, arguments.getTypes());
ObjectInterpreterValue value = new ObjectInterpreterValue(objectType);
type.callConstructor(environment, value, arguments);
return value;