1
0
mirror of https://github.com/chylex/Code-Statistics.git synced 2025-08-16 23:31:48 +02:00
Files
CodeStatistics
CodeStatisticsCore
CodeStatisticsTests
LanguageJava
Elements
Annotation.cs
Field.cs
FlowStatement.cs
Import.cs
Member.cs
Method.cs
Modifiers.cs
Primitives.cs
Type.cs
TypeIdentifier.cs
TypeOf.cs
Handling
Properties
Utils
JavaHandler.cs
LanguageJava.csproj
.gitignore
CodeStatistics.sln
README.md
2016-09-05 15:37:05 +02:00

36 lines
1.2 KiB
C#

using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
namespace LanguageJava.Elements{
public class Member{
public readonly ReadOnlyCollection<Annotation> Annotations;
public readonly Modifiers Modifiers;
public Member(List<Annotation> annotations, IEnumerable<Modifiers> modifiers){
this.Annotations = annotations.AsReadOnly();
this.Modifiers = modifiers.Aggregate(Modifiers.None, (acc, modifier) => acc | modifier);
}
public Member(Member source, Modifiers newModifiers){
this.Annotations = source.Annotations;
this.Modifiers = newModifiers;
}
protected Member(Member source){
this.Annotations = source.Annotations;
this.Modifiers = source.Modifiers;
}
public override string ToString(){
string memberStr = Annotations.Aggregate("", (str, annotation) => str+annotation.ToString()+' ');
foreach(Modifiers modifier in JavaModifiers.Values){
if (Modifiers.HasFlag(modifier))memberStr += JavaModifiers.ToString(modifier)+' ';
}
return memberStr;
}
}
}