internal static FunctionDefinition CreateGetter(INameReference typeName, Block body, EntityModifier modifier = null) { return(FunctionDefinition.CreateFunction(EntityModifier.Accessor | modifier, NameDefinition.Create(NameFactory.PropertyGetter), null, null, ExpressionReadMode.ReadRequired, typeName, body)); }
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 CreateAutoSetter(string autoFieldName, INameReference typeName, EntityModifier modifier = null) { return(FunctionDefinition.CreateFunction(EntityModifier.Mutable | EntityModifier.Accessor | modifier, NameDefinition.Create(NameFactory.PropertySetter), null, new[] { FunctionParameter.Create(NameFactory.PropertySetterValueParameter, typeName) }, ExpressionReadMode.OptionalUse, NameFactory.UnitNameReference(), Block.CreateStatement(new[] { Assignment.CreateStatement( NameReference.CreateThised(autoFieldName), NameReference.Create(NameFactory.PropertySetterValueParameter)) }))); }