Skip to main content

encode_method_signature

Function encode_method_signature 

pub fn encode_method_signature(signature: &SignatureMethod) -> Result<Vec<u8>>
Expand description

Encodes a method signature into binary format according to ECMA-335.

Method signatures encode:

  • Calling convention byte
  • Parameter count (compressed integer)
  • Return type (using TypeSignatureEncoder)
  • Parameter types (using TypeSignatureEncoder for each)

§Arguments

  • signature - The method signature to encode

§Returns

A vector of bytes representing the encoded method signature.

§Errors

Returns an error if encoding any parameter or return type fails, typically due to:

  • Invalid type signature structures
  • Unsupported type encodings
  • Issues with type reference tokens

§Examples

use dotscope::metadata::signatures::*;

let signature = MethodSignatureBuilder::new()
    .calling_convention_default()
    .returns(TypeSignature::Void)
    .param(TypeSignature::I4)
    .build()?;

let encoded = encode_method_signature(&signature)?;