Skip to content

Commit

Permalink
refactor: unify names in ir and ir_cli crates
Browse files Browse the repository at this point in the history
Signed-off-by: peefy <xpf6677@163.com>
  • Loading branch information
Peefy committed Dec 12, 2023
1 parent 0824d3d commit e34347f
Show file tree
Hide file tree
Showing 13 changed files with 39 additions and 79 deletions.
2 changes: 1 addition & 1 deletion ir_cli/README.md
@@ -1,6 +1,6 @@
## Introduction

This crate introduces a default command line tool with pre-defined mock runtime(wasm runtime and HOSTAPI) of Smart Intermediate Representation.
This crate introduces a default command line tool with pre-defined mock runtime(wasm runtime and HostAPI) of Smart Intermediate Representation.

## How to Use

Expand Down
8 changes: 4 additions & 4 deletions ir_cli/src/vm/context.rs
Expand Up @@ -4,7 +4,7 @@

use inkwell::values::IntValue;
use inkwell::values::{BasicValueEnum, FunctionValue};
use smart_ir::integration::intrinsic::IrHostapiIntrinsic;
use smart_ir::integration::intrinsic::IrHostAPIIntrinsic;
use smart_ir::ir::cfg::Type;
use smart_ir::ir::interface_type::IntrinsicFuncName;
use smart_ir::ir_codegen::common::global::ExtendContext;
Expand Down Expand Up @@ -149,21 +149,21 @@ impl ExtendContext for MockExtendContext {
vec![]
}

fn get_ir_func_intrinsics(&self) -> &[&IrHostapiIntrinsic] {
fn get_ir_func_intrinsics(&self) -> &[&IrHostAPIIntrinsic] {
&[]
}

fn find_ir_func_intrinsic_by_func_name(
&self,
_func_name: &IntrinsicFuncName,
) -> Option<&IrHostapiIntrinsic> {
) -> Option<&IrHostAPIIntrinsic> {
None
}

fn add_or_get_intrinsic_function<'ctx>(
&self,
_context: &IR2LLVMCodeGenContext<'ctx>,
_intrinsic_info: &IrHostapiIntrinsic,
_intrinsic_info: &IrHostAPIIntrinsic,
_params: &[Type],
_ret: &Type,
) -> FunctionValue<'ctx> {
Expand Down
40 changes: 0 additions & 40 deletions smart_ir/src/encoding/mod.rs
Expand Up @@ -4,43 +4,3 @@

pub mod datastream;
pub mod ssz;

pub trait Serialize {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer;
}

pub trait Serializer: Sized {
type Ok;
type Error: std::error::Error;
type SerializeBool;
type SerializeInt;
type SerializeUInt;
type SerializeStr;
type SerializeArray;
type SerializeTuple;
type SerializeTupleStruct;
type SerializeMap;
type SerializeStruct;
type SerializeStructVariant;

fn serialize_bool(self, v: Self::SerializeStr) -> Result<Self::Ok, Self::Error>;
fn serialize_int(self, v: Self::SerializeInt) -> Result<Self::Ok, Self::Error>;
fn serialize_uint(self, v: Self::SerializeUInt) -> Result<Self::Ok, Self::Error>;
fn serialize_str(self, v: Self::SerializeStr) -> Result<Self::Ok, Self::Error>;
fn serialize_bytes(self, v: &[u8]) -> Result<Self::Ok, Self::Error>;
fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple, Self::Error>;
fn serialize_tuple_struct(
self,
name: &'static str,
len: usize,
) -> Result<Self::SerializeTupleStruct, Self::Error>;
fn serialize_array(self, len: Option<usize>) -> Result<Self::SerializeMap, Self::Error>;
fn serialize_map(self, len: Option<usize>) -> Result<Self::SerializeMap, Self::Error>;
fn serialize_struct(
self,
name: &'static str,
len: usize,
) -> Result<Self::SerializeStruct, Self::Error>;
}
2 changes: 1 addition & 1 deletion smart_ir/src/integration/intrinsic.rs
Expand Up @@ -4,7 +4,7 @@

use crate::ir::interface_type::IntrinsicFuncName;

