public override IBuildIntention <IInternalMethodDefinition> GetBuildIntention(IConversionContext context) { var(toBuild, maker) = MethodDefinition.Create(); return(new BuildIntention <IInternalMethodDefinition>(toBuild, () => { maker.Build( OutputType.Is1OrThrow().Convert(context), ParameterDefinition.Convert(context), Scope.Is1OrThrow().Convert(context), Body.GetValue().Select(x => x.Is1OrThrow().GetValue().ConvertElementOrThrow(context)).ToArray(), StaticInitailizers.Select(x => x.GetOrThrow().ConvertElementOrThrow(context)).ToArray()); })); }
public IBuildIntention <IImplementationDefinition> GetBuildIntention(IConversionContext context) { var(toBuild, maker) = ImplementationDefinition.Create(); return(new BuildIntention <IImplementationDefinition>(toBuild, () => { var contextMember = ContextDefinition.Convert(context); maker.Build( OutputType.Is1OrThrow().Convert(context), contextMember, ParameterDefinition.Convert(context), Scope.GetValue().Convert(context), MethodBody.GetValue().Select(x => x.Is1OrThrow().GetValue().ConvertElementOrThrow(context)).ToArray(), StaticInitialzers.Select(x => x.ConvertElementOrThrow(context)).ToArray(), Model.Instantiated.Scope.CreateAndBuild(new IsStatic[] { new IsStatic(contextMember, false) })); })); }