public MethodBodyBuilder(IMetadataHost host, IEnumerable<IParameterDefinition> parameters) { reflector = new UnitReflector(host); locals = new LocalVariableBindings(reflector); define = new DefinitionBuilder(reflector, locals, host.NameTable); create = new InstanceCreator(reflector, locals); declare = new DeclarationBuilder(define); call = new MethodCallBuilder(host, reflector, locals); changeType = new Converter(reflector); operators = new TypeOperatorBuilder(reflector); constant = new CompileTimeConstantBuilder(reflector); @if = new IfStatementBuilder(); @return = new CodeReturnStatementBuilder(); anonymousMethod = new AnonymousMethodTypeOptions(host, reflector); statement = new StatementBuilder(); @params = new ParameterBindings(); foreach (var parameter in parameters) { @params.AddBinding(parameter); } }
public LightCompiler(IDefinitionBuilder[] builders, ICilCompiler[] cilCompilers, IReferenceProvider[] referenceProviders) { this.builders = builders; this.cilCompilers = cilCompilers; this.referenceProviders = referenceProviders; }