Skip to content

class Crystal::VirtualFile
inherits Reference

A VirtualFile is used as a Location's filename when expanding a macro. It contains the macro expanded source code so the user can debug it as if there was a file in the filesystem with those contents.

Class methods

.new(macro __arg0 : Macro, source : String, expanded_location : Location?)

View source

Methods

#expanded_location : Location?

The location where the macro was expanded (where the macro was invoked).

View source

#inspect(io : IO) : Nil

Appends a String representation of this object which includes its class name, its object address and the values of all instance variables.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).inspect # => #<Person:0x10fd31f20 @name="John", @age=32>
View source

#macro : Macro

The macro that produced this VirtualFile

View source

#pretty_print(pp)

View source

#source : String

The expanded source code of the macro

View source

#to_s(io : IO) : Nil

Appends a short String representation of this object which includes its class name and its object address.

class Person
  def initialize(@name : String, @age : Int32)
  end
end

Person.new("John", 32).to_s # => #<Person:0x10a199f20>
View source