pub struct IrHostapiIntrinsic {
pub struct IrHostAPIIntrinsic {
// enum name as key
pub func_name: IntrinsicFuncName,
pub ir_func_name: &'static str,
Expand Down
8 changes: 4 additions & 4 deletions smart_ir/src/ir/interface_type.rs
Expand Up @@ -19,13 +19,13 @@ impl PartialFuncNameBehavior for () {
pub enum PartialFuncNameKind<T: PartialFuncNameBehavior, U: PartialFuncNameBehavior> {
UserDefFunc(String),
Intrinsic(T),
HOSTAPI(U),
HostAPI(U),
Otherwise,
}

/// Specify the specification of HOSTAPI here
/// Specify the specification of HostAPI here
#[derive(Clone, Debug, PartialEq, Eq)]
pub enum DefaultHOSTAPI {}
pub enum DefaultHostAPI {}

/// Specify the specification of Intrinsic functions here
#[derive(Clone, Debug, PartialEq, Eq)]
Expand Down Expand Up @@ -525,7 +525,7 @@ impl PartialFuncName {
match &self.kind {
PartialFuncNameKind::UserDefFunc(str) => str.clone(),
PartialFuncNameKind::Intrinsic(intrinsic) => intrinsic.apply_name(),
PartialFuncNameKind::HOSTAPI(_) => unimplemented!(),
PartialFuncNameKind::HostAPI(_) => unimplemented!(),
PartialFuncNameKind::Otherwise => unreachable!(),
}
}
Expand Down
4 changes: 2 additions & 2 deletions smart_ir/src/ir/metadata/asset.rs
Expand Up @@ -7,9 +7,9 @@ use crate::ir::cfg::Literal;
use crate::ir::cfg::MetaData;
use crate::ir::cfg::MetaDataNode;
use crate::ir::context::IRContext;
use smart_ir_macro::MetadataDefination;
use smart_ir_macro::MetadataDefinition;

#[derive(Clone, Debug, PartialEq, Eq, MetadataDefination, Default)]
#[derive(Clone, Debug, PartialEq, Eq, MetadataDefinition, Default)]
#[MetaDataKey(asset)]
pub struct Asset {
// 1: fungible
Expand Down
4 changes: 2 additions & 2 deletions smart_ir/src/ir/metadata/debug_info.rs
Expand Up @@ -7,13 +7,13 @@ use crate::ir::cfg::Literal;
use crate::ir::cfg::MetaData;
use crate::ir::cfg::MetaDataNode;
use crate::ir::context::IRContext;
use smart_ir_macro::MetadataDefination;
use smart_ir_macro::MetadataDefinition;

/// debug location metadata
/// !{ {line}: u64, {column}: u64, {file}: str}
/// e.g. %0 = add(1, 2) !ir_debug_location !0
/// !0 = !{2: u64, 5: u64, "/Users/admin/ir/test.ir": str}
#[derive(Clone, Debug, PartialEq, Eq, MetadataDefination, Default)]
#[derive(Clone, Debug, PartialEq, Eq, MetadataDefinition, Default)]
#[MetaDataKey(ir_debug_location)]
pub struct DebugLocation {
start_line: u32,
Expand Down
4 changes: 2 additions & 2 deletions smart_ir/src/ir/metadata/extend_hostapi.rs
Expand Up @@ -6,9 +6,9 @@ use crate::ir::cfg::Literal;
use crate::ir::cfg::MetaData;
use crate::ir::cfg::MetaDataNode;
use crate::ir::context::IRContext;
use smart_ir_macro::MetadataDefination;
use smart_ir_macro::MetadataDefinition;

#[derive(Clone, Debug, PartialEq, Eq, MetadataDefination, Default)]
#[derive(Clone, Debug, PartialEq, Eq, MetadataDefinition, Default)]
#[MetaDataKey(extend_hostapi)]
pub struct ExtendHostAPI {
name: String,
Expand Down
4 changes: 2 additions & 2 deletions smart_ir/src/ir/metadata/ssz_info.rs
Expand Up @@ -6,9 +6,9 @@ use crate::ir::cfg::Literal;
use crate::ir::cfg::MetaData;
use crate::ir::cfg::MetaDataNode;
use crate::ir::context::IRContext;
use smart_ir_macro::MetadataDefination;
use smart_ir_macro::MetadataDefinition;

#[derive(Clone, Debug, PartialEq, Eq, MetadataDefination, Default)]
#[derive(Clone, Debug, PartialEq, Eq, MetadataDefinition, Default)]
#[MetaDataKey(type_ssz_info)]
pub struct SSZInfo {
versioned: bool,
Expand Down
8 changes: 4 additions & 4 deletions smart_ir/src/ir_codegen/common/global.rs
Expand Up @@ -2,24 +2,24 @@
// Copyright (c) The Smart Intermediate Representation Contributors
// SPDX-License-Identifier: Apache-2.0

use crate::integration::intrinsic::IrHostapiIntrinsic;
use crate::integration::intrinsic::IrHostAPIIntrinsic;
use crate::ir::cfg::Type;
use crate::ir::interface_type::IntrinsicFuncName;
use crate::ir_codegen::context::IR2LLVMCodeGenContext;
use inkwell::values::{BasicValueEnum, FunctionValue};

pub trait ExtendContext {
fn get_ir_func_intrinsics(&self) -> &[&IrHostapiIntrinsic];
fn get_ir_func_intrinsics(&self) -> &[&IrHostAPIIntrinsic];

fn find_ir_func_intrinsic_by_func_name(
&self,
func_name: &IntrinsicFuncName,
) -> Option<&IrHostapiIntrinsic>;
) -> Option<&IrHostAPIIntrinsic>;

fn add_or_get_intrinsic_function<'ctx>(
&self,
context: &IR2LLVMCodeGenContext<'ctx>,
intrinsic_info: &IrHostapiIntrinsic,
intrinsic_info: &IrHostAPIIntrinsic,
params_ty: &[Type],
ret: &Type,
) -> FunctionValue<'ctx>;
Expand Down
2 changes: 1 addition & 1 deletion smart_ir/src/ir_codegen/ir.rs
Expand Up @@ -524,7 +524,7 @@ impl<'ctx> IR2LLVMCodeGenContext<'ctx> {
Ok(ret_val)
}
}
crate::ir::interface_type::PartialFuncNameKind::HOSTAPI(_) => {
crate::ir::interface_type::PartialFuncNameKind::HostAPI(_) => {
unimplemented!()
}
crate::ir::interface_type::PartialFuncNameKind::Otherwise => {
Expand Down
6 changes: 3 additions & 3 deletions smart_ir/src/ir_codegen/storage_path.rs
Expand Up @@ -250,7 +250,7 @@ impl<'ctx> IR2LLVMCodeGenContext<'ctx> {
};

let length = if asset_tag > 0 {
// If asset metadata is active, please impl your owe business logic and/or HOSTAPI for asset object
// If asset metadata is active, please impl your owe business logic and/or HostAPI for asset object
if has_extend_context() {
get_extend_context().asset_get_data_length(asset_tag, self, path_ptr)
} else {
Expand Down Expand Up @@ -292,7 +292,7 @@ impl<'ctx> IR2LLVMCodeGenContext<'ctx> {
};

if asset_tag > 0 {
// If asset metadata is active, please impl your owe business logic and/or HOSTAPI for asset object
// If asset metadata is active, please impl your owe business logic and/or HostAPI for asset object
if has_extend_context() {
get_extend_context().asset_get_data(asset_tag, self, path_ptr, data);
} else {
Expand Down Expand Up @@ -333,7 +333,7 @@ impl<'ctx> IR2LLVMCodeGenContext<'ctx> {
};
let (value_ptr, value_length) = self.ssz_encode_with_version(ty, ssz_info, value);
if asset_tag > 0 {
// If asset metadata is active, please impl your owe business logic and/or HOSTAPI for asset object
// If asset metadata is active, please impl your owe business logic and/or HostAPI for asset object
if has_extend_context() {
get_extend_context().asset_set_data(
asset_tag,
Expand Down
26 changes: 13 additions & 13 deletions smart_ir_macro/src/lib.rs
Expand Up @@ -46,7 +46,7 @@ where
)
}

/// metadata defination dervie macro
/// metadata definition derive macro
/// attribute MetaDataKey must be set
/// This macro will generate getters and setters for all fields of the struct,
/// defining the conversion and registration of the struct to metadata
Expand All @@ -55,9 +55,9 @@ where
///
/// ```rust
/// use smart_ir::cfg::ir::{MetaData, IRContext, Literal, IntValue};
/// use smart_ir_macro::{MetadataDefination, MetaDataKey};
/// use smart_ir_macro::{MetadataDefinition, MetaDataKey};
///
/// #[derive(MetadataDefination, PartialEq, Eq, Default)]
/// #[derive(MetadataDefinition, PartialEq, Eq, Default)]
/// #[MetaDataKey(smart_foo_bar)]
/// struct FooBar {
/// foo: i32,
Expand Down Expand Up @@ -131,15 +131,15 @@ where
/// }
/// ```
///
#[proc_macro_derive(MetadataDefination, attributes(MetaDataKey))]
pub fn derive_md_defination(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
#[proc_macro_derive(MetadataDefinition, attributes(MetaDataKey))]
pub fn derive_md_definition(input: proc_macro::TokenStream) -> proc_macro::TokenStream {
let input = proc_macro2::TokenStream::from(input);

let output = derive_md_defination_impl(input);
let output = derive_md_definition_impl(input);
proc_macro::TokenStream::from(output)
}

fn derive_md_defination_impl(input: proc_macro2::TokenStream) -> proc_macro2::TokenStream {
fn derive_md_definition_impl(input: proc_macro2::TokenStream) -> proc_macro2::TokenStream {
let ast: syn::DeriveInput = syn::parse2(input).unwrap();

let struct_name = ast.ident;
Expand All @@ -154,7 +154,7 @@ fn derive_md_defination_impl(input: proc_macro2::TokenStream) -> proc_macro2::To
}
None => Err(syn::Error::new(
proc_macro2::Span::call_site(),
"expand MetadataDefination failed: MetaDataKey isn't set",
"expand MetadataDefinition failed: MetaDataKey isn't set",
)),
})
.unwrap();
Expand Down Expand Up @@ -183,7 +183,7 @@ fn derive_md_defination_impl(input: proc_macro2::TokenStream) -> proc_macro2::To
});
let meta_data_key = meta_data_key
.unwrap_or_else(|| {
panic!("expand MetadataDefination failed: MetaDataKey isn't set")
panic!("expand MetadataDefinition failed: MetaDataKey isn't set")
})
.to_string();
let meta_data_key =
Expand Down Expand Up @@ -277,7 +277,7 @@ fn field_to_literal(ident: &proc_macro2::Ident, ty: &Type) -> proc_macro2::Token
panic!(
"{}",
format!(
"MetadataDefination expand failed: unsupported field ty: {token_stream}"
"MetadataDefinition expand failed: unsupported field ty: {token_stream}"
)
)
}
Expand All @@ -287,7 +287,7 @@ fn field_to_literal(ident: &proc_macro2::Ident, ty: &Type) -> proc_macro2::Token
let token_stream = ty.to_token_stream();
panic!(
"{}",
format!("MetadataDefination expand failed: unsupported field ty: {token_stream}",)
format!("MetadataDefinition expand failed: unsupported field ty: {token_stream}",)
)
}
}
Expand Down Expand Up @@ -347,7 +347,7 @@ fn literal_to_field(
panic!(
"{}",
format!(
"MetadataDefination expand failed: unsupported field ty: {token_stream}",
"MetadataDefinition expand failed: unsupported field ty: {token_stream}",
)
)
}
Expand All @@ -358,7 +358,7 @@ fn literal_to_field(
let token_stream = ty.to_token_stream();
panic!(
"{}",
format!("MetadataDefination expand failed: unsupported field ty: {token_stream}")
format!("MetadataDefinition expand failed: unsupported field ty: {token_stream}")
)
}
}
Expand Down

0 comments on commit e34347f

Please sign in to comment.