public static TypeBuilder Create(string name, params string[] typeParameters) { var buff = TemplateParametersBuffer.Create(); typeParameters.ForEach(it => buff.Add(it, VarianceMode.None)); return(new TypeBuilder(NameDefinition.Create(name, buff.Values))); }
public static FunctionDefinition CreateSetter(INameReference typeName, Block body, EntityModifier modifier = null) { return(FunctionDefinition.CreateFunction(EntityModifier.Accessor | modifier | EntityModifier.Mutable, NameDefinition.Create(NameFactory.PropertySetter), null, new[] { FunctionParameter.Create(NameFactory.PropertySetterValueParameter, typeName) }, ExpressionReadMode.OptionalUse, NameFactory.UnitNameReference(), body)); }
public static FunctionDefinition CreateFunction( EntityModifier modifier, NameDefinition name, IEnumerable <TemplateConstraint> constraints, IEnumerable <FunctionParameter> parameters, ExpressionReadMode callMode, INameReference result, Block body) { return(new FunctionDefinition(modifier, name, (NameDefinition)null, constraints, parameters, callMode, result, constructorChainCall: null, body: body, includes: null, friends: null)); }