diff --git a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/api/PredefinedTypes.java b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/api/PredefinedTypes.java index a9635fbc87d9..1229d2897e4e 100644 --- a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/api/PredefinedTypes.java +++ b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/api/PredefinedTypes.java @@ -151,6 +151,10 @@ public class PredefinedTypes { TYPE_TEXT)), EMPTY_MODULE); public static final Type TYPE_READONLY_XML = ReadOnlyUtils.setImmutableTypeAndGetEffectiveType(TYPE_XML); + public static final Type XML_TYPE_ELEMENT = new BXmlType(PredefinedTypes.TYPE_ELEMENT, false); + public static final Type XML_TYPE_COMMENT = new BXmlType(PredefinedTypes.TYPE_COMMENT, false); + public static final Type XML_TYPE_PI = new BXmlType(PredefinedTypes.TYPE_PROCESSING_INSTRUCTION, false); + public static final Type XML_TYPE_TEXT = new BXmlType(PredefinedTypes.TYPE_TEXT, false); public static final AnyType TYPE_ANY = new BAnyType(TypeConstants.ANY_TNAME, EMPTY_MODULE, false); public static final AnyType TYPE_READONLY_ANY = new BAnyType(TypeConstants.READONLY_ANY_TNAME, EMPTY_MODULE, true); diff --git a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/XmlSequence.java b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/XmlSequence.java index b3cf96903845..6f57f9a8d26f 100644 --- a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/XmlSequence.java +++ b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/XmlSequence.java @@ -626,16 +626,12 @@ public Object next() { } private Type getSequenceType(Type tempExprType) { - switch (tempExprType.getTag()) { - case TypeTags.XML_ELEMENT_TAG: - return new BXmlType(PredefinedTypes.TYPE_ELEMENT, false); - case TypeTags.XML_COMMENT_TAG: - return new BXmlType(PredefinedTypes.TYPE_COMMENT, false); - case TypeTags.XML_PI_TAG: - return new BXmlType(PredefinedTypes.TYPE_PROCESSING_INSTRUCTION, false); - default: - return new BXmlType(PredefinedTypes.TYPE_TEXT, false); - } + return switch (tempExprType.getTag()) { + case TypeTags.XML_ELEMENT_TAG -> PredefinedTypes.XML_TYPE_ELEMENT; + case TypeTags.XML_COMMENT_TAG -> PredefinedTypes.XML_TYPE_COMMENT; + case TypeTags.XML_PI_TAG -> PredefinedTypes.XML_TYPE_PI; + default -> PredefinedTypes.XML_TYPE_TEXT; + }; } private void initializeIteratorNextReturnType() {