private static ParameterIL BuildParameter(IParameter parameter) { return(parameter switch { INamedParameter namedParameter => new NamedParameterIL(namedParameter.Symbol), ISelfParameter selfParameter => new SelfParameterIL(selfParameter.Symbol), IFieldParameter fieldParameter => new FieldParameterIL(fieldParameter.ReferencedSymbol), _ => throw ExhaustiveMatch.Failed(parameter) });
public AbstractMethodDeclaration( CodeFile file, TextSpan span, IClassDeclaration declaringClass, MethodSymbol symbol, TextSpan nameSpan, ISelfParameter selfParameter, FixedList <INamedParameter> parameters, IReachabilityAnnotations reachabilityAnnotations) : base(file, span, symbol, nameSpan, parameters.ToFixedList <IConstructorParameter>(), reachabilityAnnotations) { Symbol = symbol; SelfParameter = selfParameter; Parameters = parameters; DeclaringClass = declaringClass; }
public ConstructorDeclaration( CodeFile file, TextSpan span, IClassDeclaration declaringClass, ConstructorSymbol symbol, TextSpan nameSpan, ISelfParameter implicitSelfParameter, FixedList <IConstructorParameter> parameters, IReachabilityAnnotations reachabilityAnnotations, IBody body) : base(file, span, symbol, nameSpan, parameters, reachabilityAnnotations) { Symbol = symbol; ImplicitSelfParameter = implicitSelfParameter; Body = body; DeclaringClass = declaringClass; }