override fun read()

in src/main/kotlin/com/pestphp/pest/features/customExpectations/MethodDataExternalizer.kt [33:61]


    override fun read(input: DataInput): Method {
        val name = EnumeratorStringDescriptor.INSTANCE.read(input)
        val returnType = EnumeratorStringDescriptor.INSTANCE.read(input)
        val parameterString = StringSetDataExternalizer.INSTANCE.read(input)

        val parameters = parameterString.reversed().map {
            Parameter(
                name = Regex("name='(.*?)'")
                    .find(it)!!
                    .groupValues[1],
                returnType = PhpType.builder()
                    .add(
                        Regex("returnType='(.*?)'")
                            .find(it)!!
                            .groupValues[1]
                    ).build(),
                defaultValue = Regex("defaultValue='(.*)'")
                    .find(it)!!
                    .groupValues[1]
                    .ifEmpty { null }
            )
        }

        return Method(
            name,
            PhpType().add(returnType),
            parameters
        )
    }