class Crytic::Mutation::InjectMutatedSubjectIntoSpecs

Defined in:

crytic/mutation/inject_mutated_subject_into_specs.cr

Constant Summary

STR_CAPACITY = 2 ** 20

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(path : String, source : String, subject_path : String, mutated_subject_source : String, required_at : Int32 = 0) #

[View source]

Class Method Detail

def self.already_covered_file_name #

[View source]
def self.cover_file(file, &) #

[View source]
def self.file_list #

[View source]
def self.project_path : String #

[View source]
def self.project_path? : String | Nil #

[View source]
def self.register_file(f) #

[View source]
def self.relative_path_to_project(path) #

[View source]
def self.require_expanders #

[View source]
def self.reset #

[View source]

Instance Method Detail

def astree : Crystal::ASTNode #

[View source]
def astree? : Crystal::ASTNode | Nil #

[View source]
def enriched_source : String #

[View source]
def enriched_source? : String | Nil #

[View source]
def id : Int32 #

[View source]
def md5_signature : String #

[View source]
def path : String #

[View source]
def process #

Inject in AST tree if required.


[View source]
def required_at : Int32 #

[View source]
def source : String #

[View source]
def to_covered_source #

[View source]
def visit(node : Crystal::Require) #

Management of required file is nasty and should be improved Since I've hard time to replace node on visit, I change the file argument to a number linked to an array of files Then on finalization, we replace each require "xxx" by the proper file.


[View source]
def visit(node : Crystal::ASTNode) #

[View source]