Skip to content

Commit c656939

Browse files
add some debug prints
Signed-off-by: salaheldinsoliman <[email protected]>
1 parent 2bbba8e commit c656939

File tree

6 files changed

+61
-3
lines changed

6 files changed

+61
-3
lines changed

src/codegen/expression.rs

+1
Original file line numberDiff line numberDiff line change
@@ -931,6 +931,7 @@ pub fn expression(
931931
..
932932
} => {
933933
if opt.log_prints {
934+
println!("args in codegen {:?}", args);
934935
let expr = expression(&args[0], cfg, contract_no, func, ns, vartab, opt);
935936

936937
let to_print = if ns.target.is_polkadot() {

src/emit/expression.rs

+41
Original file line numberDiff line numberDiff line change
@@ -1541,6 +1541,8 @@ pub(super) fn expression<'a, T: TargetRuntime<'a> + ?Sized>(
15411541
initializer,
15421542
..
15431543
} => {
1544+
1545+
println!("testing filename: {:?}", bin.name);
15441546
println!("alloc dynamic bytes");
15451547
println!("TYYY {:?}", ty);
15461548
println!("SIZE {:?}", size);
@@ -1569,6 +1571,11 @@ pub(super) fn expression<'a, T: TargetRuntime<'a> + ?Sized>(
15691571

15701572
println!("size is number literal");
15711573
println!("ty {:?}", ty);
1574+
println!("value {:?}", value);
1575+
1576+
if let Some(init) = initializer {
1577+
1578+
15721579

15731580
let init = initializer.as_ref().unwrap();
15741581

@@ -1601,6 +1608,40 @@ pub(super) fn expression<'a, T: TargetRuntime<'a> + ?Sized>(
16011608
.into(),
16021609
])
16031610
.into()
1611+
} else {
1612+
1613+
let typee = BasicTypeEnum::StructType(
1614+
bin.context.struct_type(
1615+
&[
1616+
bin.llvm_type(ty, ns)
1617+
.ptr_type(AddressSpace::default())
1618+
.into(),
1619+
bin.context
1620+
.custom_width_int_type(ns.target.ptr_size().into())
1621+
.into(),
1622+
],
1623+
false,
1624+
),
1625+
).into_struct_type();
1626+
1627+
println!("typee {:?}", typee);
1628+
1629+
1630+
let null = bin.context.custom_width_int_type(ns.target.ptr_size().into()).ptr_type(AddressSpace::default()).const_null();
1631+
1632+
1633+
let nones = typee.const_named_struct(&[
1634+
null.into(),
1635+
bin.context
1636+
.custom_width_int_type(ns.target.ptr_size().into())
1637+
.const_int(0_u64, false)
1638+
.into(),
1639+
])
1640+
;
1641+
1642+
null.into()
1643+
}
1644+
16041645

16051646
}
16061647
else {

src/emit/instructions.rs

+3
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,10 @@ pub(super) fn process_instruction<'a, T: TargetRuntime<'a> + ?Sized>(
444444
target.assert_failure(bin, vector_bytes, len);
445445
}
446446
Instr::Print { expr } => {
447+
448+
println!("KIND OF EXPR BEFORE{:?}", expr);
447449
let expr = expression(target, bin, expr, &w.vars, function, ns);
450+
println!("KIND OF EXPR AFTER{:?}", expr);
448451

449452
target.print(bin, bin.vector_bytes(expr), bin.vector_len(expr));
450453
}

src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ impl Target {
9595

9696
/// Size of a pointer in bits
9797
pub fn ptr_size(&self) -> u16 {
98-
if *self == Target::Solana {
98+
if *self == Target::Solana || *self == Target::Soroban {
9999
// Solana is BPF, which is 64 bit
100100
64
101101
} else {

src/sema/expression/literals.rs

+11-2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,12 @@ pub(super) fn string_literal(
2626
diagnostics: &mut Diagnostics,
2727
resolve_to: ResolveTo,
2828
) -> Expression {
29+
30+
31+
println!("string_literal: {:?}", v);
32+
println!("resolve_to: {:?}", resolve_to);
33+
34+
2935
// Concatenate the strings
3036
let mut result = Vec::new();
3137
let mut loc = v[0].loc;
@@ -37,7 +43,7 @@ pub(super) fn string_literal(
3743

3844
let length = result.len();
3945

40-
match resolve_to {
46+
let ret = match resolve_to {
4147
ResolveTo::Type(Type::String) => Expression::AllocDynamicBytes {
4248
loc,
4349
ty: Type::String,
@@ -65,7 +71,10 @@ pub(super) fn string_literal(
6571
ty: Type::Bytes(length as u8),
6672
value: result,
6773
},
68-
}
74+
};
75+
76+
println!("ret: {:?}", ret);
77+
ret
6978
}
7079

7180
pub(super) fn hex_literal(

tests/contract.rs

+4
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ fn solana_contracts() -> io::Result<()> {
2525

2626
#[test]
2727
fn polkadot_contracts() -> io::Result<()> {
28+
29+
println!("polkadot_contracts heeeeeere");
2830
contract_tests(
2931
"tests/contract_testcases/polkadot",
3032
Target::default_polkadot(),
@@ -68,6 +70,8 @@ fn parse_file(path: PathBuf, target: Target) -> io::Result<()> {
6870

6971
let filename = add_file(&mut cache, &path, target)?;
7072

73+
println!("Parsing {}", filename);
74+
7175
let mut ns = parse_and_resolve(OsStr::new(&filename), &mut cache, target);
7276

7377
if !ns.diagnostics.any_errors() {

0 commit comments

Comments
 (0)