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

Owning syntax trees and codecs for generic JVM signatures. More...

#include <cstddef>
#include <optional>
#include <rpnx/cortado/descriptors.hpp>
#include <rpnx/cortado/errors.hpp>
#include <string>
#include <string_view>
#include <variant>
#include <vector>

Go to the source code of this file.

Classes

struct  rpnx::cortado::signature_parse_options
 Resource limits applied while parsing an untrusted generic signature. More...
 
struct  rpnx::cortado::reference_type_signature
 A class, type-variable, or array reference type in a generic signature. More...
 
struct  rpnx::cortado::java_type_signature
 A primitive or reference Java type signature. More...
 
struct  rpnx::cortado::any_type_argument
 An unbounded wildcard type argument. More...
 
struct  rpnx::cortado::exact_type_argument
 An invariant reference type argument. More...
 
struct  rpnx::cortado::extends_type_argument
 An extends-bounded wildcard type argument. More...
 
struct  rpnx::cortado::super_type_argument
 A super-bounded wildcard type argument. More...
 
struct  rpnx::cortado::simple_class_type_signature
 One simple class segment, including its type arguments. More...
 
struct  rpnx::cortado::class_type_signature
 A possibly parameterized and nested class type signature. More...
 
struct  rpnx::cortado::type_variable_signature
 A generic type-variable reference. More...
 
struct  rpnx::cortado::array_type_signature
 An array whose component is another Java type signature. More...
 
struct  rpnx::cortado::type_parameter
 One generic type parameter and all of its declared bounds. More...
 
struct  rpnx::cortado::class_signature
 A complete class Signature attribute grammar value. More...
 
struct  rpnx::cortado::method_signature
 A complete method Signature attribute grammar value. More...
 

Namespaces

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

Typedefs

using rpnx::cortado::type_argument = std::variant< any_type_argument, exact_type_argument, extends_type_argument, super_type_argument >
 One generic class type argument.
 
using rpnx::cortado::method_result_signature = std::variant< void_type_descriptor, java_type_signature >
 A void or Java-type method result signature.
 
using rpnx::cortado::throws_signature = std::variant< class_type_signature, type_variable_signature >
 A declared throws signature for a class or type-variable exception.
 

Functions

reference_type_signature rpnx::cortado::parse_field_signature (std::string_view text, signature_parse_options const &options={})
 Parses a complete field or record-component generic signature.
 
class_signature rpnx::cortado::parse_class_signature (std::string_view text, signature_parse_options const &options={})
 Parses a complete class generic signature.
 
method_signature rpnx::cortado::parse_method_signature (std::string_view text, signature_parse_options const &options={})
 Parses a complete method generic signature.
 
std::string rpnx::cortado::serialize_field_signature (reference_type_signature const &signature)
 Serializes a field or record-component generic signature.
 
std::string rpnx::cortado::serialize_class_signature (class_signature const &signature)
 Serializes a class generic signature.
 
std::string rpnx::cortado::serialize_method_signature (method_signature const &signature)
 Serializes a method generic signature.
 

Detailed Description

Owning syntax trees and codecs for generic JVM signatures.

Definition in file signatures.hpp.