Methods and systems for evaluating bytecode in an on-demand service environment including translation of apex to bytecode
First Claim
Patent Images
1. A method comprising:
- executing, with one or more processors, code conforming to a first programming language in a multitenant environment, the code conforming to the first programming language having a plurality of reference types, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software;
identifying a value type reference from the plurality of reference types;
unboxing the value type;
performing an operation associated with the value type to generate a result;
boxing the result;
generating code conforming to a second programming language comprising at least the boxed result, wherein the code conforming to the second programming language comprises bytecode; and
executing the bytecode within the multitenant environment to provide functionality corresponding to the code conforming to the first programming language.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques and mechanisms for conversion of code of a first type to bytecode. Apex provides various unique characteristics. When converting to bytecode, these characteristics are handled to provide bytecode functionality. Some of the unique characteristics of Apex include Autoboxing, SOQL, Properties, Comparisons, Modifiers, Code coverage mechanisms and Sharing mechanisms.
143 Citations
10 Claims
-
1. A method comprising:
-
executing, with one or more processors, code conforming to a first programming language in a multitenant environment, the code conforming to the first programming language having a plurality of reference types, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software; identifying a value type reference from the plurality of reference types; unboxing the value type; performing an operation associated with the value type to generate a result; boxing the result; generating code conforming to a second programming language comprising at least the boxed result, wherein the code conforming to the second programming language comprises bytecode; and executing the bytecode within the multitenant environment to provide functionality corresponding to the code conforming to the first programming language. - View Dependent Claims (2, 3)
-
-
4. A method comprising:
-
receiving, with one or more processors, code conforming to a first programming language having one or more properties in a multitenant environment, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software; generating a plurality of constructs for each property; tracking each property with a tuple; generating a closure method with the property; invoking the closure method; revoking the closure method; generating a method construct in a code conforming to a second programming language corresponding to the closure method, wherein the code conforming to the second programming language comprises bytecode; and executing the bytecode within the multitenant environment to provide functionality corresponding to the code conforming to the first programming language. - View Dependent Claims (5)
-
-
6. An article comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed, cause one or more processors in a multitenant environment to:
-
execute, with one or more processors, code conforming to a first programming language, the code having a plurality of reference types, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software; identify a value type reference from the plurality of reference types; unbox the value type; perform an operation associated with the value type to generate a result; box the result; and generate code conforming to a second programming language comprising at least the boxed result, wherein the code conforming to the second programming language comprises bytecode; and execute the bytecode within the multitenant environment to provide functionality corresponding to the code conforming to the first programming language. - View Dependent Claims (7, 8)
-
-
9. An article comprising a non-transitory computer-readable medium having stored thereon instructions that, when executed, cause one or more processors in a multitenant environment to:
-
receiving code conforming to a first programming language having one or more properties, wherein the multitenant environment includes data for multiple client entities, each identified by a tenant identifier (ID) having one of one or more users associated with the tenant ID, users of each of multiple client identities can only access data identified by a tenant ID associated with the respective client entity, and the multitenant environment is at least a hosted database provided by an entity separate from the client entities, and provides on-demand database service to the client entities wherein the code conforming to the first programming language comprises on demand platform code capable of running without client-side servers or software; generating a plurality of constructs for each property; tracking each property with a tuple; generating a closure method with the property; invoking the closure method; revoking the closure method; generating a method construct in a code conforming to a second programming language corresponding to the closure method, wherein the code conforming to the second programming language comprises bytecode; and executing the bytecode within the multitenant environment to provide functionality corresponding to the code conforming to the first programming language. - View Dependent Claims (10)
-
Specification