.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

66 lines
1.8 KiB

Clean Up
--------
Move MapVariable from CodeGen into Block?
Improve test:
Necesitamos que a-capture8.cs pruebe si la asignacion funciona o no.
Audit:
Al emitir instancias de variables
(EmitCaptureVariableInstance) parece ser que el loop de iteracion:
while (si.ScopeBlock.ID != li.Block.ID)
está mas actulizado que el codigo similar para parámetros, es posible
que sea bitrot de parámetros o que en los parámetros usamos otra estrategia
(lo segundo es más razonable).
Iteradores:
En algún lugar no pongo el `FieldBuilder' a un valor con los
iteradores, ver expression.cs: 3616, local_info.FieldBuilder es nulo.
Parameters:
a-parameter4.cs falla por que no se liga el método anónimo
anidado con el padre.
Cleanup:
CaptureContext cc = ContextForParameter (ec.CurrentBlock.Toplevel, name);
if (cc != this){
cc.EmitParameter (ec, name);
return;
}
That should be a static method, and call the instance method
in the right CaptureContext, instead of having the CaptureContext
compute that itself.
MakePinned is gone:
Need to audit the code now that use DeclareLocal, and that this uses
a differnent code path than the main mcs.
Need to fix the order in which types are closed: currently we are not
compatible with the MS requirement that the parent has to be created
before the children are.
Tests and pending features:
Switch statement is broken (because it uses ILGenerator during
the Resolve phase, which with the `anonymous' branch is no longer
the case: so we have to delay the creation of labels until they
are needed, during the Emit phase).
Validation:
For testing, set ec.IG == null during resolve, restore value
for emit.
Currently it is commented out: there is a bug in the
statement.cs changes (see the old-statement.cs, the compiler
fails during bootstrap)