|
|
|
@ -11,15 +11,18 @@ public class ModuleEntityInfo : TypeEntityInfo |
|
|
|
|
{ |
|
|
|
|
public bool IsPartial { get; } |
|
|
|
|
public bool IsBuiltIn { get; } |
|
|
|
|
|
|
|
|
|
// TODO: Support [Source]. |
|
|
|
|
public bool HasInitializer { get; } |
|
|
|
|
|
|
|
|
|
public ModuleEntityInfo(ISymbol symbol) |
|
|
|
|
: base(symbol) |
|
|
|
|
{ |
|
|
|
|
var classDecl = (TypeDeclarationSyntax)Symbol.DeclaringSyntaxReferences.First().GetSyntax(); |
|
|
|
|
IsPartial = classDecl.Modifiers.Any(t => t.IsKind(SyntaxKind.PartialKeyword)); |
|
|
|
|
|
|
|
|
|
IsBuiltIn = Has("BuiltIn"); |
|
|
|
|
|
|
|
|
|
HasInitializer = Symbol.AllInterfaces.Any(i => |
|
|
|
|
i.GetFullName(FullNameStyle.NoGeneric) == "gaemstone.ECS.IModuleInitializer"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
protected override IEnumerable<Diagnostic> ValidateSelf() |
|
|
|
|