Skip to content

Commit

Permalink
Rename SPVM::Builder::Config::Info to SPVM::Builder::ScriptInfo.
Browse files Browse the repository at this point in the history
  [Incompatible Changes]
    * Rename SPVM::Builder::Config::Info to SPVM::Builder::ScriptInfo.
  • Loading branch information
yuki-kimoto committed Jan 7, 2025
1 parent 6a61c5b commit eece00c
Show file tree
Hide file tree
Showing 8 changed files with 102 additions and 97 deletions.
5 changes: 5 additions & 0 deletions Changes
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
0.990037 2024-01-08

[Incompatible Changes]
* Rename SPVM::Builder::Config::Info to SPVM::Builder::ScriptInfo.

0.990036 2024-01-07

[New Features]
Expand Down
4 changes: 2 additions & 2 deletions MANIFEST
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ lib/SPVM/Builder/CC.pm
lib/SPVM/Builder/CompileInfo.pm
lib/SPVM/Builder/Config.pm
lib/SPVM/Builder/Config/Exe.pm
lib/SPVM/Builder/Config/Info.pm
lib/SPVM/Builder/ConfigBuilder.pm
lib/SPVM/Builder/Deps.pm
lib/SPVM/Builder/Exe.pm
Expand Down Expand Up @@ -146,6 +145,7 @@ lib/SPVM/Builder/Native/Runtime.pm
lib/SPVM/Builder/Native/Stack.pm
lib/SPVM/Builder/ObjectFileInfo.pm
lib/SPVM/Builder/Resource.pm
lib/SPVM/Builder/ScriptInfo.pm
lib/SPVM/Builder/src/spvm_allocator.c
lib/SPVM/Builder/src/spvm_allow.c
lib/SPVM/Builder/src/spvm_api.c
Expand Down Expand Up @@ -469,13 +469,13 @@ solo/script/myapp.spvm
SPVM.xs
t/00_builder/CC.t
t/00_builder/Config-Exe.t
t/00_builder/Config-Info.t
t/00_builder/Config.t
t/00_builder/ConfigBuilder.t
t/00_builder/lib/SPVM/MyClass/ConfigBuilder.pm
t/00_builder/LinkInfo.t
t/00_builder/makefile.t
t/00_builder/ObjectFileInfo.t
t/00_builder/ScriptInfo.t
t/00_builder/Util.t
t/01_syntax/check.t
t/01_syntax/dist.pl
Expand Down
4 changes: 2 additions & 2 deletions lib/SPVM.pm
Original file line number Diff line number Diff line change
Expand Up @@ -238,10 +238,10 @@ L<All SPVM Documents|SPVM::Document>
=item * L<Builder Utility APIs|SPVM::Builder::Util::API>
=item * L<Config Information|SPVM::Builder::Config::Info>
=item * L<Config Builder|SPVM::Builder::ConfigBuilder>
=item * L<SPVM Script Information|SPVM::Builder::ProgramInfo>
=back
=head1 Commands
Expand Down
8 changes: 4 additions & 4 deletions lib/SPVM/Builder/Deps.pm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use SPVM::Builder::Native::Compiler;
use SPVM::Builder::Native::Runtime;
use SPVM::Builder::Native::BasicType;
use SPVM::Builder::Native::ClassFile;
use SPVM::Builder::Config::Info;
use SPVM::Builder::ScriptInfo;

# Fields
sub builder {
Expand Down Expand Up @@ -1073,7 +1073,7 @@ sub get_user_defined_basic_type_names {
sub dump_resource_info {
my ($class, $script_name) = @_;

my $info = SPVM::Builder::Config::Info->new(script_name => $script_name);
my $info = SPVM::Builder::ScriptInfo->new(script_name => $script_name);

my $class_names = [grep { $info->is_resource_loader($_) } @{$info->get_class_names}];

Expand Down Expand Up @@ -1103,7 +1103,7 @@ EOS
sub dump_dependency {
my ($class, $script_name) = @_;

my $info = SPVM::Builder::Config::Info->new(script_name => $script_name);
my $info = SPVM::Builder::ScriptInfo->new(script_name => $script_name);

my $runtime = $info->runtime;

Expand Down Expand Up @@ -1134,7 +1134,7 @@ sub dump_dependency {
sub dump_dependency_cpan {
my ($class, $script_name) = @_;

my $info = SPVM::Builder::Config::Info->new(script_name => $script_name);
my $info = SPVM::Builder::ScriptInfo->new(script_name => $script_name);

my $runtime = $info->runtime;

Expand Down
8 changes: 4 additions & 4 deletions lib/SPVM/Builder/Exe.pm
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use SPVM::Builder::Native::Compiler;
use SPVM::Builder::Native::Runtime;
use SPVM::Builder::Native::BasicType;
use SPVM::Builder::Native::ClassFile;
use SPVM::Builder::Config::Info;
use SPVM::Builder::ScriptInfo;

# Fields
sub builder {
Expand Down Expand Up @@ -1073,7 +1073,7 @@ sub get_user_defined_basic_type_names {
sub dump_resource_info {
my ($class, $script_name) = @_;

my $info = SPVM::Builder::Config::Info->new(script_name => $script_name);
my $info = SPVM::Builder::ScriptInfo->new(script_name => $script_name);

my $class_names = [grep { $info->is_resource_loader($_) } @{$info->get_class_names}];

Expand Down Expand Up @@ -1103,7 +1103,7 @@ EOS
sub dump_dependency {
my ($class, $script_name) = @_;

my $info = SPVM::Builder::Config::Info->new(script_name => $script_name);
my $info = SPVM::Builder::ScriptInfo->new(script_name => $script_name);

my $runtime = $info->runtime;

Expand Down Expand Up @@ -1134,7 +1134,7 @@ sub dump_dependency {
sub dump_dependency_cpan {
my ($class, $script_name) = @_;

my $info = SPVM::Builder::Config::Info->new(script_name => $script_name);
my $info = SPVM::Builder::ScriptInfo->new(script_name => $script_name);

my $runtime = $info->runtime;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package SPVM::Builder::Config::Info;
package SPVM::Builder::ScriptInfo;

use strict;
use warnings;
Expand Down Expand Up @@ -228,23 +228,23 @@ sub get_config {

=head1 Name
SPVM::Builder::Config::Info - Config Information
SPVM::Builder::ScriptInfo - Script Information
=head1 Description
The SPVM::Builder::Config::Info class has methods to manipulate config information.
The SPVM::Builder::ScriptInfo class has methods to manipulate SPVM script information.
=head1 Usage
my $config_info = SPVM::Builder::Config::Info->new(class_name => "Foo");
my $config_info = SPVM::Builder::ScriptInfo->new(class_name => "Foo");
=head1 Class Methods
=head2 new
my $config_info = SPVM::Builder::Config::Info->new(%options);
my $config_info = SPVM::Builder::ScriptInfo->new(%options);
Creates an L<SPVM::Builder::Config::Info> object given options %options, and returns it.
Creates an L<SPVM::Builder::ScriptInfo> object given options %options, and returns it.
The class specified by C<class_name> option or C<script_name> option is compiled and the runtime is generated.
Expand Down
79 changes: 0 additions & 79 deletions t/00_builder/Config-Info.t

This file was deleted.

79 changes: 79 additions & 0 deletions t/00_builder/ScriptInfo.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
use lib "t/testlib";
use TestAuto;
use lib "t/02_vm/lib";

use strict;
use warnings;

use Test::More;

use SPVM::Builder::ScriptInfo;

my $class_name = 'TestCase::UseResource::Basic';

# get_class_names
{
my $script_info = SPVM::Builder::ScriptInfo->new(class_name => $class_name);

my $class_names = $script_info->get_class_names;

ok(grep { $_ eq 'TestCase::UseResource::Basic' } @$class_names);

ok(grep { $_ eq 'Int' } @$class_names);
}

# is_resource_loader
{
my $script_info = SPVM::Builder::ScriptInfo->new(class_name => $class_name);

my $resource_loader_class_names = [grep { $script_info->is_resource_loader($_) } @{$script_info->get_class_names}];

is_deeply($resource_loader_class_names, ['TestCase::UseResource::Basic']);
}

# has_config_file
{
my $script_info = SPVM::Builder::ScriptInfo->new(class_name => $class_name);

ok($script_info->has_config_file('TestCase::UseResource::Basic'));

ok(!$script_info->has_config_file('Byte'));
}

# get_config_file
{
my $script_info = SPVM::Builder::ScriptInfo->new(class_name => $class_name);

my $config_file = $script_info->get_config_file($class_name);

my $class_rel_file = $class_name;
$class_rel_file =~ s|::|/|g;

like($config_file, qr/$class_rel_file\.config/);
}

# get_config_content
{
my $script_info = SPVM::Builder::ScriptInfo->new(class_name => $class_name);

my $config_content = $script_info->get_config_content($class_name);

like($config_content, qr/use_resource.+TestCase::Resource::Mylib1/);
}

# get_config
{
my $script_info = SPVM::Builder::ScriptInfo->new(class_name => $class_name);

my $config = $script_info->get_config($class_name);

ok($config->isa('SPVM::Builder::Config'));

my $config_resource_names = $config->get_resource_names($class_name);

is_deeply($config_resource_names, ['TestCase::Resource::Mylib1']);
}

ok(1);

done_testing;

0 comments on commit eece00c

Please sign in to comment.