public ReachabilitySummary SummarizeMethod(IMethodDefinition methodDefinition, WholeProgram wholeProgram) { // if there is an implementation available (e.g. we can get to opcodes) if (methodDefinition.IsExternal == false && methodDefinition.IsAbstract == false) { BytecodeVisitor visitor = new BytecodeVisitor(); // foreach MSIL instruction in the method foreach (var op in methodDefinition.ResolvedMethod.Body.Operations) { visitor.Visit(op); // handle the opcode } return visitor.GetSummary(); } else { return null; } }
public ReachabilitySummary SummarizeMethod(IMethodDefinition methodDefinition, WholeProgram wholeProgram) { // if there is an implementation available (e.g. we can get to opcodes) if (methodDefinition.IsExternal == false && methodDefinition.IsAbstract == false) { BytecodeVisitor visitor = new BytecodeVisitor(); // foreach MSIL instruction in the method foreach (var op in methodDefinition.ResolvedMethod.Body.Operations) { visitor.Visit(op); // handle the opcode } return(visitor.GetSummary()); } else { return(null); } }