예제 #1
0
파일: TypeBuilder.cs 프로젝트: macias/Skila
        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)));
        }
예제 #2
0
파일: Property.cs 프로젝트: macias/Skila
 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));
 }
예제 #3
0
 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));
 }