/// <summary> /// Initializes a new instance of the <see cref="ImplementationGenerator"/> class. /// </summary> /// <param name="generator">The generator to use to generate the output.</param> /// <param name="locator">Code generation locator.</param> /// <param name="itfPattern">The interface pattern to use for the generator.</param> /// <param name="implPattern">The implementation pattern to use for the generator.</param> public ImplementationGenerator(IGenerator generator, ILocator locator, IInterfaceDeclaration itfPattern, IGenericDeclaration <SyntaxNode> implPattern) { this.generator = generator; this.itfPattern = itfPattern; this.implPattern = implPattern; this.locator = locator; }
public AttributesWalker( IDeclarationResolver resolver, IGenericDeclaration <SyntaxNode> genericDeclaration, List <IAttributeUse> attributesList) { this.resolver = resolver; this.attributesList = attributesList; this.genericDeclaration = genericDeclaration; }
public MembersWalker( IDeclarationResolver resolver, IGenericDeclaration <SyntaxNode> genericDeclaration, List <IMemberDeclaration <SyntaxNode> > memberList) { this.resolver = resolver; this.memberList = memberList; this.genericDeclaration = genericDeclaration; }
public AutomatedGenericStrategy( IGenericDeclaration <SyntaxNode> pattern, IGenericDeclaration <SyntaxNode> declaration, IDeclarationResolver resolver) { this.declaration = declaration; this.pattern = pattern; this.resolver = resolver; this.targetDeclarationName = GeneratorHelper.ComputeClassName(declaration.Name); this.targetPatternName = GeneratorHelper.ComputeClassName(pattern.Name); }
/// <summary> /// Initializes a new instance of the <see cref="ImplementationGeneratorWalker"/> class. /// </summary> /// <param name="writer">The writer where to write generated code.</param> /// <param name="itfPattern">Interface pattern.</param> /// <param name="implPattern">Implementation pattern.</param> /// <param name="itfDeclaration">Interface declaration to implement.</param> /// <param name="implName">Implementation name.</param> /// <param name="implNameSpace">Implementation name space.</param> /// <param name="writerSelector">Writer selector.</param> /// <param name="textSubstitutionHandler">Optional text substitution handler.</param> public ImplementationGeneratorWalker( TextWriter writer, IInterfaceDeclaration itfPattern, IGenericDeclaration <SyntaxNode> implPattern, IInterfaceDeclaration itfDeclaration, string implName, string implNameSpace, IWriterSelector writerSelector, Func <string, string> textSubstitutionHandler = null) { this.writer = writer; this.itfPattern = itfPattern; this.implPattern = implPattern; this.declaration = itfDeclaration; this.implName = implName; this.implNameSpace = implNameSpace; this.writerSelector = writerSelector; this.textSubstitutionHandler = textSubstitutionHandler ?? SameText; }
/// <inheritdoc/> public IEnumerable <IPropertyDeclaration> GetProperties(IGenericDeclaration <SyntaxNode> declaration) { return(declaration?.Properties); }
/// <inheritdoc/> public IEnumerable <IPropertyDeclaration> GetProperties(IGenericDeclaration <SyntaxNode> declaration) { throw new NotImplementedException(); }
/// <inheritdoc/> public void AddExtendedBy(IGenericDeclaration <SyntaxNode> declaration) { this.extendedBy.Add(declaration); }
/// <inheritdoc/> public IEnumerable <IPropertyDeclaration> GetProperties(IGenericDeclaration <SyntaxNode> declaration) { return(declaration?.Properties.Where(p => p.HasGetter && !p.HasSetter)); }
public DeclarationUseWalker(IDeclarationResolver resolver, IGenericDeclaration <SyntaxNode> genericDeclaration) { this.resolver = resolver; this.genericDeclaration = genericDeclaration; }