public Field[] getFields(AccessLevel accessLevel, AccessLevelRule rule) { List <Field> output = new List <Field>(); if (parent != null) { output.AddRange(parent.getFields(accessLevel, rule)); } foreach (Field fieldsValue in fields.Values) { if (AccessLevelMethods.canAccess(accessLevel, fieldsValue.modifiers.accessLevel)) { output.Append(fieldsValue); } } return(output.ToArray()); }
public List <FunctionCall> getAvailableCalls(AccessLevel level) { return(new List <FunctionCall>( from f in bodies where AccessLevelMethods.canAccess(level, f.modifiers.accessLevel, AccessLevelRule.@equals) select new FunctionCall(this, f) )); }