Class MethodDef

  • All Implemented Interfaces:
    Serializable

    public class MethodDef
    extends Object
    implements Serializable
    Содержит в себе описание+байт код метода/лямбды, а так же связанных с ней других методов/лямбд getRefs()
    See Also:
    Serialized Form
    • Constructor Detail

      • MethodDef

        public MethodDef()
        Конструктор по умолчанию
      • MethodDef

        public MethodDef​(int access,
                         String name,
                         String descriptor,
                         String signature,
                         String[] exceptions)
        Конструктор
        Parameters:
        access - тип доступа к методу
        name - имя метода
        descriptor - типы аргументов
        signature - типы аргументов для generic
        exceptions - исключения
    • Method Detail

      • getByteCodes

        public List<ByteCode> getByteCodes()
        Возвращает представление байт кода метода
        Returns:
        представление байт кода метода
      • setByteCodes

        public void setByteCodes​(List<ByteCode> byteCodes)
        Указывает представление байт кода метода
        Parameters:
        byteCodes - представление байт кода метода
      • getAccess

        public int getAccess()
        Возвращает флаги метода
        Returns:
        тип доступа к методу
      • setAccess

        public void setAccess​(int access)
        Указывает флаги метода
        Parameters:
        access - тип доступа к методу
      • getFlags

        public AccFlags getFlags()
        Возвращает флаги метода - это декодированное представление getAccess()
        Returns:
        флаги метода
      • setFlags

        public void setFlags​(AccFlags flags)
        Указывает флаги метода - это декодированное представление setAccess(int) ()}
        Parameters:
        flags - флаги метода
      • getName

        public String getName()
        Возвращает имя метода
        Returns:
        имя метода
      • setName

        public void setName​(String name)
        Указывает имя метода
        Parameters:
        name - имя метода
      • getDescriptor

        public String getDescriptor()
        Возвращает типы аргументов и результата
        Returns:
        типы аргументов и результата
      • setDescriptor

        public void setDescriptor​(String descriptor)
        Указывает типы аргументов и результата
        Parameters:
        descriptor - типы аргументов и результата
      • getSignature

        public String getSignature()
        Возвращает типы аргументов и результата (generic)
        Returns:
        типы аргументов и результата (generic); возможно null
      • setSignature

        public void setSignature​(String signature)
        Указывает типы аргументов и результата (generic)
        Parameters:
        signature - типы аргументов и результата (generic); возможно null
      • getExceptions

        public String[] getExceptions()
        Возвращает генерируемые исключения - секция throws
        Returns:
        генерируемые исключения - секция throws
      • setExceptions

        public void setExceptions​(String[] exceptions)
        Указывает генерируемые исключения - секция throws
        Parameters:
        exceptions - генерируемые исключения - секция throws
      • getRefs

        public List<MethodDef> getRefs()
        Возвращает список связанных методов.

        Связанные методы - это лямбды присутствующие в данном методе
        apply( env0 -> env0.getUsers().filter(
          u -> u.getName().contains("Petrov")
        ) )

        В данном примере жирным выделена связанная лямбда по отношению в внешней env0 -> ...

        Returns:
        список связанных методов
      • setRefs

        public void setRefs​(List<MethodDef> refs)
        Указывает список связанных методов
        Parameters:
        refs - список связанных методов
        See Also:
        getRefs()