You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The dozens of new tests related to keyword parameters cannot yet be handled by the type checker and compiler. Unfortunately these new tests cause type checker/compiler to fail and this impedes further testing and development of other features.
Now seems therefore a good moment to finally make the type checker aware of ignore and ignoreCompiler tags. Basic idea: if the tag is present the type checker ignores the entire declaration. For the moment it is enough to do this for function and data declarations only.
I have prototyped the code, but prefer that @mahills puts it in the type checker in order to avoid conflicts etc.
private bool ignoreDeclaration(Tags tags){
map[str,str] getTags(Tags tags){
m = ();
for(tg <- tags.tags){
str name = "<tg.name>";
if(tg is \default){
cont = "<tg.contents>"[1 .. -1];
m[name] = cont;
} else if (tg is empty)
m[name] = "";
else
m[name] = "<tg.expression>"[1 .. -1];
}
return m;
}
return !isEmpty(domain(getTags(tags)) & {"ignore", "Ignore", "ignoreCompiler", "IgnoreCompiler"});
}
For completeness: the tags ignoreInterpreter and IgnoreInterpreter also exist but they are handled by the evaluator.
At the start of all function declaration handlers in the type checker, the following test is needed:
if(ignoreDeclaration(tags)){
return config;
}
The text was updated successfully, but these errors were encountered:
The implications of this change in behavior of the type checker were not yet propagated to the compiler: the typechecker now completely skips an ignored function while the compiler still tried to compile it (and then -- of course -- got stuck because information was missing). After adapting the compiler tests are now ignored like a charm.
The dozens of new tests related to keyword parameters cannot yet be handled by the type checker and compiler. Unfortunately these new tests cause type checker/compiler to fail and this impedes further testing and development of other features.
Now seems therefore a good moment to finally make the type checker aware of
ignore
andignoreCompiler
tags. Basic idea: if the tag is present the type checker ignores the entire declaration. For the moment it is enough to do this for function and data declarations only.I have prototyped the code, but prefer that @mahills puts it in the type checker in order to avoid conflicts etc.
For completeness: the tags
ignoreInterpreter
andIgnoreInterpreter
also exist but they are handled by the evaluator.At the start of all function declaration handlers in the type checker, the following test is needed:
The text was updated successfully, but these errors were encountered: