Class: Mirah::JVM::Types::JavaSourceMirror::FakeJavaFile

Inherits:
SimpleJavaFileObject
  • Object
show all
Defined in:
lib/mirah/jvm/types/source_mirror.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(package, name, kind = 'class') ⇒ FakeJavaFile

Returns a new instance of FakeJavaFile.



39
40
41
42
43
44
45
46
47
48
# File 'lib/mirah/jvm/types/source_mirror.rb', line 39

def initialize(package, name, kind='class')
  package ||= ''
  super(URI.create(FakeJavaFile.build_uri(package, name)), JavaFileObject::Kind::SOURCE)
  @code = ''
  if package != ""
    @code << "package #{package};\n"
  end
  @code << "@org.mirah.infer.FakeClass\n"
  @code << "public #{kind} #{name} { }"
end

Class Method Details

.build_uri(package, name) ⇒ Object



50
51
52
53
54
55
# File 'lib/mirah/jvm/types/source_mirror.rb', line 50

def self.build_uri(package, name)
  name = name.tr('.', '$')
  package = package.tr('.', '/')
  package << '/' unless "" == package
  "string:///#{package}#{name}#{JavaFileObject::Kind::SOURCE.extension}"
end

Instance Method Details

#getCharContent(ignoreEncodingErrors) ⇒ Object



57
58
59
# File 'lib/mirah/jvm/types/source_mirror.rb', line 57

def getCharContent(ignoreEncodingErrors)
  java.lang.String.new(@code)
end