Skip to content
Snippets Groups Projects
Commit d3901484 authored by Martin Nilsson's avatar Martin Nilsson
Browse files

[Bug 2769] is solved. Removing multilevel wrapper for variables and populate...

[Bug 2769] is solved. Removing multilevel wrapper for variables and populate variables in the Hilfe wrapper directly at compile time.

Rev: lib/modules/Tools.pmod/Hilfe.pmod:1.33
parent 8e4f2a67
No related branches found
No related tags found
No related merge requests found
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Incremental Pike Evaluator // Incremental Pike Evaluator
// //
// $Id: Hilfe.pmod,v 1.32 2002/02/26 16:13:35 nilsson Exp $ // $Id: Hilfe.pmod,v 1.33 2002/02/27 11:51:03 nilsson Exp $
constant hilfe_todo = #"List of known Hilfe bugs/room for improvements: constant hilfe_todo = #"List of known Hilfe bugs/room for improvements:
...@@ -838,13 +838,12 @@ class Evaluator { ...@@ -838,13 +838,12 @@ class Evaluator {
existed = 1; existed = 1;
} }
object o = hilfe_compile("class ___HilfeWrapper {\n" + object o = hilfe_compile(type + " " + code +
type + " " + code +
";\nmixed ___HilfeWrapper() { return " + ";\nmixed ___HilfeWrapper() { return " +
var + "; }\n}\n", var); var + "; }\n", var);
if( o && hilfe_error( catch( variables[var] = if( o && hilfe_error( catch( variables[var] =
o->___HilfeWrapper()->___HilfeWrapper() ) ) ) { o->___HilfeWrapper() ) ) ) {
types[var] = type; types[var] = type;
} }
else if(existed) else if(existed)
...@@ -864,10 +863,10 @@ class Evaluator { ...@@ -864,10 +863,10 @@ class Evaluator {
";\nmixed ___HilfeWrapper() { return " + ";\nmixed ___HilfeWrapper() { return " +
var + "; }\n", var); var + "; }\n", var);
if( o && hilfe_error( catch( vtype[var] = o->___HilfeWrapper() ) ) ) { if( o && hilfe_error( catch( vtype[var] = o->___HilfeWrapper() ) ) )
; return;
}
else if(existed) if(existed)
vtype[var] = old_value; vtype[var] = old_value;
} }
...@@ -1105,7 +1104,7 @@ class Evaluator { ...@@ -1105,7 +1104,7 @@ class Evaluator {
map(indices(variables), map(indices(variables),
lambda(string f) { lambda(string f) {
return sprintf("%s %s;", types[f], f); return sprintf("%s %s=___hilfe.%s;", types[f], f, f);
}) * "\n" + "\n" + }) * "\n" + "\n" +
"\nmapping query_variables() { return ([\n"+ "\nmapping query_variables() { return ([\n"+
...@@ -1143,10 +1142,6 @@ class Evaluator { ...@@ -1143,10 +1142,6 @@ class Evaluator {
return 0; return 0;
} }
// Populate variables
foreach(variables; string name; mixed value)
o[name] = value;
return o; return o;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment