aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/interpreter/values/MethodCallArguments.java
blob: 7c18745b3d0baabef45ee3faedfda033a8daa3ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package org.zwobble.couscous.interpreter.values;

import org.zwobble.couscous.interpreter.Arguments;

public class MethodCallArguments<T> {
    private final T receiver;
    private final Arguments arguments;
    
    public InterpreterValue get(int index) {
        return arguments.get(index);
    }
    
    private MethodCallArguments(final T receiver, final Arguments arguments) {
        this.receiver = receiver;
        this.arguments = arguments;
    }
    
    public static <T> MethodCallArguments<T> of(final T receiver, final Arguments arguments) {
        return new MethodCallArguments<T>(receiver, arguments);
    }
    
    public T getReceiver() {
        return this.receiver;
    }
    
    public Arguments getArguments() {
        return this.arguments;
    }
}