MCPcopy Create free account
hub / github.com/aspizu/goboscript / change_var

Method change_var

src/codegen/stmt.rs:152–178  ·  view source on GitHub ↗
(
        &mut self,
        s: S,
        d: D,
        this_id: NodeID,
        name: &Name,
        value: &Expr,
    )

Source from the content-addressed store, hash-verified

150 }
151
152 pub fn change_var(
153 &mut self,
154 s: S,
155 d: D,
156 this_id: NodeID,
157 name: &Name,
158 value: &Expr,
159 ) -> io::Result<()> {
160 let value_id = self.id.new_id();
161 self.begin_inputs()?;
162 self.input(s, d, "VALUE", value, value_id)?;
163 self.end_obj()?; // inputs
164 match s.qualify_name(d, name) {
165 Some(QualifiedName::Var(qualified_name, _)) => {
166 self.single_field_id("VARIABLE", &qualified_name)?
167 }
168 Some(QualifiedName::List(..)) => {
169 d.report(
170 DiagnosticKind::UnrecognizedVariable(name.basename().clone()),
171 &name.span(),
172 );
173 }
174 None => {}
175 }
176 self.end_obj()?; // node
177 self.expr(s, d, value, value_id, this_id)
178 }
179
180 pub fn show(&mut self, s: S, d: D, name: &Name) -> io::Result<()> {
181 self.begin_inputs()?;

Callers 1

stmtMethod · 0.80

Calls 10

new_idMethod · 0.80
begin_inputsMethod · 0.80
end_objMethod · 0.80
qualify_nameMethod · 0.80
single_field_idMethod · 0.80
reportMethod · 0.80
basenameMethod · 0.80
exprMethod · 0.80
inputMethod · 0.45
spanMethod · 0.45

Tested by

no test coverage detected