public SignatureOnlyMethodSymbol( string name, TypeSymbol containingType, MethodKind methodKind, Cci.CallingConvention callingConvention, ImmutableArray <TypeParameterSymbol> typeParameters, ImmutableArray <ParameterSymbol> parameters, RefKind refKind, bool isInitOnly, TypeWithAnnotations returnType, ImmutableArray <CustomModifier> refCustomModifiers, ImmutableArray <MethodSymbol> explicitInterfaceImplementations) { Debug.Assert(returnType.IsDefault || isInitOnly == CustomModifierUtils.HasIsExternalInitModifier(returnType.CustomModifiers)); _callingConvention = callingConvention; _typeParameters = typeParameters; _refKind = refKind; _isInitOnly = isInitOnly; _returnType = returnType; _refCustomModifiers = refCustomModifiers; _parameters = parameters; _explicitInterfaceImplementations = explicitInterfaceImplementations.NullToEmpty(); _containingType = containingType; _methodKind = methodKind; _name = name; }
protected TypeSymbol MakeFunctionPointerTypeSymbol( Cci.CallingConvention callingConvention, ImmutableArray <ParamInfo <TypeSymbol> > retAndParamInfos ) { return(_factory.MakeFunctionPointerTypeSymbol(callingConvention, retAndParamInfos)); }
public SignatureOnlyMethodSymbol( string name, TypeSymbol containingType, MethodKind methodKind, Cci.CallingConvention callingConvention, ImmutableArray <TypeParameterSymbol> typeParameters, ImmutableArray <ParameterSymbol> parameters, RefKind refKind, TypeSymbol returnType, ImmutableArray <CustomModifier> returnTypeCustomModifiers, ImmutableArray <CustomModifier> refCustomModifiers, ImmutableArray <MethodSymbol> explicitInterfaceImplementations) { _callingConvention = callingConvention; _typeParameters = typeParameters; _refKind = refKind; _returnType = returnType; _returnTypeCustomModifiers = returnTypeCustomModifiers; _refCustomModifiers = refCustomModifiers; _parameters = parameters; _explicitInterfaceImplementations = explicitInterfaceImplementations.NullToEmpty(); _containingType = containingType; _methodKind = methodKind; _name = name; }
public static FunctionPointerTypeSymbol CreateFromMetadata( Cci.CallingConvention callingConvention, ImmutableArray <ParamInfo <TypeSymbol> > retAndParamTypes ) => new FunctionPointerTypeSymbol( FunctionPointerMethodSymbol.CreateFromMetadata(callingConvention, retAndParamTypes) );
public SignatureOnlyMethodSymbol( string name, TypeSymbol containingType, MethodKind methodKind, Cci.CallingConvention callingConvention, ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<ParameterSymbol> parameters, RefKind refKind, TypeSymbol returnType, ImmutableArray<CustomModifier> returnTypeCustomModifiers, ushort countOfCustomModifiersPrecedingByRef, ImmutableArray<MethodSymbol> explicitInterfaceImplementations) { _callingConvention = callingConvention; _typeParameters = typeParameters; _refKind = refKind; _returnType = returnType; _returnTypeCustomModifiers = returnTypeCustomModifiers; _countOfCustomModifiersPrecedingByRef = countOfCustomModifiersPrecedingByRef; _parameters = parameters; _explicitInterfaceImplementations = explicitInterfaceImplementations.NullToEmpty(); _containingType = containingType; _methodKind = methodKind; _name = name; }
internal override TypeSymbol MakeFunctionPointerTypeSymbol( Cci.CallingConvention callingConvention, ImmutableArray <ParamInfo <TypeSymbol> > retAndParamTypes ) { return(FunctionPointerTypeSymbol.CreateFromMetadata( callingConvention, retAndParamTypes )); }
public CallingConventionInfo( Cci.CallingConvention callKind, ImmutableHashSet <CustomModifier> unmanagedCallingConventionTypes ) { Debug.Assert( unmanagedCallingConventionTypes.IsEmpty || callKind == Cci.CallingConvention.Unmanaged ); CallKind = callKind; UnmanagedCallingConventionTypes = unmanagedCallingConventionTypes; }
public SignatureOnlyMethodSymbol( string name, TypeSymbol containingType, MethodKind methodKind, Cci.CallingConvention callingConvention, ImmutableArray <TypeParameterSymbol> typeParameters, ImmutableArray <ParameterSymbol> parameters, TypeSymbol returnType, ImmutableArray <CustomModifier> returnTypeCustomModifiers, ImmutableArray <MethodSymbol> explicitInterfaceImplementations) { this.callingConvention = callingConvention; this.typeParameters = typeParameters; this.returnType = returnType; this.returnTypeCustomModifiers = returnTypeCustomModifiers; this.parameters = parameters; this.explicitInterfaceImplementations = explicitInterfaceImplementations.NullToEmpty(); this.containingType = containingType; this.methodKind = methodKind; this.name = name; }
public SignatureOnlyMethodSymbol( string name, TypeSymbol containingType, MethodKind methodKind, Cci.CallingConvention callingConvention, ImmutableArray<TypeParameterSymbol> typeParameters, ImmutableArray<ParameterSymbol> parameters, TypeSymbol returnType, ImmutableArray<CustomModifier> returnTypeCustomModifiers, ImmutableArray<MethodSymbol> explicitInterfaceImplementations) { this.callingConvention = callingConvention; this.typeParameters = typeParameters; this.returnType = returnType; this.returnTypeCustomModifiers = returnTypeCustomModifiers; this.parameters = parameters; this.explicitInterfaceImplementations = explicitInterfaceImplementations.NullToEmpty(); this.containingType = containingType; this.methodKind = methodKind; this.name = name; }
internal abstract TypeSymbol MakeFunctionPointerTypeSymbol(Cci.CallingConvention callingConvention, ImmutableArray <ParamInfo <TypeSymbol> > returnAndParamTypes);