public static TemplateConstraint Create( string name, EntityModifier constraintModifier, IEnumerable <FunctionDefinition> functions, IEnumerable <NameReference> inherits, IEnumerable <NameReference> baseOf) { return(Create(NameReference.Create(name), constraintModifier, functions, inherits, baseOf)); }
public static TemplateConstraint Create( NameReference name, EntityModifier constraintModifier, IEnumerable <FunctionDefinition> hasFunctions, IEnumerable <NameReference> inherits, IEnumerable <NameReference> baseOf) { return(new TemplateConstraint(name, constraintModifier, hasFunctions, inherits, baseOf)); }
public bool Has(EntityModifier modifier) { int count = enum_count; for (int i = 0; i < count; ++i) { if (modifier.flags[i] > 0 && this.flags[i] == 0) { return(false); } } return(true); }
private TemplateConstraint( NameReference name, EntityModifier constraintModifier, IEnumerable <FunctionDefinition> hasFunctions, IEnumerable <NameReference> inherits, IEnumerable <NameReference> baseOf) { if (name == null) { throw new ArgumentNullException(); } this.Name = name; this.Modifier = constraintModifier ?? EntityModifier.None; this.HasFunctions = (hasFunctions ?? Enumerable.Empty <FunctionDefinition>()).StoreReadOnly(); this.InheritsNames = (inherits ?? Enumerable.Empty <NameReference>()).StoreReadOnly(); this.BaseOfNames = (baseOf ?? Enumerable.Empty <NameReference>()).StoreReadOnly(); this.attachPostConstructor(); }
internal bool SameAccess(EntityModifier other) { return(this.HasPublic == other.HasPublic && this.HasProtected == other.HasProtected && this.HasPrivate == other.HasPrivate); }