private void CreateCountImpl(IIntermediateClassType resultClass, IInterfacePropertyMember countProp) { var countProperty = resultClass.Properties.Add(new TypedName("Count", RuntimeCoreType.Int32, this.assembly.IdentityManager), true, false); countProperty.SummaryText = string.Format("Returns the @s:Int32; value which denotes the number of elements within the @s:{0};", resultClass.Name); countProperty.GetMethod.Return(countProp.GetReference(this.InternalStreamImpl.GetReference())); countProperty.AccessLevel = AccessLevelModifiers.Public; this.CountImpl = countProperty; }
public static IYieldReturnStatement YieldReturn(this IBlockStatementParent blockParent, IInterfacePropertyMember returnValue) { return(blockParent.YieldReturn((IExpression)returnValue.GetReference())); }
public static IReturnStatement Return(this IBlockStatementParent blockParent, IInterfacePropertyMember returnValue) { return(blockParent.Return(returnValue.GetReference())); }
private static Tuple <IType, VisitorImplementationTypeRelevance> GetTypeRelevance(IInterfacePropertyMember property, IInterfaceType[] relevantInterfaces, IType[] actionableTypes) { var propType = property.PropertyType; VisitorImplementationTypeRelevance result; if ((result = IsTypeRelevant(relevantInterfaces, propType, actionableTypes)) != VisitorImplementationTypeRelevance.NotRelevant) { return(Tuple.Create(propType, result)); } var enAccess = IsTypeRelevantForEnumerableAccess(relevantInterfaces, propType, actionableTypes); return(enAccess); }
private static Tuple <IType, VisitorImplementationTypeRelevance> IsPropertyRelevant(IInterfacePropertyMember property, IInterfaceType[] relevantInterfaces, IType ignoreAttr, IType[] actionableTypes) { if (property.Metadata.Contains(ignoreAttr)) { return(new Tuple <IType, VisitorImplementationTypeRelevance>(null, VisitorImplementationTypeRelevance.NotRelevant)); } return(GetTypeRelevance(property, relevantInterfaces, actionableTypes)); }