cash method
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 2643
Class::Method::hash 2.08
Class::Method::hash is a Perl module that helps you create methods for handling a hash value. more>>
Class::Method::hash is a Perl module that helps you create methods for handling a hash value.
SYNOPSIS
use Class::MethodMaker
[ hash => [qw/ x /] ];
$instance->x; # empty
$instance->x(a => 1, b => 2, c => 3);
$instance->x_count == 3; # true
$instance->x = (b => 5, d => 8); # Note this *replaces* the hash,
# not adds to it
$instance->x_index(b) == 5; # true
$instance->x_exists(c); # false
$instance->x_exists(d); # true
Creates methods to handle hash values in an object. For a component named x, by default creates methods x, x_reset, x_clear, x_isset, x_count, x_index, x_keys, x_values, x_each, x_exists, x_delete, x_set, x_get.
<<lessSYNOPSIS
use Class::MethodMaker
[ hash => [qw/ x /] ];
$instance->x; # empty
$instance->x(a => 1, b => 2, c => 3);
$instance->x_count == 3; # true
$instance->x = (b => 5, d => 8); # Note this *replaces* the hash,
# not adds to it
$instance->x_index(b) == 5; # true
$instance->x_exists(c); # false
$instance->x_exists(d); # true
Creates methods to handle hash values in an object. For a component named x, by default creates methods x, x_reset, x_clear, x_isset, x_count, x_index, x_keys, x_values, x_each, x_exists, x_delete, x_set, x_get.
Download (0.087MB)
Added: 2007-07-05 License: Perl Artistic License Price:
841 downloads
mod_methods 0.3
mod_methods is an Apache module that is the sister module to myhttp_engine. more>>
mod_methods is an Apache module that is the sister module to myhttp_engine. It can be used to test that engine, or can be used to set up a simple web request framework for adding, deleting, and getting files from an Apache 2.X webserver.
Enhancements:
- A new Makefile that is less dependent on local wackiness, support for the UPDATE HTTP method, and support for the OPTIONS HTTP method.
<<lessEnhancements:
- A new Makefile that is less dependent on local wackiness, support for the UPDATE HTTP method, and support for the OPTIONS HTTP method.
Download (0.034MB)
Added: 2007-07-03 License: BSD License Price:
843 downloads
Earn-Cash 1.0
The Ultimate Safe Money Guide -Free Online Money Guide Make Your Online Money The Safe Way And Generate a Daily Income Stream. The best thing I came ... more>> <<less
Download (2117KB)
Added: 2009-04-21 License: Freeware Price: Free
191 downloads
Pay day Cash Loan 1.0
Pay day Cash Loan toolbar for IE with useful gadgets including a quick launch To-do List, Daily Calorie Counter, Email Notifier, Weather and News Tick... more>> <<less
Download (1101KB)
Added: 2009-04-11 License: Freeware Price: Free
196 downloads
Earn-Fast-Cash 1.0
The Ultimate Safe Money Guide -Free Online Money Guide Make Your Online Money The Safe Way And Generate a Daily Income Stream. The best thing I came ... more>> <<less
Download (2117KB)
Added: 2009-04-19 License: Freeware Price: Free
189 downloads
Emergency-Cash 1.0
The Ultimate Safe Money Guide -Free Online Money Guide Make Your Online Money The Safe Way And Generate a Daily Income Stream. The best thing I came ... more>> <<less
Download (2117KB)
Added: 2009-04-10 License: Freeware Price: Free
201 downloads
Method::Declarative 0.03
Method::Declarative is a Perl module to create methods with declarative syntax. more>>
Method::Declarative is a Perl module to create methods with declarative syntax.
SYNOPSIS
use Method::Declarative
(
--defaults =>
{
precheck =>
[
[ qw(precheck1 arg1 arg2) ],
# ...
],
postcheck =>
[
[ qw(postcheck1 arg3 arg4) ],
# ...
],
init =>
[
[ initcheck1 ],
# ...
],
end =>
[
[ endcheck1 ],
# ...
],
once =>
[
[ oncecheck1 ],
] ,
package => __CALLER__::internal,
},
method1 =>
{
ignoredefaults => [ qw(precheck end once) ],
code => __method1,
},
) ;
The Method::Declarative module creates methods in a using class namespace. The methods are created using a declarative syntax and building blocks provided by the using class. This class does not create the objects themselves.
The using class invokes Method::Declarative, passing it list of key-value pairs, where each key is the name of a method to declare (or the special key --default) and a hash reference of construction directives. The valid keys in the construction hash refs are:
code
The value corresponding to code key is a method name or code reference to be executed as the method. It is called like this:
$obj->$codeval(@args)
where $obj is the object or class name being used, $codeval is the coresponding reference or method name, and @args are the current arguments for the invocation. If $codeval is a method name, it needs to be reachable from $obj.
A code key in a method declaration will override any code key set in the --defaults section.
end
The value corresponding to the end key is an array reference, where each entry of the referenced array is another array ref. Each of the internally referenced arrays starts with a code reference or method name. The remaining elements of the array are used as arguments.
Each method declared by the arrays referenced from end are called on the class where the declared method resides in an END block when Method::Declarative unloads.
Each method is called like this:
$pkg->$codeval($name[, @args]);
where $pkg is the package or class name for the method, $name is the method name, and @args is the optional arguments that can be listed in each referenced list.
end blocks are run in the reverse order of method declaration (for example, if method1 is declared before method2, method2s end declaration will be run before method1s), and for each method they are run in the order in which they are declared.
Note that this is not an object destructor, and no objects of a particular class may still exist when these methods are run.
ignoredefaults
The value corresponding to the ignoredefaults key is an array reference pointing to a list of strings. Each string must corespond to a valid key, and indicates that any in-force defaults for that key are to be ignored. See the section on the special --defaults method for details.
init
The value corresponding to the init key is identical in structure to that corresponding to the end key. The only difference is that the declared methods/code refs are executed as soon as the method is available, rather than during an END block.
once
The value corresponding to the once key is identical in structure to that corresponding to the end key. The values are used when the method is invoked, however.
If the method is invoked on an object based on a hash ref, or on the class itself, and it has not been invoked before on that object or hash ref, the methods and code refs declared by this key are executed one at a time, like this:
$obj->$codeval($name, $isscalar, $argsref[, @args ]);
where $obj is the object or class on which the method is being invoked, $codeval is the method name or code reference supplied, $name is the name of the method, $isscalar is a flag to specify if the declared method itself is being executed in a scalar context, $argsref is a reference to the method arguments (@_, in other words), and @args are any optional arguments in the declaration.
The return value of each method or code reference call is used as the new arguments array for successive iterations or the declared method itself (including the object or class name). Yes, that means that these functions can change the the object or class out from under successive operations.
Any method or code ref returning an empty list will cause further processing for the method to abort, and an empty list or undefined value (as appropriate for the context) will be returned as the declared methods return value.
package
The value coresponding to the package key is a string that determines where the declared method is created (which is the callers package by default, unless modified with a --defaults section). The string __CALLER__ can be used to specify the callers namespace, so constructions like the one in the synopsis can be used to create methods in a namespace based on the calling package namespace.
postcheck
The value coresponding to the postcheck key is identical in structure to that coresponding to the end key. The postcheck operations are run like this:
$obj->$codeval($name, $isscalar, $vref[, @args ]);
where $obj is the underlying object or class, $codeval is the method or code ref from the list, $name is the name of the declared method, $isscalar is the flag specifying if the declared method was called in a scalar context, $vref is an array reference of the currently to-be-returned values, and @args is the optional arguments from the list.
Each method or code reference is expected to return the value(s) it wishes to have returned from the method. Returning a null list does NOT stop processing of later postcheck declarations.
precheck
The precheck phase operates similarly to the once phase, except that its triggered on all method calls (even if the underlying object is not a hash reference or a class name).
Any illegal or unrecognized key will cause a warning, and processing of the affected hashref will stop. This means a --defaults section will be ineffective, or a declared method wont be created.
<<lessSYNOPSIS
use Method::Declarative
(
--defaults =>
{
precheck =>
[
[ qw(precheck1 arg1 arg2) ],
# ...
],
postcheck =>
[
[ qw(postcheck1 arg3 arg4) ],
# ...
],
init =>
[
[ initcheck1 ],
# ...
],
end =>
[
[ endcheck1 ],
# ...
],
once =>
[
[ oncecheck1 ],
] ,
package => __CALLER__::internal,
},
method1 =>
{
ignoredefaults => [ qw(precheck end once) ],
code => __method1,
},
) ;
The Method::Declarative module creates methods in a using class namespace. The methods are created using a declarative syntax and building blocks provided by the using class. This class does not create the objects themselves.
The using class invokes Method::Declarative, passing it list of key-value pairs, where each key is the name of a method to declare (or the special key --default) and a hash reference of construction directives. The valid keys in the construction hash refs are:
code
The value corresponding to code key is a method name or code reference to be executed as the method. It is called like this:
$obj->$codeval(@args)
where $obj is the object or class name being used, $codeval is the coresponding reference or method name, and @args are the current arguments for the invocation. If $codeval is a method name, it needs to be reachable from $obj.
A code key in a method declaration will override any code key set in the --defaults section.
end
The value corresponding to the end key is an array reference, where each entry of the referenced array is another array ref. Each of the internally referenced arrays starts with a code reference or method name. The remaining elements of the array are used as arguments.
Each method declared by the arrays referenced from end are called on the class where the declared method resides in an END block when Method::Declarative unloads.
Each method is called like this:
$pkg->$codeval($name[, @args]);
where $pkg is the package or class name for the method, $name is the method name, and @args is the optional arguments that can be listed in each referenced list.
end blocks are run in the reverse order of method declaration (for example, if method1 is declared before method2, method2s end declaration will be run before method1s), and for each method they are run in the order in which they are declared.
Note that this is not an object destructor, and no objects of a particular class may still exist when these methods are run.
ignoredefaults
The value corresponding to the ignoredefaults key is an array reference pointing to a list of strings. Each string must corespond to a valid key, and indicates that any in-force defaults for that key are to be ignored. See the section on the special --defaults method for details.
init
The value corresponding to the init key is identical in structure to that corresponding to the end key. The only difference is that the declared methods/code refs are executed as soon as the method is available, rather than during an END block.
once
The value corresponding to the once key is identical in structure to that corresponding to the end key. The values are used when the method is invoked, however.
If the method is invoked on an object based on a hash ref, or on the class itself, and it has not been invoked before on that object or hash ref, the methods and code refs declared by this key are executed one at a time, like this:
$obj->$codeval($name, $isscalar, $argsref[, @args ]);
where $obj is the object or class on which the method is being invoked, $codeval is the method name or code reference supplied, $name is the name of the method, $isscalar is a flag to specify if the declared method itself is being executed in a scalar context, $argsref is a reference to the method arguments (@_, in other words), and @args are any optional arguments in the declaration.
The return value of each method or code reference call is used as the new arguments array for successive iterations or the declared method itself (including the object or class name). Yes, that means that these functions can change the the object or class out from under successive operations.
Any method or code ref returning an empty list will cause further processing for the method to abort, and an empty list or undefined value (as appropriate for the context) will be returned as the declared methods return value.
package
The value coresponding to the package key is a string that determines where the declared method is created (which is the callers package by default, unless modified with a --defaults section). The string __CALLER__ can be used to specify the callers namespace, so constructions like the one in the synopsis can be used to create methods in a namespace based on the calling package namespace.
postcheck
The value coresponding to the postcheck key is identical in structure to that coresponding to the end key. The postcheck operations are run like this:
$obj->$codeval($name, $isscalar, $vref[, @args ]);
where $obj is the underlying object or class, $codeval is the method or code ref from the list, $name is the name of the declared method, $isscalar is the flag specifying if the declared method was called in a scalar context, $vref is an array reference of the currently to-be-returned values, and @args is the optional arguments from the list.
Each method or code reference is expected to return the value(s) it wishes to have returned from the method. Returning a null list does NOT stop processing of later postcheck declarations.
precheck
The precheck phase operates similarly to the once phase, except that its triggered on all method calls (even if the underlying object is not a hash reference or a class name).
Any illegal or unrecognized key will cause a warning, and processing of the affected hashref will stop. This means a --defaults section will be ineffective, or a declared method wont be created.
Download (0.008MB)
Added: 2006-10-18 License: Perl Artistic License Price:
1101 downloads
AspectJS 1.0.0
AspectJS is a Javascript AOP framework. more>>
AspectJS is a Javascript AOP framework.
Using:
Import
You MUST include the following aspect.js Javascript file :
< script src="aspectjs.js" >< /script >
Weaving
In order to weave the aspects, you SHOULD use this method :
Weaver.addAdvice ( aspect_name, aspect_method, joinpoint_type, pointcut_name, pointcut_method);
Todo
improve compatibility with more browser
complete documentation
<<lessUsing:
Import
You MUST include the following aspect.js Javascript file :
< script src="aspectjs.js" >< /script >
Weaving
In order to weave the aspects, you SHOULD use this method :
Weaver.addAdvice ( aspect_name, aspect_method, joinpoint_type, pointcut_name, pointcut_method);
Todo
improve compatibility with more browser
complete documentation
Download (0.004MB)
Added: 2006-02-22 License: LGPL (GNU Lesser General Public License) Price:
1339 downloads
Set::Hash 0.01
Set::Hash is a Perl module with hashes as objects with lots of handy methods and support for method chaining. more>>
Set::Hash is a Perl module with hashes as objects with lots of handy methods (including set comparisons) and support for method chaining.
SYNOPSIS
use Set::Hash;
my $sh1 = Set::Hash->new(name=>"dan",age=>33);
my $sh2 = Set::Hash->new(qw/weight 185 height 72/);
$sh1->length->print; # 2
$sh1->push($sh2); # $sh1 now has weight=>185 and height=>72
$sh1->length->print; # 4
$sh2->values->join(",")->print(1); # 185, 72
Set::Hash allows you to create strings as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.
The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.
Note that Set::Hash is a subclass of Set::Array, although most of the methods of Set::Array have been overloaded, so youll want to check the documentation for what each method does exactly.
<<lessSYNOPSIS
use Set::Hash;
my $sh1 = Set::Hash->new(name=>"dan",age=>33);
my $sh2 = Set::Hash->new(qw/weight 185 height 72/);
$sh1->length->print; # 2
$sh1->push($sh2); # $sh1 now has weight=>185 and height=>72
$sh1->length->print; # 4
$sh2->values->join(",")->print(1); # 185, 72
Set::Hash allows you to create strings as objects and use OO-style methods on them. Many convenient methods are provided here that appear in the FAQs, the Perl Cookbook or posts from comp.lang.perl.misc. In addition, there are Set methods with corresponding (overloaded) operators for the purpose of Set comparison, i.e. +, ==, etc.
The purpose is to provide built-in methods for operations that people are always asking how to do, and which already exist in languages like Ruby. This should (hopefully) improve code readability and/or maintainability. The other advantage to this module is method-chaining by which any number of methods may be called on a single object in a single statement.
Note that Set::Hash is a subclass of Set::Array, although most of the methods of Set::Array have been overloaded, so youll want to check the documentation for what each method does exactly.
Download (0.007MB)
Added: 2006-12-18 License: Perl Artistic License Price:
1040 downloads
Smart Common Input Method platform 1.4.7
Smart Common Input Method platform is a development platform. more>>
Smart Common Input Method platform is a development platform that significantly reduces the difficulty of input method development.
SCIM splits input method into three parts: FrontEnd, which handles user interface and communication with client applications, Server, which handles the key event to string conversion work, and BackEnd, which manages all of the Servers.
Enhancements:
- The implementation of scim::Socket was improved for better error handling.
- A high power consumption issue caused by the X11 frontend was fixed.
<<lessSCIM splits input method into three parts: FrontEnd, which handles user interface and communication with client applications, Server, which handles the key event to string conversion work, and BackEnd, which manages all of the Servers.
Enhancements:
- The implementation of scim::Socket was improved for better error handling.
- A high power consumption issue caused by the X11 frontend was fixed.
Download (2.5MB)
Added: 2007-06-27 License: LGPL (GNU Lesser General Public License) Price:
852 downloads
Class::Inner 0.1
Class::Inner is a perlish implementation of Java like inner classes. more>>
Class::Inner is a perlish implementation of Java like inner classes.
SYNOPSIS
use Class::Inner;
my $object = Class::Inner->new(
parent => ParentClass,
methods => { method => sub { ... } }, },
constructor => new,
args => [@constructor_args],
);
Yet another implementation of an anonymous class with per object overrideable methods, but with the added attraction of sort of working dispatch to the parent classs method.
METHODS
new HASH
Takes a hash like argument list with the following keys.
parent
The name of the parent class. Note that you can only get single inheritance with this or SUPER wont work.
methods
A hash, keys are method names, values are CODEREFs.
constructor
The name of the constructor method. Defaults to new.
args
An anonymous array of arguments to pass to the constructor. Defaults to an empty list.
Returns an object in an anonymous class which inherits from the parent class. This anonymous class has a couple of extra methods:
SUPER
If you were to pass something like
$obj = Class::Inner->new(
parent => Parent,
methods => { method => sub { ...; $self->SUPER::method(@_) } },
);
then $self-gtSUPER::method almost certainly wouldnt do what you expect, so we provide the SUPER method which dispatches to the parent implementation of the current method. There seems to be no good way of getting the full SUPER:: functionality, but Im working on it.
DESTROY
Because Class::Inner works by creating a whole new class name for your object, it could potentially leak memory if you create a lot of them. So we add a DESTROY method that removes the class from the symbol table once its finished with.
If you need to override a parents DESTROY method, adding a call to Class::Inner::clean_symbol_table(ref $self) to it. Do it at the end of the method or your other method calls wont work.
clean_symbol_table
The helper subroutine that DESTROY uses to remove the class from the symbol table.
new_classname
Returns a name for the next anonymous class.
<<lessSYNOPSIS
use Class::Inner;
my $object = Class::Inner->new(
parent => ParentClass,
methods => { method => sub { ... } }, },
constructor => new,
args => [@constructor_args],
);
Yet another implementation of an anonymous class with per object overrideable methods, but with the added attraction of sort of working dispatch to the parent classs method.
METHODS
new HASH
Takes a hash like argument list with the following keys.
parent
The name of the parent class. Note that you can only get single inheritance with this or SUPER wont work.
methods
A hash, keys are method names, values are CODEREFs.
constructor
The name of the constructor method. Defaults to new.
args
An anonymous array of arguments to pass to the constructor. Defaults to an empty list.
Returns an object in an anonymous class which inherits from the parent class. This anonymous class has a couple of extra methods:
SUPER
If you were to pass something like
$obj = Class::Inner->new(
parent => Parent,
methods => { method => sub { ...; $self->SUPER::method(@_) } },
);
then $self-gtSUPER::method almost certainly wouldnt do what you expect, so we provide the SUPER method which dispatches to the parent implementation of the current method. There seems to be no good way of getting the full SUPER:: functionality, but Im working on it.
DESTROY
Because Class::Inner works by creating a whole new class name for your object, it could potentially leak memory if you create a lot of them. So we add a DESTROY method that removes the class from the symbol table once its finished with.
If you need to override a parents DESTROY method, adding a call to Class::Inner::clean_symbol_table(ref $self) to it. Do it at the end of the method or your other method calls wont work.
clean_symbol_table
The helper subroutine that DESTROY uses to remove the class from the symbol table.
new_classname
Returns a name for the next anonymous class.
Download (0.003MB)
Added: 2007-06-06 License: Perl Artistic License Price:
871 downloads
Charon 0.5
Charon aims to make it easy to start reselling Internet access via WiFi access point. more>>
Charon aims to make it easy to start reselling Internet access via WiFi access point.
Charon installs onto a Linksys WiFi access point (or similar Linux device) and manages automatic price and access negotiation with local wireless customers, charging them via the mikolaj.cx settlement/micropayment system.
It will ultimately provide secure and fraud-resistant access by utilizing cash-based settlement, reputation tracking, and PKI-based non-repudiable contracts, to protect both the end-user and the access provider.
Enhancements:
- Cash prepayment support: prospective users can now pay with either cash or a credit card, at the option of the provider.
- Funds are transferred direct into their mikolaj.cx account and can be used at any Charon hotspot.
- Real-time balance query and account transaction history for the provider are now available from the administrative Web pages.
- PayPals Akamaized IP addresses are now detected and added to the firewall at every upstream reconnect, which should make Charons credit card payments usable out of the box anywhere in the world.
<<lessCharon installs onto a Linksys WiFi access point (or similar Linux device) and manages automatic price and access negotiation with local wireless customers, charging them via the mikolaj.cx settlement/micropayment system.
It will ultimately provide secure and fraud-resistant access by utilizing cash-based settlement, reputation tracking, and PKI-based non-repudiable contracts, to protect both the end-user and the access provider.
Enhancements:
- Cash prepayment support: prospective users can now pay with either cash or a credit card, at the option of the provider.
- Funds are transferred direct into their mikolaj.cx account and can be used at any Charon hotspot.
- Real-time balance query and account transaction history for the provider are now available from the administrative Web pages.
- PayPals Akamaized IP addresses are now detected and added to the firewall at every upstream reconnect, which should make Charons credit card payments usable out of the box anywhere in the world.
Download (0.31MB)
Added: 2006-12-27 License: GPL (GNU General Public License) Price:
1034 downloads
jclassinfo 0.19.1
jclassinfo is an information extractor for Java bytecode. more>>
jclassinfo reads java class files and provides information about the class, dependencies and more. It is a pure C implementantion.
Main features:
Class Information
- Java VM version required,
- super class,
- interfaces implemented. --general-info
- Constant pool dump --constant-pool
- Methods --methods
- Fields --fields
- Class attributes --attributes
Dependency Information
- Packages required --packages
- Classes required --classes
- Methods required --methods-ref
Options affecting verbosity
- Disassemble code --disasm
- Print limits and exception table for methods --verbose
- Print debugging information --method-debug-info
- Change visibility --visibility=< public | package | protected | private | synthetic >
<<lessMain features:
Class Information
- Java VM version required,
- super class,
- interfaces implemented. --general-info
- Constant pool dump --constant-pool
- Methods --methods
- Fields --fields
- Class attributes --attributes
Dependency Information
- Packages required --packages
- Classes required --classes
- Methods required --methods-ref
Options affecting verbosity
- Disassemble code --disasm
- Print limits and exception table for methods --verbose
- Print debugging information --method-debug-info
- Change visibility --visibility=< public | package | protected | private | synthetic >
Download (0.026MB)
Added: 2005-03-07 License: GPL (GNU General Public License) Price:
1693 downloads
B::JVM::Jasmin::Emit 0.02
B::JVM::Jasmin::Emit is a package used by B::JVM::Jasmin to emit Jasmin syntaxed file. more>>
B::JVM::Jasmin::Emit is a package used by B::JVM::Jasmin to emit Jasmin syntaxed file.
SYNOPSIS
use B::JVM::Jasmin::Emit;
my $emitter = new B::JVM::Emit(FILEHANDLE);
# ...
$emitter->DIRECTIVE_NAME([@ARGS]);
# ...
$emitter->OPCODE_NAME([@ARGS]);
# ...
$emitter->OPCODE_NAME([@ARGS]);
This class is used emit JVM assembler code in Jasmin syntax. Each method one can use is either an opcode or a directive supported by Jasmin syntax.
B::JVM::Jasmin::Emit Package Variables
$VERSION
Version number of B::JVM::Jasmin::Emit. For now, it should always match the version of B::JVM::Jasmin
@EXPORT_OK
All the methods that one can grab from B::JVM::Jasmin::Emit
@EXPORT
We dont export anything by default.
Modules used by B::JVM::Jasmin::Emit
Carp
Used for error reporting
B::JVM::Utils
Used to get needed utility functions, such as ExtractMethodData and IsValidMethodString
Methods in B::JVM::Jasmin::Emit
B::JVM::Jasmin::Emit::new
usage: B::JVM::Emit::new(FILEHANDLE, [SOURCE_FILE_NAME])
Creates a new object of the class. It assumes that FILEHANDLE is a lexically scoped file handle open for writing, and that SOURCE_FILE_NAME that should be used for a source directive. SOURCE_FILE_NAME is optional, but may annoys someone firing up your code in the Java debugger.
B::JVM::Emit::Jasmin::_clearMethodData()
usage: $jasminEmitter->_clearMethodData()
Clear out the method data elements of the Jasmin emitter
B::JVM::Emit::Jasmin::source
usage: B::JVM::Emit::Jasmin::source(SOURCE_FILE_NAME)
Emits the source file name directive.
B::JVM::Emit::Jasmin::comment
usage: B::JVM::Emit::Jasmin::comment($methodName, $commentString)
Puts $commentString in a comment in the file, in the code for method $metohdName.
B::JVM::Emit::Jasmin::super
usage: B::JVM::Emit::Jasmin::super(CLASS_NAME)
sends class directive, using CLASS_NAME, to the output file
B::JVM::Emit::Jasmin::class
usage: B::JVM::Emit::Jasmin::class(ACCESS_SPEC, CLASS_NAME)
sends class directive, using CLASS_NAME to the ACCESS_SPEC, to the output file
B::JVM::Emit::Jasmin::interface
usage: B::JVM::Emit::Jasmin::interface(ACCESS_SPEC, INTERFACE_NAME)
sends interface directive, using INTERFACE_NAME to the ACCESS_SPEC, to the output file
B::JVM::Emit::Jasmin::implements
usage: B::JVM::Emit::Jasmin::implements(CLASS_NAME)
sends implements directive, using CLASS_NAME to the output file
B::JVM::Emit::Jasmin::labelCreate
usage: $emitter-labelCreate($methodName, $labelNameRequested)>
In method, $methodName, creates a new label, whose name will "resemble" $labelNameRequested. This label is not actually sent to the output, that must be done later with $emitter-labelSend($methodName, $value)>.
Note that the value returned from this method is the actual label name assigned and will only "resemble" (i.e., not match exactly) the $labelNameRequested.
B::JVM::Emit::Jasmin::labelSend
usage: $emitter-labelSend($methodName, $labelName)>
Send a label, $labelName, to the output of method, $methodName.
This label must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::field
usage: B::JVM::Emit::Jasmin::field(ACCESS_SPEC, FIELD_NAME, TYPE, [VALUE])
sends field directive, using the arguments given, to the output file
B::JVM::Emit::Jasmin::methodStart
usage: $emitter->methodStart(METHOD_NAME, ACCESS_SPEC, [STACK_SIZE])
sends method directive and other directives needed to start up a new method. Also sets the current method for the emitter. STACK_SIZE is optional. However, a stack size is always set to a default value (currently 256), because if it is not set, a number of problems occur with the stack.
B::JVM::Emit::Jasmin::methodCreateLocal
usage: $emitter->methodCreateLocal(METHOD_NAME, VARIABLE_NAME_REQUEST, VARIABLE_TYPE, [LABEL1], [LABEL2])
Creates a local of type VARIABLE_TYPE, with a given name in method, METHOD_NAME. If LABEL1 is given, LABEL2 must be given, and vice versa.
If the labels are given, then the variable is only valid between those two labels in the resulting assembler source.
methodCreateLocal attempts to give a variable name that "resembles" VARIABLE_NAME_REQUEST. If the labels are given, it is guaranteed that the variable name will "resemble" the VARIABLE_NAME_REQUEST.
If the labels are not given, it is very likely that an old local variable of the same type will be returned.
The actual variable name given will be returned. It is imperative that the user of methodCreateLocal use this variable name, and not VARIABLE_NAME_REQUEST, for obvious reasons.
B::JVM::Emit::Jasmin::methodFreeLocal
usage: $emitter->methodFreeLocal(METHOD_NAME VARIABLE_NAME)
Indicates that the local, VARIABLE_NAME, in method, METHOD_NAME, is no longer in use. It is not required that locals be freed in this manner, however, many, many locals can be allocated unnecessarily if this is not done.
B::JVM::Emit::Jasmin::methodEnd
usage: $emitter-methodEnd($method, [$debug])>
Finishes up a method, $method, that is currently being emitted. If $debug is defined and is true, then ".line" directives will be put into the output for debugging purposes.
B::JVM::Emit::Jasmin::astore
usage: $emitter->astore([METHOD, VARIABLE])
Emits an "astore" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::invokevirtual
usage: $emitter->invokevirtual(METHOD_IN, METHOD_INVOKED)
Emits an "invokevirtual" instruction to invoke METHOD_INVOKED in the code for METHOD_IN
B::JVM::Emit::Jasmin::ifne
usage: $emitter-ifne($methodName, $labelName)>
Emits an "ifne" instruction with argument, $labelName in the code for method, $methodName.
This label, $labelName must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::ifeq
usage: $emitter-ifeq($methodName, $labelName)>
Emits an "ifeq" instruction with argument, $labelName in the code for method, $methodName.
This label, $labelName must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::aload
usage: $emitter->aload([METHOD, VARIABLE])
Emits an "aload" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::invokestatic
usage: $emitter->invokevirtual(METHOD_IN, METHOD_INVOKED)
Emits an "invokestatic" instruction to invoke METHOD_INVOKED in the code for METHOD_IN
B::JVM::Emit::Jasmin::iconst
usage: $emitter->iconst(METHOD, VALUE)
Emits an "iconst" instruction, using the value of VALUE for the constant, in the method named METHOD.
B::JVM::Emit::Jasmin::istore
usage: $emitter->istore([METHOD, VARIABLE])
Emits an "istore" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::iload
usage: $emitter->iload([METHOD, VARIABLE])
Emits an "iload" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::iand
usage: $emitter->iand([METHOD])
Emits an "iand" instruction, in METHOD given, if one is given.
B::JVM::Emit::Jasmin::pop
usage: $emitter->pop([METHOD])
Emits an "pop" instruction, in METHOD given, if one is given.
B::JVM::Emit::Jasmin::getstatic
usage: $emitter->getstatic(METHOD_IN, FIELD, TYPE)
Emits an "getstatic" instruction for the field, FIELD, of type, TYPE in the code for METHOD_IN
B::JVM::Emit::Jasmin::ldc
usage: $emitter->ldc(METHOD_IN, VALUE)
Emits an "ldc" instruction with the value of VALUE, in the method METHOD_IN.
B::JVM::Emit::Jasmin::newObject
usage: $emitter->newObject(METHOD_IN, CLASS)
Emits an "new" instruction for the class, CLASS in the body for the method, METHOD_IN. CLASS must be a valid class name.
B::JVM::Emit::Jasmin::invokespecial
usage: $emitter->invokespecial(METHOD_IN, METHOD_INVOKED)
Emits an "invokespecial" instruction to invoke METHOD_INVOKED in the code for METHOD_IN
B::JVM::Emit::Jasmin::dup
usage: $emitter-dup($method)>
Emits an "dup" instruction in the code for the method, $method
B::JVM::Emit::Jasmin::swap
usage: $emitter-swap($method)>
Emits an "swap" instruction in the code for the method, $method
B::JVM::Emit::Jasmin::gotoLabel
usage: $emitter-gotoLabel($methodName, $labelName)>
Emits an "goto" instruction with argument, $labelName in the code for method, $methodName.
This label, $labelName must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::returnVoid
usage: $emitter->returnVoid(METHOD_IN)
Emits an "return" instruction in the code for method, METHOD_IN.
B::JVM::Emit::Jasmin::iinc
usage: $emitter-iinc($method, $variable, $amount)>
Emits an "iinc" instruction, using the $variable name in the method, $method. The variable, $variable must have one previously returned from methodCreateLocal($method, ...) that has not been freed with methodFreeLocal($method, ...) yet.
$amount is the integer amount to increment $variable by.
B::JVM::Emit::Jasmin::bipush
usage: $emitter-bipush($method, $value)>
Emits an "bipush" instruction, into the method, $method using the value of $value. Note that an "iconst" or an "iconst_m1" instruction is emitted if the $value is the range where "iconst" will work.
B::JVM::Emit::Jasmin::aastore
usage: $emitter-aastore($method)>
Emits an "aastore" instruction, into the method, $method.
B::JVM::Emit::Jasmin::isub
usage: $emitter-isub($method)>
Emits an "isub" instruction, into the method, $method.
B::JVM::Emit::Jasmin::nop
usage: $emitter-nop($method)>
Emits a "nop" instruction, into the method, $method.
B::JVM::Emit::Jasmin::aaload
usage: $emitter-aaload($method)>
Emits an "aaload" instruction, into the method, $method.
B::JVM::Emit::Jasmin::anewarray
usage: $emitter-anewarray($method, $type)>
Emits an "anewarray" instruction, into the method, $method. The new array will be of type $type. The method will fail if $type is not a valid JVM type identifier.
<<lessSYNOPSIS
use B::JVM::Jasmin::Emit;
my $emitter = new B::JVM::Emit(FILEHANDLE);
# ...
$emitter->DIRECTIVE_NAME([@ARGS]);
# ...
$emitter->OPCODE_NAME([@ARGS]);
# ...
$emitter->OPCODE_NAME([@ARGS]);
This class is used emit JVM assembler code in Jasmin syntax. Each method one can use is either an opcode or a directive supported by Jasmin syntax.
B::JVM::Jasmin::Emit Package Variables
$VERSION
Version number of B::JVM::Jasmin::Emit. For now, it should always match the version of B::JVM::Jasmin
@EXPORT_OK
All the methods that one can grab from B::JVM::Jasmin::Emit
@EXPORT
We dont export anything by default.
Modules used by B::JVM::Jasmin::Emit
Carp
Used for error reporting
B::JVM::Utils
Used to get needed utility functions, such as ExtractMethodData and IsValidMethodString
Methods in B::JVM::Jasmin::Emit
B::JVM::Jasmin::Emit::new
usage: B::JVM::Emit::new(FILEHANDLE, [SOURCE_FILE_NAME])
Creates a new object of the class. It assumes that FILEHANDLE is a lexically scoped file handle open for writing, and that SOURCE_FILE_NAME that should be used for a source directive. SOURCE_FILE_NAME is optional, but may annoys someone firing up your code in the Java debugger.
B::JVM::Emit::Jasmin::_clearMethodData()
usage: $jasminEmitter->_clearMethodData()
Clear out the method data elements of the Jasmin emitter
B::JVM::Emit::Jasmin::source
usage: B::JVM::Emit::Jasmin::source(SOURCE_FILE_NAME)
Emits the source file name directive.
B::JVM::Emit::Jasmin::comment
usage: B::JVM::Emit::Jasmin::comment($methodName, $commentString)
Puts $commentString in a comment in the file, in the code for method $metohdName.
B::JVM::Emit::Jasmin::super
usage: B::JVM::Emit::Jasmin::super(CLASS_NAME)
sends class directive, using CLASS_NAME, to the output file
B::JVM::Emit::Jasmin::class
usage: B::JVM::Emit::Jasmin::class(ACCESS_SPEC, CLASS_NAME)
sends class directive, using CLASS_NAME to the ACCESS_SPEC, to the output file
B::JVM::Emit::Jasmin::interface
usage: B::JVM::Emit::Jasmin::interface(ACCESS_SPEC, INTERFACE_NAME)
sends interface directive, using INTERFACE_NAME to the ACCESS_SPEC, to the output file
B::JVM::Emit::Jasmin::implements
usage: B::JVM::Emit::Jasmin::implements(CLASS_NAME)
sends implements directive, using CLASS_NAME to the output file
B::JVM::Emit::Jasmin::labelCreate
usage: $emitter-labelCreate($methodName, $labelNameRequested)>
In method, $methodName, creates a new label, whose name will "resemble" $labelNameRequested. This label is not actually sent to the output, that must be done later with $emitter-labelSend($methodName, $value)>.
Note that the value returned from this method is the actual label name assigned and will only "resemble" (i.e., not match exactly) the $labelNameRequested.
B::JVM::Emit::Jasmin::labelSend
usage: $emitter-labelSend($methodName, $labelName)>
Send a label, $labelName, to the output of method, $methodName.
This label must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::field
usage: B::JVM::Emit::Jasmin::field(ACCESS_SPEC, FIELD_NAME, TYPE, [VALUE])
sends field directive, using the arguments given, to the output file
B::JVM::Emit::Jasmin::methodStart
usage: $emitter->methodStart(METHOD_NAME, ACCESS_SPEC, [STACK_SIZE])
sends method directive and other directives needed to start up a new method. Also sets the current method for the emitter. STACK_SIZE is optional. However, a stack size is always set to a default value (currently 256), because if it is not set, a number of problems occur with the stack.
B::JVM::Emit::Jasmin::methodCreateLocal
usage: $emitter->methodCreateLocal(METHOD_NAME, VARIABLE_NAME_REQUEST, VARIABLE_TYPE, [LABEL1], [LABEL2])
Creates a local of type VARIABLE_TYPE, with a given name in method, METHOD_NAME. If LABEL1 is given, LABEL2 must be given, and vice versa.
If the labels are given, then the variable is only valid between those two labels in the resulting assembler source.
methodCreateLocal attempts to give a variable name that "resembles" VARIABLE_NAME_REQUEST. If the labels are given, it is guaranteed that the variable name will "resemble" the VARIABLE_NAME_REQUEST.
If the labels are not given, it is very likely that an old local variable of the same type will be returned.
The actual variable name given will be returned. It is imperative that the user of methodCreateLocal use this variable name, and not VARIABLE_NAME_REQUEST, for obvious reasons.
B::JVM::Emit::Jasmin::methodFreeLocal
usage: $emitter->methodFreeLocal(METHOD_NAME VARIABLE_NAME)
Indicates that the local, VARIABLE_NAME, in method, METHOD_NAME, is no longer in use. It is not required that locals be freed in this manner, however, many, many locals can be allocated unnecessarily if this is not done.
B::JVM::Emit::Jasmin::methodEnd
usage: $emitter-methodEnd($method, [$debug])>
Finishes up a method, $method, that is currently being emitted. If $debug is defined and is true, then ".line" directives will be put into the output for debugging purposes.
B::JVM::Emit::Jasmin::astore
usage: $emitter->astore([METHOD, VARIABLE])
Emits an "astore" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::invokevirtual
usage: $emitter->invokevirtual(METHOD_IN, METHOD_INVOKED)
Emits an "invokevirtual" instruction to invoke METHOD_INVOKED in the code for METHOD_IN
B::JVM::Emit::Jasmin::ifne
usage: $emitter-ifne($methodName, $labelName)>
Emits an "ifne" instruction with argument, $labelName in the code for method, $methodName.
This label, $labelName must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::ifeq
usage: $emitter-ifeq($methodName, $labelName)>
Emits an "ifeq" instruction with argument, $labelName in the code for method, $methodName.
This label, $labelName must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::aload
usage: $emitter->aload([METHOD, VARIABLE])
Emits an "aload" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::invokestatic
usage: $emitter->invokevirtual(METHOD_IN, METHOD_INVOKED)
Emits an "invokestatic" instruction to invoke METHOD_INVOKED in the code for METHOD_IN
B::JVM::Emit::Jasmin::iconst
usage: $emitter->iconst(METHOD, VALUE)
Emits an "iconst" instruction, using the value of VALUE for the constant, in the method named METHOD.
B::JVM::Emit::Jasmin::istore
usage: $emitter->istore([METHOD, VARIABLE])
Emits an "istore" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::iload
usage: $emitter->iload([METHOD, VARIABLE])
Emits an "iload" instruction, using the VARIABLE name in METHOD given, if one is given. If VARIABLE is given, it is looked up in variables created with B::JVM::Emit::Jasmin::methodCreateLocal() for the given method, METHOD.
B::JVM::Emit::Jasmin::iand
usage: $emitter->iand([METHOD])
Emits an "iand" instruction, in METHOD given, if one is given.
B::JVM::Emit::Jasmin::pop
usage: $emitter->pop([METHOD])
Emits an "pop" instruction, in METHOD given, if one is given.
B::JVM::Emit::Jasmin::getstatic
usage: $emitter->getstatic(METHOD_IN, FIELD, TYPE)
Emits an "getstatic" instruction for the field, FIELD, of type, TYPE in the code for METHOD_IN
B::JVM::Emit::Jasmin::ldc
usage: $emitter->ldc(METHOD_IN, VALUE)
Emits an "ldc" instruction with the value of VALUE, in the method METHOD_IN.
B::JVM::Emit::Jasmin::newObject
usage: $emitter->newObject(METHOD_IN, CLASS)
Emits an "new" instruction for the class, CLASS in the body for the method, METHOD_IN. CLASS must be a valid class name.
B::JVM::Emit::Jasmin::invokespecial
usage: $emitter->invokespecial(METHOD_IN, METHOD_INVOKED)
Emits an "invokespecial" instruction to invoke METHOD_INVOKED in the code for METHOD_IN
B::JVM::Emit::Jasmin::dup
usage: $emitter-dup($method)>
Emits an "dup" instruction in the code for the method, $method
B::JVM::Emit::Jasmin::swap
usage: $emitter-swap($method)>
Emits an "swap" instruction in the code for the method, $method
B::JVM::Emit::Jasmin::gotoLabel
usage: $emitter-gotoLabel($methodName, $labelName)>
Emits an "goto" instruction with argument, $labelName in the code for method, $methodName.
This label, $labelName must be valid label previously returned from $emitter-labelCreate($methodName, $someValue)>.
B::JVM::Emit::Jasmin::returnVoid
usage: $emitter->returnVoid(METHOD_IN)
Emits an "return" instruction in the code for method, METHOD_IN.
B::JVM::Emit::Jasmin::iinc
usage: $emitter-iinc($method, $variable, $amount)>
Emits an "iinc" instruction, using the $variable name in the method, $method. The variable, $variable must have one previously returned from methodCreateLocal($method, ...) that has not been freed with methodFreeLocal($method, ...) yet.
$amount is the integer amount to increment $variable by.
B::JVM::Emit::Jasmin::bipush
usage: $emitter-bipush($method, $value)>
Emits an "bipush" instruction, into the method, $method using the value of $value. Note that an "iconst" or an "iconst_m1" instruction is emitted if the $value is the range where "iconst" will work.
B::JVM::Emit::Jasmin::aastore
usage: $emitter-aastore($method)>
Emits an "aastore" instruction, into the method, $method.
B::JVM::Emit::Jasmin::isub
usage: $emitter-isub($method)>
Emits an "isub" instruction, into the method, $method.
B::JVM::Emit::Jasmin::nop
usage: $emitter-nop($method)>
Emits a "nop" instruction, into the method, $method.
B::JVM::Emit::Jasmin::aaload
usage: $emitter-aaload($method)>
Emits an "aaload" instruction, into the method, $method.
B::JVM::Emit::Jasmin::anewarray
usage: $emitter-anewarray($method, $type)>
Emits an "anewarray" instruction, into the method, $method. The new array will be of type $type. The method will fail if $type is not a valid JVM type identifier.
Download (0.043MB)
Added: 2007-06-20 License: Perl Artistic License Price:
860 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above cash method search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed