Exemplo n.º 1
0
 public ImplementationDefinitionResolveReferance(Tpn.TypeProblem2.Method outer, Tpn.TypeProblem2.Method inner, IOrType <IResolve <IBox <IFrontendCodeElement> >, IError>[] nextElements, Box <IReadOnlyList <IOrType <IBox <IFrontendCodeElement>, IError> > > linesBox)
 {
     this.outer        = outer ?? throw new ArgumentNullException(nameof(outer));
     this.inner        = inner;
     this.nextElements = nextElements ?? throw new ArgumentNullException(nameof(nextElements));
     this.linesBox     = linesBox ?? throw new ArgumentNullException(nameof(linesBox));
 }
Exemplo n.º 2
0
        public IOrType <WeakMethodDefinition, WeakImplementationDefinition, WeakEntryPointDefinition, WeakGenericMethodDefinition> Convert(Tpn.TypeSolution typeSolution, Tpn.TypeProblem2.Method from, IEnumerable <Tpn.ITypeProblemNode> context)
        {
            var inputKey = from.PrivateMembers.Single(x => x.Value == from.Input.GetOrThrow());

            var scope = typeSolution.GetWeakScope(from, context);

            return(OrType.Make <WeakMethodDefinition, WeakImplementationDefinition, WeakEntryPointDefinition, WeakGenericMethodDefinition>(new WeakEntryPointDefinition(
                                                                                                                                               typeSolution.GetType(from.Returns.GetOrThrow(), context),
                                                                                                                                               scope.membersList.Single(x => x.Key.Equals(inputKey.Key)),
                                                                                                                                               body,
                                                                                                                                               OrType.Make <WeakScope, IError>(scope),
                                                                                                                                               Array.Empty <IIsPossibly <IConvertableFrontendCodeElement <ICodeElement> > >())));
        }
Exemplo n.º 3
0
 public MethodDefinitionResolveReferance(Tpn.TypeProblem2.Method method, IOrType <IResolve <IBox <IFrontendCodeElement> >, IError>[] nextElements, Box <IReadOnlyList <IOrType <IBox <IFrontendCodeElement>, IError> > > box)
 {
     this.method       = method ?? throw new ArgumentNullException(nameof(method));
     this.nextElements = nextElements ?? throw new ArgumentNullException(nameof(nextElements));
     this.box          = box ?? throw new ArgumentNullException(nameof(box));
 }
Exemplo n.º 4
0
 public EntryPointDefinitionResolveReferance(Tpn.TypeProblem2.Method scope, Box <IReadOnlyList <IOrType <IBox <IFrontendCodeElement>, IError> > > box, IOrType <IResolve <IBox <IFrontendCodeElement> >, IError>[] converted)
 {
     this.scope     = scope ?? throw new ArgumentNullException(nameof(scope));
     this.box       = box ?? throw new ArgumentNullException(nameof(box));
     this.converted = converted ?? throw new ArgumentNullException(nameof(converted));
 }