diff options
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.java | 12 |
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; |
