Search in sources :

Example 11 with REG

use of org.wso2.ballerinalang.compiler.codegen.CodeGenerator.VariableIndex.Kind.REG in project ballerina by ballerina-lang.

the class CodeGenerator method createStringLiteral.

/**
 * Creates a string literal expression, generate the code and returns the registry index.
 *
 * @param value    String value to generate the string literal
 * @param regIndex String literal expression's reg index
 * @param env      Environment
 * @return String registry index of the generated string
 */
private RegIndex createStringLiteral(String value, RegIndex regIndex, SymbolEnv env) {
    BLangLiteral prefixLiteral = (BLangLiteral) TreeBuilder.createLiteralExpression();
    prefixLiteral.value = value;
    prefixLiteral.typeTag = TypeTags.STRING;
    prefixLiteral.type = symTable.stringType;
    prefixLiteral.regIndex = regIndex;
    genNode(prefixLiteral, env);
    return prefixLiteral.regIndex;
}
Also used : BLangLiteral(org.wso2.ballerinalang.compiler.tree.expressions.BLangLiteral)

Aggregations

RegIndex (org.wso2.ballerinalang.programfile.Instruction.RegIndex)7 BLangEndpoint (org.wso2.ballerinalang.compiler.tree.BLangEndpoint)4 Operand (org.wso2.ballerinalang.programfile.Instruction.Operand)3 SymbolEnv (org.wso2.ballerinalang.compiler.semantics.model.SymbolEnv)2 BType (org.wso2.ballerinalang.compiler.semantics.model.types.BType)2 BLangStatement (org.wso2.ballerinalang.compiler.tree.statements.BLangStatement)2 IOException (java.io.IOException)1 InputStream (java.io.InputStream)1 ArrayList (java.util.ArrayList)1 Arrays (java.util.Arrays)1 List (java.util.List)1 Map (java.util.Map)1 Entry (java.util.Map.Entry)1 Optional (java.util.Optional)1 Stack (java.util.Stack)1 Collectors (java.util.stream.Collectors)1 XMLConstants (javax.xml.XMLConstants)1 AxisFault (org.apache.axis2.AxisFault)1 Policy (org.apache.neethi.Policy)1 CompilerPhase (org.ballerinalang.compiler.CompilerPhase)1