RPNXCortado
C++23 JVM class-file, bytecode, validation, and JAR toolkit
Loading...
Searching...
No Matches
descriptors.hpp File Reference

Owning syntax trees and codecs for JVM field and method descriptors. More...

#include <cstddef>
#include <cstdint>
#include <rpnx/macros.hpp>
#include <rpnx/variant.hpp>
#include <string>
#include <string_view>
#include <vector>

Go to the source code of this file.

Classes

struct  rpnx::cortado::primitive_type_descriptor
 A primitive JVM field descriptor. More...
 
struct  rpnx::cortado::object_type_descriptor
 An object JVM field descriptor. More...
 
struct  rpnx::cortado::array_type_descriptor
 An array JVM field descriptor. More...
 
struct  rpnx::cortado::void_type_descriptor
 The void return descriptor. More...
 
struct  rpnx::cortado::method_descriptor
 A parsed JVM method descriptor. More...
 

Namespaces

namespace  rpnx::cortado
 JVM class-file, bytecode, validation, generation, and JAR APIs.
 

Typedefs

using rpnx::cortado::field_type_descriptor = rpnx::variant< primitive_type_descriptor, object_type_descriptor, array_type_descriptor >
 Any JVM field descriptor.
 
using rpnx::cortado::return_type_descriptor = rpnx::variant< void_type_descriptor, field_type_descriptor >
 A JVM method return descriptor.
 

Enumerations

enum class  rpnx::cortado::primitive_descriptor_kind : std::uint8_t {
  byte = 'B' , character = 'C' , double_precision = 'D' , floating_point = 'F' ,
  integer = 'I' , long_integer = 'J' , short_integer = 'S' , boolean = 'Z'
}
 Primitive field-descriptor kinds. More...
 

Functions

field_type_descriptor rpnx::cortado::parse_field_descriptor (std::string_view text)
 Parses exactly one field descriptor.
 
method_descriptor rpnx::cortado::parse_method_descriptor (std::string_view text)
 Parses exactly one method descriptor and enforces the 255-slot parameter limit.
 
std::string rpnx::cortado::serialize_field_descriptor (field_type_descriptor const &descriptor)
 Encodes one field descriptor.
 
std::string rpnx::cortado::serialize_method_descriptor (method_descriptor const &descriptor)
 Encodes one method descriptor.
 
std::size_t rpnx::cortado::descriptor_slot_count (field_type_descriptor const &descriptor) noexcept
 Returns the number of JVM local/operand slots occupied by a field descriptor.
 

Detailed Description

Owning syntax trees and codecs for JVM field and method descriptors.

Definition in file descriptors.hpp.