public CSharpExplodedGraph(IControlFlowGraph cfg, ISymbol declaration, SemanticModel semanticModel, AbstractLiveVariableAnalysis lva) : base(cfg, declaration, semanticModel, lva) { // Add mandatory checks AddExplodedGraphCheck(new NullPointerDereference.NullPointerCheck(this)); AddExplodedGraphCheck(new EmptyNullableValueAccess.NullValueAccessedCheck(this)); AddExplodedGraphCheck(new InvalidCastToInterface.NullableCastCheck(this)); }
protected AbstractExplodedGraph(IControlFlowGraph cfg, ISymbol declaration, SemanticModel semanticModel, AbstractLiveVariableAnalysis lva) { this.cfg = cfg; this.declaration = declaration; this.lva = lva; SemanticModel = semanticModel; declarationParameters = declaration.GetParameters(); nonInDeclarationParameters = declarationParameters.Where(p => p.RefKind != RefKind.None); }