-
Notifications
You must be signed in to change notification settings - Fork 65
Open
Labels
vm-languageIssues related to the VM & Language TeamIssues related to the VM & Language Team
Description
Example of a RicherMoveCall command:
/// The command for calling a Move function, either an entry function or a
/// public function (which cannot return references).
#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize, Deserialize)]
pub struct RichProgrammableMoveCall {
/// The package containing the module and function.
pub package: ObjectID,
/// The specific module in the package containing the function.
pub module: String,
/// The function to be called.
pub function: String,
/// The visibility of this function.
pub visibility: Visibility,
/// Marker if the function is intended as an entry function.
pub is_entry: bool,
/// The type arguments to the function.
pub type_arguments: Vec<TypeName>,
/// The arguments to the function.
/// This points to Argument::Input or Argument::Result from which
/// we can extract the TypeName.
pub arguments: Vec<Argument>,
/// The returned value of the function.
/// Argument::Result and Argument::NestedResult point to this.
pub returns: Vec<TypeName>,
}
#[derive(Default)]
pub enum Visibility {
/// Accessible within its defining module only.
#[default]
Private = 0x0,
/// Accessible by any module or script outside of its declaring module.
Public = 0x1,
// DEPRECATED for separate entry modifier
// Accessible by any script or other `Script` functions from any module
// Script = 0x2,
/// Accessible by this module as well as modules declared in the friend
/// list.
Friend = 0x3,
}Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
vm-languageIssues related to the VM & Language TeamIssues related to the VM & Language Team