Skip to content

Commit

Permalink
contract name + miscellaneous
Browse files Browse the repository at this point in the history
Signed-off-by: Govardhan G D <chioni1620@gmail.com>
  • Loading branch information
chioni16 committed Jul 13, 2023
1 parent 11467bf commit b1ce7a3
Showing 1 changed file with 24 additions and 22 deletions.
46 changes: 24 additions & 22 deletions src/bin/languageserver/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@ impl<'a> Builder<'a> {
self.hovers.push(HoverEntry {
start: param.loc.start(),
stop: param.loc.end(),
val: make_code_block(&self.expanded_ty(&param.ty)),
val: self.expanded_ty(&param.ty),
});
}
ast::DestructureField::None => (),
Expand Down Expand Up @@ -378,7 +378,7 @@ impl<'a> Builder<'a> {
self.hovers.push(HoverEntry {
start: loc.start(),
stop: loc.end(),
val: make_code_block(self.expanded_ty(ty)),
val: self.expanded_ty(ty),
});
}
ast::Expression::CodeLiteral { loc, .. } => {
Expand Down Expand Up @@ -540,13 +540,7 @@ impl<'a> Builder<'a> {

// Variable expression
ast::Expression::Variable { loc, ty, var_no } => {
let constant = self
.ns
.var_constants
.get(loc)
.and_then(get_constants)
.unwrap_or_default();

// let name = self.ns.functions[*function_no].symtab.vars[*var_no].name;
let readonly = symtab
.vars
.get(var_no)
Expand All @@ -559,18 +553,24 @@ impl<'a> Builder<'a> {
})
.unwrap_or_default();

let val = format!("{} {}{}", ty.to_string(self.ns), constant, readonly);
// let val = format!("{} {}{}", ty.to_string(self.ns), name, readonly);
let val = format!("{} {}", ty.to_string(self.ns), readonly);

self.hovers.push(HoverEntry {
start: loc.start(),
stop: loc.end(),
val: make_code_block(val),
});
}
ast::Expression::ConstantVariable { loc, ty, contract_no, .. } => {
let contract = match contract_no {
Some(contract_no) => format!("{}::", self.ns.contracts[*contract_no].name),
None => "".to_string(),
ast::Expression::ConstantVariable { loc, ty, contract_no, var_no } => {
let (contract, name) = if let Some(contract_no) = contract_no {
let contract = format!("{}.", self.ns.contracts[*contract_no].name);
let name = &self.ns.contracts[*contract_no].variables[*var_no].name;
(contract, name)
} else {
let contract = "".to_string();
let name = &self.ns.constants[*var_no].name;
(contract, name)
};
let constant = self
.ns
Expand All @@ -579,15 +579,17 @@ impl<'a> Builder<'a> {
.and_then(get_constants)
.map(|s| format!(" = {}", s))
.unwrap_or_default();
let val = format!("constant {} {}{}", ty.to_string(self.ns), contract, constant);
let val = format!("{} constant {}{}{}", ty.to_string(self.ns), contract, name, constant);
self.hovers.push(HoverEntry {
start: loc.start(),
stop: loc.end(),
val: make_code_block(val),
});
}
ast::Expression::StorageVariable { loc, ty, contract_no, .. } => {
let val = format!("{}: {}", ty.to_string(self.ns), self.ns.contracts[*contract_no].name);
ast::Expression::StorageVariable { loc, ty, contract_no, var_no } => {
let contract = &self.ns.contracts[*contract_no];
let name = &contract.variables[*var_no].name;
let val = format!("{} {}.{}", ty.to_string(self.ns), contract.name, name);
self.hovers.push(HoverEntry {
start: loc.start(),
stop: loc.end(),
Expand Down Expand Up @@ -695,7 +697,7 @@ impl<'a> Builder<'a> {
", ".to_string(),
).collect::<String>();

let contract = fnc.contract_no.map(|contract_no| format!("{}::", self.ns.contracts[contract_no].name)).unwrap_or_default();
let contract = fnc.contract_no.map(|contract_no| format!("{}.", self.ns.contracts[contract_no].name)).unwrap_or_default();

let val = format!("{} {}{}({}) returns ({})\n", fnc.ty, contract, fnc.name, params, rets);

Expand Down Expand Up @@ -746,7 +748,7 @@ impl<'a> Builder<'a> {
", ".to_string(),
).collect::<String>();

let contract = fnc.contract_no.map(|contract_no| format!("{}::", self.ns.contracts[contract_no].name)).unwrap_or_default();
let contract = fnc.contract_no.map(|contract_no| format!("{}.", self.ns.contracts[contract_no].name)).unwrap_or_default();

let val = format!("{} {}{}({}) returns ({})\n", fnc.ty, contract, fnc.name, params, rets);

Expand Down Expand Up @@ -825,7 +827,7 @@ impl<'a> Builder<'a> {
} else {
("".to_string(), "", "".to_string(), "".to_string())
};
let val = make_code_block(format!("{}[built-in] {} {} {}", doc, rets, name, params));
let val = make_code_block(format!("[built-in] {} {} {}", rets, name, params));
self.hovers.push(HoverEntry {
start: loc.start(),
stop: loc.end(),
Expand Down Expand Up @@ -944,15 +946,15 @@ impl<'a> Builder<'a> {
builder.hovers.push(HoverEntry {
start: param.loc.start(),
stop: param.loc.end(),
val: make_code_block(builder.expanded_ty(&param.ty)),
val: builder.expanded_ty(&param.ty),
});
}

for ret in &*func.returns {
builder.hovers.push(HoverEntry {
start: ret.loc.start(),
stop: ret.loc.end(),
val: make_code_block(builder.expanded_ty(&ret.ty)),
val: builder.expanded_ty(&ret.ty),
});
}

Expand Down

0 comments on commit b1ce7a3

Please sign in to comment.