Sha256: 32b999acd66a7a3628131ed358c0891c1992c85d850ff185a8c9d5d87247a51b

Contents?: true

Size: 1.81 KB

Versions: 12

Compression:

Stored size: 1.81 KB

Contents

package org.cx4a.rsense.typing.annotation;

import java.util.List;

public class MethodType implements TypeAnnotation {
    private String name;
    private List<TypeVariable> types;
    private List<TypeConstraint> consList;
    private Signature sig;

    public MethodType(String name, List<TypeVariable> types, List<TypeConstraint> consList, Signature sig) {
        this.name = name;
        this.types = types;
        this.consList = consList;
        this.sig = sig;
    }

    public String getName() {
        return name;
    }

    public List<TypeVariable> getTypes() {
        return types;
    }

    public List<TypeConstraint> getConstraints() {
        return consList;
    }

    public Signature getSignature() {
        return sig;
    }

    public static class Block {
        private Signature sig;

        public Block(Signature sig) {
            this.sig = sig;
        }

        public Signature getSignature() {
            return sig;
        }
    }

    public static class Signature {
        private TypeExpression argType;
        private Block block;
        private TypeExpression returnType;

        public Signature(TypeExpression argType, Block block, TypeExpression returnType) {
            this.argType = argType;
            this.block = block;
            this.returnType = returnType;
        }

        public TypeExpression getArgType() {
            return argType;
        }

        public Block getBlock() {
            return block;
        }

        public TypeExpression getReturnType() {
            return returnType;
        }

        @Override
        public String toString() {
            return "<Signature " + argType + " " + block + " " + returnType + ">";
        }
    }

    @Override
    public String toString() {
        return "<MethodType " + name + " " + sig + ">";
    }
}

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
rsense-core-0.6.6 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.6.5 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.6.4 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.6.2 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.6.1 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.6.0 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.5.9 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.5.8 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.5.6 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.5.2 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.5.1 src/org/cx4a/rsense/typing/annotation/MethodType.java
rsense-core-0.5.0 src/org/cx4a/rsense/typing/annotation/MethodType.java