package net.ranides.demo.debugger.impl;

import net.ranides.assira.reflection.*;
import net.ranides.assira.reflection.impl.AMethod;

import java.lang.invoke.MethodHandle;
import java.lang.reflect.Method;
import java.util.List;

public class CDiMethod extends AMethod {

    private final boolean isDeclared;

    private final com.sun.jdi.Method method;

    public CDiMethod(boolean isDeclared, com.sun.jdi.Method method) {
        super(IContext.DEFAULT);
        this.isDeclared = isDeclared;
        this.method = method;
    }

    @Override
    public String name() {
        return method.name();
    }

    @Override
    public IAttributes attributes() {
        return null;
    }

    @Override
    public IAnnotations annotations() {
        return null;
    }

    @Override
    public List<IClass<?>> params() {
        return null;
    }

    @Override
    public IClass<?> returns() {
        return null;
    }

    @Override
    public IArguments arguments() {
        return null;
    }

    @Override
    public List<IClass<?>> exceptions() {
        return null;
    }

    @Override
    public IClass<?> parent() {
        return null;
    }

    @Override
    public Object invoke() {
        return null;
    }

    @Override
    public Object invoke(Object that) {
        return null;
    }

    @Override
    public Object invoke(Object that, Object... arguments) {
        return null;
    }

    @Override
    public Object call(Object... arguments) {
        return null;
    }

    @Override
    public MethodHandle handle() {
        return null;
    }

    @Override
    public IMethod accessible() {
        return null;
    }

    @Override
    public Method reflective() {
        return null;
    }
}
