diff --git a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/TypeChecker.java b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/TypeChecker.java index 0881a70cc5d7..4fa0cde4d6ec 100644 --- a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/TypeChecker.java +++ b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/TypeChecker.java @@ -1152,6 +1152,12 @@ private static boolean checkIsRecordType(BRecordType sourceRecordType, BRecordTy if (!SymbolFlags.isFlagOn(targetField.getFlags(), SymbolFlags.OPTIONAL)) { return false; } + + if (!sourceRecordType.sealed && !checkIsType(sourceRecordType.restFieldType, targetField.getFieldType(), + unresolvedTypes)) { + return false; + } + continue; } @@ -1313,6 +1319,12 @@ private static boolean checkIsRecordType(MapValue sourceRecordValue, BRecordType if (!SymbolFlags.isFlagOn(targetField.getFlags(), SymbolFlags.OPTIONAL)) { return false; } + + if (!sourceRecordType.sealed && !checkIsType(sourceRecordType.restFieldType, targetField.getFieldType(), + unresolvedTypes)) { + return false; + } + continue; } diff --git a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/util/LargeStructureUtils.java b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/util/LargeStructureUtils.java new file mode 100644 index 000000000000..20a86e2b2841 --- /dev/null +++ b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/util/LargeStructureUtils.java @@ -0,0 +1,65 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package io.ballerina.runtime.internal.util; + +import io.ballerina.runtime.api.values.BArray; +import io.ballerina.runtime.api.values.BMap; +import io.ballerina.runtime.api.values.BMapInitialValueEntry; +import io.ballerina.runtime.internal.values.HandleValue; +import io.ballerina.runtime.internal.values.ListInitialValueEntry; +import io.ballerina.runtime.internal.values.MappingInitialValueEntry; + +/** + * Util methods required for handling large arrays, tuples, maps and records. + * + * @since 2201.8.0 + */ +public class LargeStructureUtils { + + private LargeStructureUtils() {} + + public static HandleValue getListInitialValueEntryArray(long size) { + return new HandleValue(new ListInitialValueEntry[(int) size]); + } + + public static void setExpressionEntry(HandleValue arrayList, Object element, long index) { + ListInitialValueEntry[] arr = (ListInitialValueEntry[]) arrayList.getValue(); + arr[(int) index] = new ListInitialValueEntry.ExpressionEntry(element); + } + + public static void setSpreadEntry(HandleValue arrayList, Object element, long index) { + ListInitialValueEntry[] arr = (ListInitialValueEntry[]) arrayList.getValue(); + arr[(int) index] = new ListInitialValueEntry.SpreadEntry((BArray) element); + } + + public static HandleValue getBMapInitialValueEntryArray(long size) { + return new HandleValue(new BMapInitialValueEntry[(int) size]); + } + + public static void setKeyValueEntry(HandleValue arrayList, Object key, Object value, long index) { + BMapInitialValueEntry[] arr = (BMapInitialValueEntry[]) arrayList.getValue(); + arr[(int) index] = new MappingInitialValueEntry.KeyValueEntry(key, value); + } + + public static void setSpreadFieldEntry(HandleValue arrayList, Object spreadFieldEntry, long index) { + BMapInitialValueEntry[] arr = (BMapInitialValueEntry[]) arrayList.getValue(); + arr[(int) index] = new MappingInitialValueEntry.SpreadFieldEntry((BMap) spreadFieldEntry); + } + +} diff --git a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/HandleValue.java b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/HandleValue.java index 4270eca4f67e..f41b50630709 100644 --- a/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/HandleValue.java +++ b/bvm/ballerina-runtime/src/main/java/io/ballerina/runtime/internal/values/HandleValue.java @@ -40,7 +40,6 @@ public class HandleValue implements BHandle, RefValue { private Object value; private BTypedesc typedesc; - @Deprecated public HandleValue(Object value) { this.value = value; } diff --git a/cli/ballerina-cli/build.gradle b/cli/ballerina-cli/build.gradle index 56745ef6f78c..54dc165f9dae 100644 --- a/cli/ballerina-cli/build.gradle +++ b/cli/ballerina-cli/build.gradle @@ -58,6 +58,7 @@ dependencies { implementation group: 'org.ow2.asm', name: 'asm', version: "${project.ow2AsmVersion}" implementation group: 'org.ow2.asm', name: 'asm-commons', version: "${project.ow2AsmCommonsVersion}" implementation group: 'org.ow2.asm', name: 'asm-tree', version: "${project.ow2AsmTreeVersion}" + implementation 'commons-io:commons-io' testImplementation "org.testng:testng:${project.testngVersion}" testImplementation "org.mockito:mockito-core:${project.mockitoCoreVersion}" diff --git a/cli/ballerina-cli/spotbugs-exclude.xml b/cli/ballerina-cli/spotbugs-exclude.xml index 24707ac80612..2984f3595788 100644 --- a/cli/ballerina-cli/spotbugs-exclude.xml +++ b/cli/ballerina-cli/spotbugs-exclude.xml @@ -17,6 +17,14 @@ --> + + + + + + + + diff --git a/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PullCommand.java b/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PullCommand.java index 709d1386336a..c79e48252ade 100644 --- a/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PullCommand.java +++ b/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PullCommand.java @@ -18,28 +18,39 @@ package io.ballerina.cli.cmd; +import com.google.gson.Gson; +import com.google.gson.JsonObject; import io.ballerina.cli.BLauncherCmd; import io.ballerina.projects.ProjectException; import io.ballerina.projects.SemanticVersion; import io.ballerina.projects.Settings; +import io.ballerina.projects.internal.model.Proxy; +import io.ballerina.projects.internal.model.Repository; import io.ballerina.projects.util.ProjectConstants; import io.ballerina.projects.util.ProjectUtils; import org.ballerinalang.central.client.CentralAPIClient; import org.ballerinalang.central.client.CentralClientConstants; import org.ballerinalang.central.client.exceptions.CentralClientException; import org.ballerinalang.central.client.exceptions.PackageAlreadyExistsException; +import org.ballerinalang.maven.bala.client.MavenResolverClient; +import org.ballerinalang.maven.bala.client.MavenResolverClientException; import org.ballerinalang.toml.exceptions.SettingsTomlException; import org.wso2.ballerinalang.compiler.util.Names; import org.wso2.ballerinalang.util.RepoUtils; import picocli.CommandLine; +import java.io.BufferedReader; import java.io.IOException; import java.io.PrintStream; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import static io.ballerina.cli.cmd.Constants.PULL_COMMAND; import static io.ballerina.cli.launcher.LauncherUtils.createLauncherException; +import static io.ballerina.projects.util.ProjectConstants.BALA_EXTENSION; +import static io.ballerina.projects.util.ProjectConstants.PLATFORM; import static io.ballerina.projects.util.ProjectUtils.getAccessTokenOfCLI; import static io.ballerina.projects.util.ProjectUtils.initializeProxy; import static io.ballerina.projects.util.ProjectUtils.validateOrgName; @@ -71,6 +82,9 @@ public class PullCommand implements BLauncherCmd { @CommandLine.Option(names = "--debug", hidden = true) private String debugPort; + @CommandLine.Option(names = "--repository") + private String repositoryName; + public PullCommand() { this.errStream = System.err; this.exitWhenFinish = true; @@ -163,6 +177,77 @@ public void execute() { } } + Settings settings; + try { + settings = RepoUtils.readSettings(); + } catch (SettingsTomlException e) { + settings = Settings.from(); + } + + Repository targetRepository = null; + if (repositoryName != null) { + for (Repository repository : settings.getRepositories()) { + if (repositoryName.equals(repository.id())) { + targetRepository = repository; + break; + } + } + } + + if (targetRepository == null && repositoryName != null) { + String errMsg = "unsupported repository '" + repositoryName + "' found. Only " + + "repositories mentioned in the Settings.toml are supported."; + CommandUtil.printError(this.errStream, errMsg, null, false); + CommandUtil.exitError(this.exitWhenFinish); + return; + } + + if (targetRepository != null) { + MavenResolverClient mavenResolverClient = new MavenResolverClient(); + if (!targetRepository.username().isEmpty() && !targetRepository.password().isEmpty()) { + mavenResolverClient.addRepository(targetRepository.id(), targetRepository.url(), + targetRepository.username(), targetRepository.password()); + } else { + mavenResolverClient.addRepository(targetRepository.id(), targetRepository.url()); + } + Proxy proxy = settings.getProxy(); + mavenResolverClient.setProxy(proxy.host(), proxy.port(), proxy.username(), proxy.password()); + + Path mavenBalaCachePath = RepoUtils.createAndGetHomeReposPath() + .resolve(ProjectConstants.REPOSITORIES_DIR) + .resolve(targetRepository.id()) + .resolve(ProjectConstants.BALA_DIR_NAME); + + try { + Path tmpDownloadDirectory = Files.createTempDirectory("ballerina-" + System.nanoTime()); + mavenResolverClient.pullPackage(orgName, packageName, version, + String.valueOf(tmpDownloadDirectory.toAbsolutePath())); + Path balaDownloadPath = tmpDownloadDirectory.resolve(orgName).resolve(packageName).resolve(version) + .resolve(packageName + "-" + version + BALA_EXTENSION); + Path temporaryExtractionPath = tmpDownloadDirectory.resolve(orgName).resolve(packageName) + .resolve(version).resolve(PLATFORM); + ProjectUtils.extractBala(balaDownloadPath, temporaryExtractionPath); + Path packageJsonPath = temporaryExtractionPath.resolve("package.json"); + try (BufferedReader bufferedReader = Files.newBufferedReader(packageJsonPath, StandardCharsets.UTF_8)) { + JsonObject resultObj = new Gson().fromJson(bufferedReader, JsonObject.class); + String platform = resultObj.get(PLATFORM).getAsString(); + Path actualBalaPath = mavenBalaCachePath.resolve(orgName).resolve(packageName) + .resolve(version).resolve(platform); + org.apache.commons.io.FileUtils.copyDirectory(temporaryExtractionPath.toFile(), + actualBalaPath.toFile()); + } + } catch (MavenResolverClientException e) { + errStream.println("unexpected error occurred while pulling package:" + e.getMessage()); + CommandUtil.exitError(this.exitWhenFinish); + } catch (IOException e) { + throw createLauncherException( + "unexpected error occurred while creating package repository in bala cache: " + e.getMessage()); + } + PrintStream out = System.out; + out.println("Successfully pulled the package from the custom repository."); + return; + } + Path packagePathInBalaCache = ProjectUtils.createAndGetHomeReposPath() .resolve(ProjectConstants.REPOSITORIES_DIR).resolve(ProjectConstants.CENTRAL_REPOSITORY_CACHE_NAME) .resolve(ProjectConstants.BALA_DIR_NAME) @@ -180,14 +265,6 @@ public void execute() { for (int i = 0; i < SUPPORTED_PLATFORMS.length; i++) { String supportedPlatform = SUPPORTED_PLATFORMS[i]; try { - Settings settings; - try { - settings = RepoUtils.readSettings(); - // Ignore Settings.toml diagnostics in the pull command - } catch (SettingsTomlException e) { - // Ignore 'Settings.toml' parsing errors and return empty Settings object - settings = Settings.from(); - } CentralAPIClient client = new CentralAPIClient(RepoUtils.getRemoteRepoURL(), initializeProxy(settings.getProxy()), settings.getProxy().username(), settings.getProxy().password(), getAccessTokenOfCLI(settings)); diff --git a/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PushCommand.java b/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PushCommand.java index 878af7b19f7b..17656c9915aa 100644 --- a/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PushCommand.java +++ b/cli/ballerina-cli/src/main/java/io/ballerina/cli/cmd/PushCommand.java @@ -29,6 +29,8 @@ import io.ballerina.projects.Settings; import io.ballerina.projects.bala.BalaProject; import io.ballerina.projects.directory.BuildProject; +import io.ballerina.projects.internal.model.Proxy; +import io.ballerina.projects.internal.model.Repository; import io.ballerina.projects.repos.TempDirCompilationCache; import io.ballerina.projects.util.ProjectConstants; import io.ballerina.projects.util.ProjectUtils; @@ -36,6 +38,8 @@ import org.ballerinalang.central.client.CentralClientConstants; import org.ballerinalang.central.client.exceptions.CentralClientException; import org.ballerinalang.central.client.exceptions.NoPackageException; +import org.ballerinalang.maven.bala.client.MavenResolverClient; +import org.ballerinalang.maven.bala.client.MavenResolverClientException; import org.ballerinalang.toml.exceptions.SettingsTomlException; import org.wso2.ballerinalang.util.RepoUtils; import picocli.CommandLine; @@ -145,19 +149,33 @@ public void execute() { System.setProperty(CentralClientConstants.ENABLE_OUTPUT_STREAM, "true"); try { + Settings settings = RepoUtils.readSettings(); + // If the repository flag is specified, validate and push to the provided repo if (repositoryName != null) { - if (!repositoryName.equals(ProjectConstants.LOCAL_REPOSITORY_NAME)) { + boolean isCustomRepository = false; + Repository targetRepository = null; + for (Repository repository : settings.getRepositories()) { + if (repositoryName.equals(repository.id())) { + isCustomRepository = true; + targetRepository = repository; + break; + } + } + + if (!repositoryName.equals(ProjectConstants.LOCAL_REPOSITORY_NAME) && !isCustomRepository) { String errMsg = "unsupported repository '" + repositoryName + "' found. Only '" - + ProjectConstants.LOCAL_REPOSITORY_NAME + "' repository is supported."; + + ProjectConstants.LOCAL_REPOSITORY_NAME + + "' repository and repositories mentioned in the Settings.toml are supported."; CommandUtil.printError(this.errStream, errMsg, null, false); CommandUtil.exitError(this.exitWhenFinish); return; } - if (balaPath == null) { + if (balaPath == null && repositoryName.equals(ProjectConstants.LOCAL_REPOSITORY_NAME)) { pushPackage(project); - } else { + return; + } else if (repositoryName.equals(ProjectConstants.LOCAL_REPOSITORY_NAME)) { if (!balaPath.toFile().exists()) { throw new ProjectException("path provided for the bala file does not exist: " + balaPath + "."); } @@ -166,9 +184,34 @@ public void execute() { } validatePackageMdAndBalToml(balaPath); pushBalaToCustomRepo(balaPath); + return; + } + + MavenResolverClient mvnClient = new MavenResolverClient(); + if (!targetRepository.username().isEmpty() && !targetRepository.password().isEmpty()) { + mvnClient.addRepository(targetRepository.id(), targetRepository.url(), targetRepository.username(), + targetRepository.password()); + } else { + mvnClient.addRepository(targetRepository.id(), targetRepository.url()); } + Proxy proxy = settings.getProxy(); + mvnClient.setProxy(proxy.host(), proxy.port(), proxy.username(), proxy.password()); + + if (balaPath == null && isCustomRepository) { + pushPackage(project, mvnClient); + } else if (isCustomRepository) { + if (!balaPath.toFile().exists()) { + throw new ProjectException("path provided for the bala file does not exist: " + balaPath + "."); + } + if (!FileUtils.getExtension(balaPath).equals("bala")) { + throw new ProjectException("file provided is not a bala file: " + balaPath + "."); + } + validatePackageMdAndBalToml(balaPath); + pushBalaToCustomRepo(balaPath, mvnClient); + } + + } else { - Settings settings = RepoUtils.readSettings(); if (settings.diagnostics().hasErrors()) { CommandUtil.printError(this.errStream, settings.getErrorMessage(), null, false); CommandUtil.exitError(this.exitWhenFinish); @@ -226,6 +269,11 @@ private void pushPackage(BuildProject project) { pushBalaToCustomRepo(balaFilePath); } + private void pushPackage(BuildProject project, MavenResolverClient client) { + Path balaFilePath = validateBalaFile(project, this.balaPath); + pushBalaToCustomRepo(balaFilePath, client); + } + private void pushPackage(BuildProject project, CentralAPIClient client) throws CentralClientException { Path balaFilePath = validateBala(project, client, this.balaPath); @@ -402,6 +450,35 @@ private void pushBalaToRemote(Path balaPath, CentralAPIClient client) { } } + private void pushBalaToCustomRepo(Path balaPath, MavenResolverClient client) { + Path balaFileName = balaPath.getFileName(); + if (null != balaFileName) { + ProjectEnvironmentBuilder defaultBuilder = ProjectEnvironmentBuilder.getDefaultBuilder(); + defaultBuilder.addCompilationCacheFactory(TempDirCompilationCache::from); + BalaProject balaProject = BalaProject.loadProject(defaultBuilder, balaPath); + + String org = balaProject.currentPackage().manifest().org().toString(); + String name = balaProject.currentPackage().manifest().name().toString(); + String version = balaProject.currentPackage().manifest().version().toString(); + + try { + Path customRepoPath = Files.createTempDirectory("ballerina-" + System.nanoTime()); + client.pushPackage(balaPath, org, name, version, customRepoPath); + } catch (MavenResolverClientException | IOException e) { + throw new ProjectException(e.getMessage()); + } + + Path relativePathToBalaFile; + if (this.balaPath != null) { + relativePathToBalaFile = balaPath; + } else { + relativePathToBalaFile = userDir.relativize(balaPath); + } + outStream.println("Successfully pushed " + relativePathToBalaFile + + " to '" + repositoryName + "' repository."); + } + } + /** * Check if package already available in the remote. * diff --git a/cli/ballerina-cli/src/main/java/module-info.java b/cli/ballerina-cli/src/main/java/module-info.java index f69f057e7a49..f143d70b0937 100644 --- a/cli/ballerina-cli/src/main/java/module-info.java +++ b/cli/ballerina-cli/src/main/java/module-info.java @@ -21,4 +21,5 @@ requires io.ballerina.toml; requires io.ballerina.identifier; requires org.objectweb.asm; + requires org.apache.commons.io; } diff --git a/cli/ballerina-cli/src/main/resources/cli-help/ballerina-pull.help b/cli/ballerina-cli/src/main/resources/cli-help/ballerina-pull.help index ab90d6af00d3..4376f303962a 100755 --- a/cli/ballerina-cli/src/main/resources/cli-help/ballerina-pull.help +++ b/cli/ballerina-cli/src/main/resources/cli-help/ballerina-pull.help @@ -1,5 +1,6 @@ NAME - ballerina-pull - Fetch packages from Ballerina Central + ballerina-pull - Fetch packages from Ballerina Central or a custom + package repository SYNOPSIS bal pull /[:] @@ -15,6 +16,14 @@ DESCRIPTION Organizations are unique within a repository and can be mapped to an individual user or organization registered with the repository. + To download a package from a custom repository, configure it in the Settings.toml + file and pass the given id with the --repository flag. + +OPTIONS + --repository + Pull a package from a custom repository. + The repository must be configured in the /.ballerina/Settings.toml file. + EXAMPLES Pull the latest version of the 'gmail' connector in the 'wso2' @@ -24,3 +33,7 @@ EXAMPLES Pull the '1.1.0' version of the 'gmail' connector in the 'wso2' organization from Ballerina Central. $ bal pull wso2/gmail:1.1.0 + + Pull the '1.1.0' version of the 'gmail' connector in the 'wso2' + organization from the github package repository defined in the Settings.toml file. + $ bal pull wso2/gmail:1.1.0 --repository=wso2 diff --git a/cli/ballerina-cli/src/main/resources/cli-help/ballerina-push.help b/cli/ballerina-cli/src/main/resources/cli-help/ballerina-push.help index 8530eac09129..d957d5065273 100755 --- a/cli/ballerina-cli/src/main/resources/cli-help/ballerina-push.help +++ b/cli/ballerina-cli/src/main/resources/cli-help/ballerina-push.help @@ -1,6 +1,6 @@ NAME ballerina-push - Push the Ballerina Archive (BALA) of the current package - to Ballerina Central or to the local repository + to a package repository SYNOPSIS bal push [OPTIONS] @@ -8,17 +8,20 @@ SYNOPSIS DESCRIPTION Push the Ballerina archive (.bala) of the current package to Ballerina - Central or to a local repository. Once the package is pushed to Ballerina + Central, local or a custom remote repository. Once the package is pushed to Ballerina Central, it becomes public and sharable and will be permanent. To be able to publish a package to Ballerina Central, you should sign in to Ballerina Central and obtain an access token. + To be able to publish a package to a custom remote repository, it must be defined + in the /.ballerina/Settings.toml file. + OPTIONS --repository Push the BALA of the current package to a custom repository. - Only 'local' is allowed. + Only 'local' and repositories specified in the Settings.toml are allowed. EXAMPLES Push the BALA of the current package to Ballerina Central. diff --git a/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PackCommandTest.java b/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PackCommandTest.java index ca83b0ddeb75..c4ecacbd0b95 100644 --- a/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PackCommandTest.java +++ b/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PackCommandTest.java @@ -155,7 +155,7 @@ public void testPackStandaloneFile() throws IOException { @Test(description = "Pack a package with platform libs") public void testPackageWithPlatformLibs() throws IOException { - Path projectPath = this.testResources.resolve("validProjectWithPlatformLibs"); + Path projectPath = this.testResources.resolve("validGraalvmCompatibleProjectWithPlatformLibs"); System.setProperty("user.dir", projectPath.toString()); PackCommand packCommand = new PackCommand(projectPath, printStream, printStream, false, true); new CommandLine(packCommand).parseArgs(); @@ -168,6 +168,36 @@ public void testPackageWithPlatformLibs() throws IOException { .toFile().exists()); } + @Test(description = "Pack a package with testOnly platform libs") + public void testPackageWithTestOnlyPlatformLibs() throws IOException { + Path projectPath = this.testResources.resolve("projectWithTestOnlyPlatformLibs"); + System.setProperty("user.dir", projectPath.toString()); + PackCommand packCommand = new PackCommand(projectPath, printStream, printStream, false, true); + new CommandLine(packCommand).parseArgs(); + packCommand.execute(); + String buildLog = readOutput(true); + + Assert.assertEquals(buildLog.replaceAll("\r", ""), + getOutput("pack-project-with-test-only-platform-libs.txt")); + Assert.assertTrue(projectPath.resolve("target").resolve("bala").resolve("sameera-myproject-any-0.1.0.bala") + .toFile().exists()); + } + + @Test(description = "Pack a package with ballerina/java imports only in tests") + public void testPackageWithTestOnlyJavaImports() throws IOException { + Path projectPath = this.testResources.resolve("projectWithTestOnlyJavaImports"); + System.setProperty("user.dir", projectPath.toString()); + PackCommand packCommand = new PackCommand(projectPath, printStream, printStream, false, true); + new CommandLine(packCommand).parseArgs(); + packCommand.execute(); + String buildLog = readOutput(true); + + Assert.assertEquals(buildLog.replaceAll("\r", ""), + getOutput("pack-project-with-test-only-platform-libs.txt")); + Assert.assertTrue(projectPath.resolve("target").resolve("bala").resolve("sameera-myproject-any-0.1.0.bala") + .toFile().exists()); + } + @Test(description = "Pack a package with an empty Dependencies.toml") public void testPackageWithEmptyDependenciesToml() throws IOException { Path projectPath = this.testResources.resolve("validProjectWithDependenciesToml"); diff --git a/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PullCommandTest.java b/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PullCommandTest.java index fa4046e456c4..9b5b0f992c8b 100644 --- a/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PullCommandTest.java +++ b/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PullCommandTest.java @@ -18,11 +18,21 @@ package io.ballerina.cli.cmd; +import io.ballerina.projects.Settings; +import io.ballerina.projects.TomlDocument; +import io.ballerina.projects.internal.SettingsBuilder; +import org.ballerinalang.toml.exceptions.SettingsTomlException; +import org.mockito.MockedStatic; +import org.mockito.Mockito; import org.testng.Assert; import org.testng.annotations.Test; +import org.wso2.ballerinalang.util.RepoUtils; import picocli.CommandLine; import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; /** * Pull command tests. @@ -135,4 +145,64 @@ public void testPullCommandWithHelp() throws IOException { Assert.assertTrue(readOutput().contains("ballerina-pull - Fetch packages from Ballerina Central")); } + + @Test(description = "Pull a package from custom remote repository") + public void testPullCustom() throws SettingsTomlException { + + Path customrRepoPath = Paths.get("src", "test", "resources", "test-resources", "custom-repo", + "repositories", "repo-push-pull"); + Path settingsTomlPath = Paths.get("src", "test", "resources", "test-resources", "custom-repo", + "Settings.toml"); + Path mockBallerinaHome = Paths.get("build").resolve("ballerina-home"); + + PullCommand pullCommand = new PullCommand(printStream, false); + new CommandLine(pullCommand).parse("luheerathan/pact1:0.1.0", "--repository=repo-push-pull"); + try (MockedStatic repoUtils = Mockito.mockStatic(RepoUtils.class, Mockito.CALLS_REAL_METHODS)) { + repoUtils.when(RepoUtils::createAndGetHomeReposPath).thenReturn(mockBallerinaHome); + repoUtils.when(RepoUtils::readSettings).thenReturn(readMockSettings(settingsTomlPath, + customrRepoPath.toAbsolutePath().toString())); + pullCommand.execute(); + } + Path pulledCacheDir = mockBallerinaHome.resolve("repositories").resolve("repo-push-pull") + .resolve("bala").resolve("luheerathan").resolve("pact1").resolve("0.1.0"); + Assert.assertTrue(Files.exists(pulledCacheDir.resolve("any"))); + } + + @Test(description = "Pull a package from custom remote repository(not exist in Settings.toml)") + public void testPullNonExistingCustom() throws SettingsTomlException, IOException { + + Path customrRepoPath = Paths.get("src", "test", "resources", "test-resources", "custom-repo", + "repositories", "repo-push-pull"); + Path settingsTomlPath = Paths.get("src", "test", "resources", "test-resources", "custom-repo", + "Settings.toml"); + Path mockBallerinaHome = Paths.get("build").resolve("ballerina-home"); + + PullCommand pullCommand = new PullCommand(printStream, false); + new CommandLine(pullCommand).parse("luheerathan/pact1:0.1.0", "--repository=repo-push-pul"); + try (MockedStatic repoUtils = Mockito.mockStatic(RepoUtils.class, Mockito.CALLS_REAL_METHODS)) { + repoUtils.when(RepoUtils::createAndGetHomeReposPath).thenReturn(mockBallerinaHome); + repoUtils.when(RepoUtils::readSettings).thenReturn(readMockSettings(settingsTomlPath, + customrRepoPath.toAbsolutePath().toString())); + pullCommand.execute(); + } + String buildLog = readOutput(true); + String actual = buildLog.replaceAll("\r", ""); + Assert.assertTrue(actual.contains("ballerina: unsupported repository 'repo-push-pul' found. " + + "Only repositories mentioned in the Settings.toml are supported.\n")); + } + + private static Settings readMockSettings(Path settingsFilePath, String repoPath) throws SettingsTomlException { + try { + String settingString = Files.readString(settingsFilePath); + settingString = settingString.replaceAll("REPO_PATH", repoPath); + TomlDocument settingsTomlDocument = TomlDocument + .from(String.valueOf(settingsFilePath.getFileName()), settingString); + SettingsBuilder settingsBuilder = SettingsBuilder.from(settingsTomlDocument); + return settingsBuilder.settings(); + } catch (IOException e) { + return Settings.from(); + } + } + + } diff --git a/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PushCommandTest.java b/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PushCommandTest.java index 1a32dceb3947..7227393ee132 100644 --- a/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PushCommandTest.java +++ b/cli/ballerina-cli/src/test/java/io/ballerina/cli/cmd/PushCommandTest.java @@ -19,9 +19,13 @@ package io.ballerina.cli.cmd; import io.ballerina.projects.ProjectException; +import io.ballerina.projects.Settings; +import io.ballerina.projects.TomlDocument; import io.ballerina.projects.internal.ProjectFiles; +import io.ballerina.projects.internal.SettingsBuilder; import io.ballerina.projects.util.ProjectConstants; import org.apache.commons.io.FileUtils; +import org.ballerinalang.toml.exceptions.SettingsTomlException; import org.mockito.MockedStatic; import org.mockito.Mockito; import org.testng.Assert; @@ -39,6 +43,7 @@ import java.util.Objects; import static io.ballerina.cli.cmd.CommandOutputUtils.getOutput; +import static io.ballerina.projects.util.ProjectConstants.BALA_EXTENSION; /** * Push command tests. @@ -49,6 +54,7 @@ public class PushCommandTest extends BaseCommandTest { private static final String VALID_PROJECT = "validApplicationProject"; + private static final String POM_EXTENSION = ".pom"; private Path testResources; @BeforeClass @@ -79,6 +85,72 @@ public void testPushWithInvalidPath() throws IOException { Assert.assertTrue(actual.contains(expected)); } + @Test (description = "Push a package to a custom remote repository") + public void testPushPackageCustom() throws IOException, SettingsTomlException { + String org = "luheerathan"; + String packageName = "pact1"; + String version = "0.1.0"; + String expected = "Successfully pushed src/test/resources/test-resources/custom-repo/" + + "luheerathan-pact1-any-0.1.0.bala to 'repo-push-pull' repository.\n"; + + Path mockRepo = Paths.get("build").resolve("ballerina-home").resolve("repositories").resolve("repo-push-pull"); + Path balaPath = Paths.get("src", "test", "resources", "test-resources", "custom-repo", + "luheerathan-pact1-any-0.1.0.bala"); + PushCommand pushCommand = new PushCommand(null, printStream, printStream, false, balaPath); + String[] args = { "--repository=repo-push-pull" }; + new CommandLine(pushCommand).parse(args); + try (MockedStatic repoUtils = Mockito.mockStatic(RepoUtils.class, Mockito.CALLS_REAL_METHODS)) { + repoUtils.when(RepoUtils::readSettings).thenReturn(readSettings(testResources.resolve("custom-repo") + .resolve("Settings.toml"), mockRepo.toAbsolutePath().toString())); + pushCommand.execute(); + } + String buildLog = readOutput(true); + String actual = buildLog.replaceAll("\r", ""); + Assert.assertEquals(actual, expected); + String artifact = packageName + "-" + version + BALA_EXTENSION; + String pomFile = packageName + "-" + version + POM_EXTENSION; + String pushPullPath = mockRepo.resolve(org).resolve(packageName).resolve(version).toAbsolutePath().toString(); + for (String ext : new String[]{".sha1", ".md5", ""}) { + Assert.assertTrue(Paths.get(pushPullPath, artifact + ext).toFile().exists()); + Assert.assertTrue(Paths.get(pushPullPath, pomFile + ext).toFile().exists()); + } + } + + @Test (description = "Push a package to a custom remote repository(not exist in Settings.toml)") + public void testPushPackageNonExistingCustom() throws IOException, SettingsTomlException { + String expected = "ballerina: unsupported repository 'repo-push-pul' found. " + + "Only 'local' repository and repositories mentioned in the Settings.toml are supported.\n"; + + Path mockRepo = Paths.get("build").resolve("ballerina-home").resolve("repositories").resolve("repo-push-pull"); + Path balaPath = Paths.get("src", "test", "resources", "test-resources", "custom-repo", + "luheerathan-pact1-any-0.1.0.bala"); + PushCommand pushCommand = new PushCommand(null, printStream, printStream, false, balaPath); + String[] args = { "--repository=repo-push-pul" }; + new CommandLine(pushCommand).parse(args); + try (MockedStatic repoUtils = Mockito.mockStatic(RepoUtils.class, Mockito.CALLS_REAL_METHODS)) { + repoUtils.when(RepoUtils::readSettings).thenReturn(readSettings(testResources.resolve("custom-repo") + .resolve("Settings.toml"), mockRepo.toAbsolutePath().toString())); + pushCommand.execute(); + } + String buildLog = readOutput(true); + String actual = buildLog.replaceAll("\r", ""); + Assert.assertEquals(actual, expected); + } + + private static Settings readSettings(Path settingsFilePath, String repoPath) throws SettingsTomlException { + try { + String settingString = Files.readString(settingsFilePath); + settingString = settingString.replaceAll("REPO_PATH", repoPath); + TomlDocument settingsTomlDocument = TomlDocument + .from(String.valueOf(settingsFilePath.getFileName()), settingString); + SettingsBuilder settingsBuilder = SettingsBuilder.from(settingsTomlDocument); + return settingsBuilder.settings(); + } catch (IOException e) { + return Settings.from(); + } + } + + @Test(description = "Push package with invalid file extension") public void testPushWithInvalidFileExtension() throws IOException { Path validBalProject = this.testResources.resolve(VALID_PROJECT); diff --git a/cli/ballerina-cli/src/test/resources/test-resources/command-outputs/unix/pack-project-with-test-only-platform-libs.txt b/cli/ballerina-cli/src/test/resources/test-resources/command-outputs/unix/pack-project-with-test-only-platform-libs.txt new file mode 100644 index 000000000000..148ecc02a89f --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/command-outputs/unix/pack-project-with-test-only-platform-libs.txt @@ -0,0 +1,5 @@ +Compiling source + sameera/myproject:0.1.0 + +Creating bala + target/bala/sameera-myproject-any-0.1.0.bala diff --git a/cli/ballerina-cli/src/test/resources/test-resources/command-outputs/windows/pack-project-with-test-only-platform-libs.txt b/cli/ballerina-cli/src/test/resources/test-resources/command-outputs/windows/pack-project-with-test-only-platform-libs.txt new file mode 100644 index 000000000000..dc5fb4710995 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/command-outputs/windows/pack-project-with-test-only-platform-libs.txt @@ -0,0 +1,5 @@ +Compiling source + sameera/myproject:0.1.0 + +Creating bala + target\bala\sameera-myproject-any-0.1.0.bala diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/Settings.toml b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/Settings.toml new file mode 100644 index 000000000000..9d4a2bf01805 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/Settings.toml @@ -0,0 +1,3 @@ +[[repository.file-system]] +id = "repo-push-pull" +url = "file:REPO_PATH" diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/luheerathan-pact1-any-0.1.0.bala b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/luheerathan-pact1-any-0.1.0.bala new file mode 100644 index 000000000000..95b924e2d5f1 Binary files /dev/null and b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/luheerathan-pact1-any-0.1.0.bala differ diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala new file mode 100644 index 000000000000..95b924e2d5f1 Binary files /dev/null and b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala differ diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala.md5 b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala.md5 new file mode 100644 index 000000000000..581fd92b3200 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala.md5 @@ -0,0 +1 @@ +aad6cdd91635dde0f80e5cc84880986f \ No newline at end of file diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala.sha1 b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala.sha1 new file mode 100644 index 000000000000..0e79cdc32299 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.bala.sha1 @@ -0,0 +1 @@ +db0525d3b2c7d2bfc2bc7f53c1a9e8aff69efa9f \ No newline at end of file diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom new file mode 100644 index 000000000000..2a7aa8f4ed58 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom @@ -0,0 +1,9 @@ + + + 4.0.0 + luheerathan + pact1 + 0.1.0 + bala + diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom.md5 b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom.md5 new file mode 100644 index 000000000000..78c317a2cb4f --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom.md5 @@ -0,0 +1 @@ +4a69080241f32e5f17c3102c4076b1e5 \ No newline at end of file diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom.sha1 b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom.sha1 new file mode 100644 index 000000000000..22aa7899a87f --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/0.1.0/pact1-0.1.0.pom.sha1 @@ -0,0 +1 @@ +500f022aab33922b28c09f817529d8877bed6e3e \ No newline at end of file diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml new file mode 100644 index 000000000000..073df3fa9af2 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml @@ -0,0 +1,12 @@ + + + luheerathan + pact1 + + 0.1.0 + + 0.1.0 + + 20230807233920 + + diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml.md5 b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml.md5 new file mode 100644 index 000000000000..3971f08b51a1 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml.md5 @@ -0,0 +1 @@ +b3c6ef31e998999ab09f5d092814e86d \ No newline at end of file diff --git a/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml.sha1 b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml.sha1 new file mode 100644 index 000000000000..4052fbe631dd --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/custom-repo/repositories/repo-push-pull/luheerathan/pact1/maven-metadata.xml.sha1 @@ -0,0 +1 @@ +8e46df60cffb03af3d5865b4872d0aff843bdf8c \ No newline at end of file diff --git a/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/Ballerina.toml b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/Ballerina.toml new file mode 100644 index 000000000000..ddd92c145ec2 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/Ballerina.toml @@ -0,0 +1,4 @@ +[package] +org = "sameera" +name = "myproject" +version = "0.1.0" diff --git a/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/main.bal b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/main.bal new file mode 100644 index 000000000000..6d0ccb5ba65d --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/main.bal @@ -0,0 +1,3 @@ + +public function main() { +} diff --git a/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/tests/main-test.bal b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/tests/main-test.bal new file mode 100644 index 000000000000..d78cad6b3fbd --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyJavaImports/tests/main-test.bal @@ -0,0 +1,7 @@ +import ballerina/jballerina.java; + +public function printInternal(handle receiver, handle strValue) = @java:Method { + name: "println", + 'class: "java/io/PrintStream", + paramTypes: ["java.lang.String"] +} external; diff --git a/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/Ballerina.toml b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/Ballerina.toml new file mode 100644 index 000000000000..57ae06ab859f --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/Ballerina.toml @@ -0,0 +1,12 @@ +[package] +org = "sameera" +name = "myproject" +version = "0.1.0" + +[platform.java11] +graalvmCompatible = true + +[[platform.java11.dependency]] +path = "./libs/one-1.0.0.jar" +scope = "testOnly" +graalvmCompatible = true diff --git a/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/libs/one-1.0.0.jar b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/libs/one-1.0.0.jar new file mode 100644 index 000000000000..d22013058e3d Binary files /dev/null and b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/libs/one-1.0.0.jar differ diff --git a/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/main.bal b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/main.bal new file mode 100644 index 000000000000..6d0ccb5ba65d --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/projectWithTestOnlyPlatformLibs/main.bal @@ -0,0 +1,3 @@ + +public function main() { +} diff --git a/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/Ballerina.toml b/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/Ballerina.toml new file mode 100644 index 000000000000..40fe374f5b69 --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/Ballerina.toml @@ -0,0 +1,10 @@ +[package] +org = "sameera" +name = "myproject" +version = "0.1.0" + +[platform.java11] +graalvmCompatible = true + +[[platform.java11.dependency]] +path = "./libs/one-1.0.0.jar" diff --git a/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/libs/one-1.0.0.jar b/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/libs/one-1.0.0.jar new file mode 100644 index 000000000000..d22013058e3d Binary files /dev/null and b/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/libs/one-1.0.0.jar differ diff --git a/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/main.bal b/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/main.bal new file mode 100644 index 000000000000..6d0ccb5ba65d --- /dev/null +++ b/cli/ballerina-cli/src/test/resources/test-resources/validGraalvmCompatibleProjectWithPlatformLibs/main.bal @@ -0,0 +1,3 @@ + +public function main() { +} diff --git a/compiler/ballerina-lang/spotbugs-exclude.xml b/compiler/ballerina-lang/spotbugs-exclude.xml index 88d5c79604e3..d5caf3014afa 100644 --- a/compiler/ballerina-lang/spotbugs-exclude.xml +++ b/compiler/ballerina-lang/spotbugs-exclude.xml @@ -16,6 +16,10 @@ ~ under the License. --> + + + + diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/BaseVisitor.java b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/BaseVisitor.java index 2ad2290ef2db..212dca7bf91b 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/BaseVisitor.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/BaseVisitor.java @@ -134,6 +134,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -188,7 +189,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -559,7 +559,7 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { } @Override diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/NodeFinder.java b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/NodeFinder.java index 0ccdceef4c29..988e496b3467 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/NodeFinder.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/NodeFinder.java @@ -130,6 +130,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -181,7 +182,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangConstrainedType; @@ -579,9 +579,9 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - lookupNode(workerSendNode.expr); - setEnclosingNode(workerSendNode, workerSendNode.workerIdentifier.pos); + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + lookupNode(asyncSendExpr.expr); + setEnclosingNode(asyncSendExpr, asyncSendExpr.workerIdentifier.pos); } @Override diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/ReferenceFinder.java b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/ReferenceFinder.java index 9b1d2d7d7f09..a09259130c14 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/ReferenceFinder.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/ReferenceFinder.java @@ -136,6 +136,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -188,7 +189,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangConstrainedType; @@ -753,9 +753,9 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - find(workerSendNode.expr); - addIfSameSymbol(workerSendNode.workerSymbol, workerSendNode.workerIdentifier.pos); + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + find(asyncSendExpr.expr); + addIfSameSymbol(asyncSendExpr.workerSymbol, asyncSendExpr.workerIdentifier.pos); } @Override diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/SymbolFinder.java b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/SymbolFinder.java index 8ce6e021a580..fb58a6bfd519 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/SymbolFinder.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/compiler/api/impl/SymbolFinder.java @@ -147,6 +147,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -200,7 +201,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -798,12 +798,12 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - if (setEnclosingNode(workerSendNode.workerSymbol, workerSendNode.workerIdentifier.pos)) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + if (setEnclosingNode(asyncSendExpr.workerSymbol, asyncSendExpr.workerIdentifier.pos)) { return; } - lookupNode(workerSendNode.expr); + lookupNode(asyncSendExpr.expr); } @Override diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/JBallerinaBalaWriter.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/JBallerinaBalaWriter.java index 5711753d16ee..7a9ed8d330df 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/JBallerinaBalaWriter.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/JBallerinaBalaWriter.java @@ -39,6 +39,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.zip.ZipOutputStream; @@ -227,15 +228,18 @@ private CompilerBackend.TargetPlatform getTargetPlatform(PackageResolution pkgRe // 1) Check direct dependencies of imports in the package have any `ballerina/java` dependency for (ResolvedPackageDependency dependency : resolvedPackageDependencies) { if (dependency.packageInstance().packageOrg().value().equals(Names.BALLERINA_ORG.value) && - dependency.packageInstance().packageName().value().equals(Names.JAVA.value)) { + dependency.packageInstance().packageName().value().equals(Names.JAVA.value) && + !dependency.scope().equals(PackageDependencyScope.TEST_ONLY)) { return this.backend.targetPlatform(); } } // 2) Check package has defined any platform dependency PackageManifest manifest = this.packageContext.project().currentPackage().manifest(); - if (manifest.platform(this.backend.targetPlatform().code()) != null && - !manifest.platform(this.backend.targetPlatform().code()).dependencies().isEmpty()) { + PackageManifest.Platform manifestPlatform = manifest.platform(this.backend.targetPlatform().code()); + if (manifestPlatform != null && + !manifestPlatform.dependencies().isEmpty() && + !isPlatformDependenciesTestOnly(manifestPlatform.dependencies())) { return this.backend.targetPlatform(); } @@ -263,4 +267,13 @@ private Optional readBalToolToml() { } return Optional.empty(); } + + private boolean isPlatformDependenciesTestOnly(List> dependencies) { + for (Map dependency : dependencies) { + if (null == dependency.get("scope") || dependency.get("scope").equals("default")) { + return false; + } + } + return true; + } } diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/PackageResolution.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/PackageResolution.java index 4254cec765ac..880784353517 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/PackageResolution.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/PackageResolution.java @@ -38,7 +38,9 @@ import io.ballerina.projects.internal.ResolutionEngine; import io.ballerina.projects.internal.ResolutionEngine.DependencyNode; import io.ballerina.projects.internal.model.BuildJson; +import io.ballerina.projects.internal.repositories.CustomPkgRepositoryContainer; import io.ballerina.projects.internal.repositories.LocalPackageRepository; +import io.ballerina.projects.internal.repositories.MavenPackageRepository; import io.ballerina.tools.diagnostics.Diagnostic; import io.ballerina.tools.diagnostics.DiagnosticFactory; import io.ballerina.tools.diagnostics.DiagnosticInfo; @@ -57,6 +59,7 @@ import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; @@ -92,7 +95,8 @@ private PackageResolution(PackageContext rootPackageContext, CompilationOptions this.resolutionOptions = getResolutionOptions(rootPackageContext, compilationOptions); ProjectEnvironment projectEnvContext = rootPackageContext.project().projectEnvironmentContext(); this.packageResolver = projectEnvContext.getService(PackageResolver.class); - this.blendedManifest = createBlendedManifest(rootPackageContext, projectEnvContext); + this.blendedManifest = createBlendedManifest(rootPackageContext, projectEnvContext, + this.resolutionOptions.offline()); diagnosticList.addAll(this.blendedManifest.diagnosticResult().allDiagnostics); this.moduleResolver = createModuleResolver(rootPackageContext, projectEnvContext); @@ -478,10 +482,12 @@ private ModuleResolver createModuleResolver(PackageContext rootPackageContext, } private BlendedManifest createBlendedManifest(PackageContext rootPackageContext, - ProjectEnvironment projectEnvContext) { + ProjectEnvironment projectEnvContext, boolean offline) { + Map customPackageRepositoryMap = + projectEnvContext.getService(CustomPkgRepositoryContainer.class).getCustomPackageRepositories(); return BlendedManifest.from(rootPackageContext.dependencyManifest(), rootPackageContext.packageManifest(), - projectEnvContext.getService(LocalPackageRepository.class)); + projectEnvContext.getService(LocalPackageRepository.class), customPackageRepositoryMap, offline); } private ResolutionOptions getResolutionOptions(PackageContext rootPackageContext, diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Settings.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Settings.java index b93a3507d24c..8ce563094bf0 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Settings.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/Settings.java @@ -20,6 +20,7 @@ import io.ballerina.projects.internal.DefaultDiagnosticResult; import io.ballerina.projects.internal.model.Central; import io.ballerina.projects.internal.model.Proxy; +import io.ballerina.projects.internal.model.Repository; import io.ballerina.tools.diagnostics.Diagnostic; import io.ballerina.tools.text.LinePosition; import io.ballerina.tools.text.LineRange; @@ -34,20 +35,22 @@ public class Settings { private final Proxy proxy; private final Central central; + private final Repository[] repositories; private final DiagnosticResult diagnostics; - private Settings(Proxy proxy, Central central, DiagnosticResult diagnostics) { + private Settings(Proxy proxy, Central central, DiagnosticResult diagnostics, Repository[] repositories) { this.proxy = proxy; this.central = central; this.diagnostics = diagnostics; + this.repositories = repositories; } - public static Settings from(Proxy proxy, Central central, DiagnosticResult diagnostics) { - return new Settings(proxy, central, diagnostics); + public static Settings from(Proxy proxy, Central central, DiagnosticResult diagnostics, Repository[] repositories) { + return new Settings(proxy, central, diagnostics, repositories); } public static Settings from() { - return new Settings(Proxy.from(), Central.from(), new DefaultDiagnosticResult(Collections.emptyList())); + return new Settings(Proxy.from(), Central.from(), new DefaultDiagnosticResult(Collections.emptyList()), null); } public Proxy getProxy() { @@ -62,6 +65,13 @@ public DiagnosticResult diagnostics() { return diagnostics; } + public Repository[] getRepositories() { + if (repositories == null) { + return new Repository[0]; + } + return repositories; + } + public String getErrorMessage() { StringBuilder message = new StringBuilder(); message.append("Settings.toml contains errors\n"); diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/environment/EnvironmentBuilder.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/environment/EnvironmentBuilder.java index 0c224b479b7e..2386fe10f8e6 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/environment/EnvironmentBuilder.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/environment/EnvironmentBuilder.java @@ -22,12 +22,15 @@ import io.ballerina.projects.internal.environment.DefaultEnvironment; import io.ballerina.projects.internal.environment.DefaultPackageResolver; import io.ballerina.projects.internal.environment.EnvironmentPackageCache; +import io.ballerina.projects.internal.repositories.CustomPkgRepositoryContainer; import io.ballerina.projects.internal.repositories.LocalPackageRepository; import org.ballerinalang.compiler.CompilerPhase; import org.wso2.ballerinalang.compiler.util.CompilerContext; import org.wso2.ballerinalang.compiler.util.CompilerOptions; import java.nio.file.Path; +import java.util.Map; +import java.util.stream.Collectors; import static org.ballerinalang.compiler.CompilerOptionName.COMPILER_PHASE; import static org.ballerinalang.compiler.CompilerOptionName.PROJECT_API_INITIATED_COMPILATION; @@ -80,9 +83,14 @@ public Environment build() { BallerinaUserHome ballerinaUserHome = getBallerinaUserHome(environment); PackageRepository ballerinaCentralRepo = ballerinaUserHome.remotePackageRepository(); environment.addService(LocalPackageRepository.class, ballerinaUserHome.localPackageRepository()); + environment.addService(CustomPkgRepositoryContainer.class, ballerinaUserHome.customPkgRepositoryContainer()); + + Map customRepositories = ballerinaUserHome.customRepositories().entrySet().stream() + .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); PackageResolver packageResolver = new DefaultPackageResolver(distributionRepository, - ballerinaCentralRepo, ballerinaUserHome.localPackageRepository(), packageCache); + ballerinaCentralRepo, ballerinaUserHome.localPackageRepository(), + customRepositories, packageCache); environment.addService(PackageResolver.class, packageResolver); CompilerContext compilerContext = populateCompilerContext(); diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/BlendedManifest.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/BlendedManifest.java index 0797814e8807..7cb06b7c2dd1 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/BlendedManifest.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/BlendedManifest.java @@ -26,6 +26,7 @@ import io.ballerina.projects.PackageVersion; import io.ballerina.projects.SemanticVersion.VersionCompatibilityResult; import io.ballerina.projects.internal.repositories.AbstractPackageRepository; +import io.ballerina.projects.internal.repositories.MavenPackageRepository; import io.ballerina.projects.util.ProjectConstants; import io.ballerina.projects.util.ProjectUtils; import io.ballerina.tools.diagnostics.Diagnostic; @@ -35,6 +36,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; @@ -50,6 +52,9 @@ public class BlendedManifest { private final PackageContainer depContainer; private final DiagnosticResult diagnosticResult; + private static final Repository REPOSITORY_LOCAL = new Repository("local"); + private static final Repository REPOSITORY_NOT_SPECIFIED = new Repository("not_specified"); + private BlendedManifest(PackageContainer pkgContainer, DiagnosticResult diagnosticResult) { this.depContainer = pkgContainer; this.diagnosticResult = diagnosticResult; @@ -57,7 +62,9 @@ private BlendedManifest(PackageContainer pkgContainer, DiagnosticRes public static BlendedManifest from(DependencyManifest dependencyManifest, PackageManifest packageManifest, - AbstractPackageRepository localPackageRepository) { + AbstractPackageRepository localPackageRepository, + Map mavenPackageRepositoryMap, + boolean offline) { List diagnostics = new ArrayList<>(); PackageContainer depContainer = new PackageContainer<>(); for (DependencyManifest.Package pkgInDepManifest : dependencyManifest.packages()) { @@ -67,21 +74,34 @@ public static BlendedManifest from(DependencyManifest dependencyManifest, BUILTIN_PACKAGE_VERSION : pkgInDepManifest.version(); depContainer.add(pkgOrg, pkgName, new Dependency(pkgOrg, pkgName, pkgVersion, getRelation(pkgInDepManifest.isTransitive()), - Repository.NOT_SPECIFIED, moduleNames(pkgInDepManifest), DependencyOrigin.LOCKED)); + REPOSITORY_NOT_SPECIFIED, moduleNames(pkgInDepManifest), DependencyOrigin.LOCKED)); } for (PackageManifest.Dependency depInPkgManifest : packageManifest.dependencies()) { + AbstractPackageRepository targetRepository = localPackageRepository; Optional existingDepOptional = depContainer.get( depInPkgManifest.org(), depInPkgManifest.name()); Repository depInPkgManifestRepo = depInPkgManifest.repository() != null && depInPkgManifest.repository().equals(ProjectConstants.LOCAL_REPOSITORY_NAME) ? - Repository.LOCAL : Repository.NOT_SPECIFIED; + REPOSITORY_LOCAL : new Repository(depInPkgManifest.repository()); if (depInPkgManifest.repository() != null) { - if (!depInPkgManifest.repository().equals(ProjectConstants.LOCAL_REPOSITORY_NAME)) { + if (!depInPkgManifest.repository().equals(ProjectConstants.LOCAL_REPOSITORY_NAME) && + !mavenPackageRepositoryMap.containsKey(depInPkgManifest.repository())) { + var diagnosticInfo = new DiagnosticInfo( + ProjectDiagnosticErrorCode.CUSTOM_REPOSITORY_NOT_FOUND.diagnosticId(), + "Provided custom repository (" + depInPkgManifest.repository() + + ") cannot be found in the Settings.toml. ", + DiagnosticSeverity.WARNING); + PackageDiagnostic diagnostic = new PackageDiagnostic( + diagnosticInfo, depInPkgManifest.location().orElseThrow()); + diagnostics.add(diagnostic); continue; } - if (!localPackageRepository.isPackageExists(depInPkgManifest.org(), depInPkgManifest.name(), + + + if (depInPkgManifest.repository().equals(ProjectConstants.LOCAL_REPOSITORY_NAME) && + !localPackageRepository.isPackageExists(depInPkgManifest.org(), depInPkgManifest.name(), depInPkgManifest.version())) { var diagnosticInfo = new DiagnosticInfo( ProjectDiagnosticErrorCode.PACKAGE_NOT_FOUND.diagnosticId(), @@ -94,10 +114,28 @@ public static BlendedManifest from(DependencyManifest dependencyManifest, diagnostics.add(diagnostic); continue; } + + if (!depInPkgManifest.repository().equals(ProjectConstants.LOCAL_REPOSITORY_NAME)) { + targetRepository = mavenPackageRepositoryMap.get(depInPkgManifest.repository()); + if (!((MavenPackageRepository) targetRepository).isPackageExists(depInPkgManifest.org(), + depInPkgManifest.name(), depInPkgManifest.version(), offline)) { + var diagnosticInfo = new DiagnosticInfo( + ProjectDiagnosticErrorCode.PACKAGE_NOT_FOUND.diagnosticId(), + "Dependency version (" + depInPkgManifest.version() + + ") cannot be found in the custom repository (" + + depInPkgManifest.repository() + "). " + + "org: `" + depInPkgManifest.org() + "` name: " + depInPkgManifest.name() + "", + DiagnosticSeverity.WARNING); + PackageDiagnostic diagnostic = new PackageDiagnostic( + diagnosticInfo, depInPkgManifest.location().orElseThrow()); + diagnostics.add(diagnostic); + continue; + } + } } else { depContainer.add(depInPkgManifest.org(), depInPkgManifest.name(), new Dependency( depInPkgManifest.org(), depInPkgManifest.name(), depInPkgManifest.version(), - DependencyRelation.UNKNOWN, Repository.NOT_SPECIFIED, + DependencyRelation.UNKNOWN, REPOSITORY_NOT_SPECIFIED, moduleNames(new DependencyManifest.Package(depInPkgManifest.name(), depInPkgManifest.org(), depInPkgManifest.version())), DependencyOrigin.USER_SPECIFIED)); continue; @@ -107,7 +145,7 @@ public static BlendedManifest from(DependencyManifest dependencyManifest, depContainer.add(depInPkgManifest.org(), depInPkgManifest.name(), new Dependency(depInPkgManifest.org(), depInPkgManifest.name(), depInPkgManifest.version(), DependencyRelation.UNKNOWN, - depInPkgManifestRepo, moduleNames(depInPkgManifest, localPackageRepository), + depInPkgManifestRepo, moduleNames(depInPkgManifest, targetRepository), DependencyOrigin.USER_SPECIFIED)); } else { Dependency existingDep = existingDepOptional.get(); @@ -117,7 +155,7 @@ depInPkgManifestRepo, moduleNames(depInPkgManifest, localPackageRepository), compatibilityResult == VersionCompatibilityResult.GREATER_THAN) { Dependency newDep = new Dependency(depInPkgManifest.org(), depInPkgManifest.name(), depInPkgManifest.version(), DependencyRelation.UNKNOWN, depInPkgManifestRepo, - moduleNames(depInPkgManifest, localPackageRepository), DependencyOrigin.USER_SPECIFIED); + moduleNames(depInPkgManifest, targetRepository), DependencyOrigin.USER_SPECIFIED); depContainer.add(depInPkgManifest.org(), depInPkgManifest.name(), newDep); } else if (compatibilityResult == VersionCompatibilityResult.INCOMPATIBLE) { DiagnosticInfo diagnosticInfo = new DiagnosticInfo( @@ -267,11 +305,16 @@ public PackageVersion version() { } public boolean isFromLocalRepository() { - return repository == Repository.LOCAL; + return REPOSITORY_LOCAL.repositoryName.equals(repository.repositoryName); + } + + public boolean isFromCustomRepository() { + return (this.repository() != null) && (!REPOSITORY_LOCAL.repositoryName.equals(repository.repositoryName)); } public String repository() { - return isFromLocalRepository() ? ProjectConstants.LOCAL_REPOSITORY_NAME : null; + return !REPOSITORY_NOT_SPECIFIED.repositoryName.equals(this.repository.repositoryName) ? + this.repository.repositoryName : null; } public DependencyRelation relation() { @@ -320,8 +363,13 @@ public enum DependencyOrigin { /** * Specifies the repository kind. */ - private enum Repository { - LOCAL, - NOT_SPECIFIED, + private static class Repository { + + private final String repositoryName; + + Repository(String repository) { + this.repositoryName = repository; + + } } } diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ProjectDiagnosticErrorCode.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ProjectDiagnosticErrorCode.java index 2f28a42eed04..c5b86f772042 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ProjectDiagnosticErrorCode.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ProjectDiagnosticErrorCode.java @@ -36,6 +36,7 @@ public enum ProjectDiagnosticErrorCode implements DiagnosticCode { MISSING_PKG_INFO_IN_BALLERINA_TOML("BCE5006", "missing.package.info"), DEPRECATED_PACKAGE("BCE5007", "deprecated.package"), BUILT_WITH_OLDER_SL_UPDATE_DISTRIBUTION("BCE5008", "built.with.older.sl.update.distribution"), + CUSTOM_REPOSITORY_NOT_FOUND("BCE5009", "custom.repository.not.found"), MODULE_NOT_FOUND("BCE5100", "module.not.found"), UNSUPPORTED_COMPILER_PLUGIN_TYPE("BCE5200", "unsupported.compiler.plugin.type"), CONFLICTING_PLATFORM_JAR_FILES("BCE5300", "conflicting.platform.jars.type"), diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ResolutionEngine.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ResolutionEngine.java index 9b56fe022261..b12f63e498b8 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ResolutionEngine.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/ResolutionEngine.java @@ -233,10 +233,11 @@ private Collection resolveDirectDependencies(Collection lockingMode = PackageLockingMode.SOFT; } } else { - // If the user has specified the dependency from the local repo, + // If the user has specified the dependency from the local repo/custom repo, // we must resolve the exact version provided for the dependency dependency = blendedManifest.userSpecifiedDependency(pkgDesc.org(), pkgDesc.name()); - if (dependency.isPresent() && dependency.get().isFromLocalRepository()) { + if (dependency.isPresent() && (dependency.get().isFromLocalRepository() || + dependency.get().isFromCustomRepository())) { lockingMode = PackageLockingMode.HARD; } } diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/SettingsBuilder.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/SettingsBuilder.java index 0dfbfcf9a69b..8427bbbd07c5 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/SettingsBuilder.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/SettingsBuilder.java @@ -23,11 +23,13 @@ import io.ballerina.projects.TomlDocument; import io.ballerina.projects.internal.model.Central; import io.ballerina.projects.internal.model.Proxy; +import io.ballerina.projects.internal.model.Repository; import io.ballerina.projects.util.FileUtils; import io.ballerina.toml.semantic.TomlType; import io.ballerina.toml.semantic.ast.TomlKeyValueNode; import io.ballerina.toml.semantic.ast.TomlLongValueNode; import io.ballerina.toml.semantic.ast.TomlStringValueNode; +import io.ballerina.toml.semantic.ast.TomlTableArrayNode; import io.ballerina.toml.semantic.ast.TomlTableNode; import io.ballerina.toml.semantic.ast.TomlValueNode; import io.ballerina.toml.semantic.ast.TopLevelNode; @@ -38,6 +40,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Map; /** * {@code SettingsBuilder} processes the settings toml file parsed and populate a {@link Settings}. @@ -46,6 +49,13 @@ */ public class SettingsBuilder { + public static final String NAME = "name"; + public static final String USER_ID = "userId"; + public static final String ACCESSTOKEN = "accesstoken"; + public static final String NEXUS = "nexus"; + public static final String ARTIFACTORY = "artifactory"; + public static final String FILE_SYSTEM = "file-system"; + public static final String GITHUB = "github"; private TomlDocument settingsToml; private Settings settings; private DiagnosticResult diagnostics; @@ -58,6 +68,9 @@ public class SettingsBuilder { private static final String USERNAME = "username"; private static final String PASSWORD = "password"; private static final String ACCESS_TOKEN = "accesstoken"; + private static final String REPOSITORY = "repository"; + private static final String ID = "id"; + private static final String URL = "url"; private SettingsBuilder(TomlDocument settingsToml) { this.diagnosticList = new ArrayList<>(); @@ -100,29 +113,57 @@ private Settings parseAsSettings() { String host = ""; int port = 0; - String username = ""; - String password = ""; + String proxyUsername = ""; + String proxyPassword = ""; String accessToken = ""; + String url = ""; + String id = ""; + String repoName = ""; + String repositoryUsername = ""; + String repositoryPassword = ""; + ArrayList repositories = new ArrayList<>(); if (!tomlAstNode.entries().isEmpty()) { TomlTableNode proxyNode = (TomlTableNode) tomlAstNode.entries().get(PROXY); if (proxyNode != null && proxyNode.kind() != TomlType.NONE && proxyNode.kind() == TomlType.TABLE) { - host = getStringValueFromProxyNode(proxyNode, HOST, ""); + host = getStringOrDefaultFromTomlTableNode(proxyNode, HOST, ""); port = getIntValueFromProxyNode(proxyNode, PORT, 0); - username = getStringValueFromProxyNode(proxyNode, USERNAME, ""); - password = getStringValueFromProxyNode(proxyNode, PASSWORD, ""); + proxyUsername = getStringOrDefaultFromTomlTableNode(proxyNode, USERNAME, ""); + proxyPassword = getStringOrDefaultFromTomlTableNode(proxyNode, PASSWORD, ""); } TomlTableNode centralNode = (TomlTableNode) tomlAstNode.entries().get(CENTRAL); if (centralNode != null && centralNode.kind() != TomlType.NONE && centralNode.kind() == TomlType.TABLE) { - accessToken = getStringValueFromProxyNode(centralNode, ACCESS_TOKEN, ""); + accessToken = getStringOrDefaultFromTomlTableNode(centralNode, ACCESS_TOKEN, ""); + } + + TomlTableNode repository = (TomlTableNode) tomlAstNode.entries().get(REPOSITORY); + if (repository != null && repository.kind() != TomlType.NONE && repository.kind() == TomlType.TABLE) { + Map repoEntries = repository.entries(); + for (Map.Entry entry : repoEntries.entrySet()) { + String repoKey = entry.getKey(); + TopLevelNode repoValue = entry.getValue(); + if (!NEXUS.equals(repoKey) && !ARTIFACTORY.equals(repoKey) && !FILE_SYSTEM.equals(repoKey) && + !GITHUB.equals(repoKey)) { + continue; + } + List repositoryNodes = ((TomlTableArrayNode) (repoValue)).children(); + for (TomlTableNode repositoryNode : repositoryNodes) { + url = getStringOrDefaultFromTomlTableNode(repositoryNode, URL, ""); + id = getStringOrDefaultFromTomlTableNode(repositoryNode, ID, ""); + repositoryUsername = getStringOrDefaultFromTomlTableNode(repositoryNode, USER_ID, ""); + repositoryPassword = getStringOrDefaultFromTomlTableNode(repositoryNode, ACCESSTOKEN, ""); + repositories.add(Repository.from(id, url, repositoryUsername, repositoryPassword)); + } + } } } - return Settings.from(Proxy.from(host, port, username, password), Central.from(accessToken), diagnostics()); + return Settings.from(Proxy.from(host, port, proxyUsername, proxyPassword), Central.from(accessToken), + diagnostics(), repositories.toArray(new Repository[0])); } - private String getStringValueFromProxyNode(TomlTableNode pkgNode, String key, String defaultValue) { + private String getStringOrDefaultFromTomlTableNode(TomlTableNode pkgNode, String key, String defaultValue) { TopLevelNode topLevelNode = pkgNode.entries().get(key); if (topLevelNode == null || topLevelNode.kind() == TomlType.NONE) { // return default value diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/BallerinaUserHome.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/BallerinaUserHome.java index 8e1bfb64110b..904b0392b524 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/BallerinaUserHome.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/BallerinaUserHome.java @@ -4,9 +4,11 @@ import io.ballerina.projects.Settings; import io.ballerina.projects.TomlDocument; import io.ballerina.projects.environment.Environment; -import io.ballerina.projects.environment.PackageRepository; import io.ballerina.projects.internal.SettingsBuilder; +import io.ballerina.projects.internal.model.Repository; +import io.ballerina.projects.internal.repositories.CustomPkgRepositoryContainer; import io.ballerina.projects.internal.repositories.LocalPackageRepository; +import io.ballerina.projects.internal.repositories.MavenPackageRepository; import io.ballerina.projects.internal.repositories.RemotePackageRepository; import io.ballerina.projects.util.ProjectConstants; import org.wso2.ballerinalang.util.RepoUtils; @@ -16,6 +18,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; +import java.util.HashMap; import java.util.Map; import static io.ballerina.runtime.api.constants.RuntimeConstants.USER_HOME; @@ -30,7 +33,7 @@ public final class BallerinaUserHome { private final Path ballerinaUserHomeDirPath; private final RemotePackageRepository remotePackageRepository; private final LocalPackageRepository localPackageRepository; - private final Map customRepositories; + private final Map mavenCustomRepositories; private BallerinaUserHome(Environment environment, Path ballerinaUserHomeDirPath) { this.ballerinaUserHomeDirPath = ballerinaUserHomeDirPath; @@ -49,7 +52,27 @@ private BallerinaUserHome(Environment environment, Path ballerinaUserHomeDirPath this.remotePackageRepository = RemotePackageRepository .from(environment, remotePackageRepositoryPath, readSettings()); this.localPackageRepository = createLocalRepository(environment); - this.customRepositories = Map.of(ProjectConstants.LOCAL_REPOSITORY_NAME, localPackageRepository); + this.mavenCustomRepositories = createMavenCustomRepositories(environment); + } + + private Map createMavenCustomRepositories(Environment environment) { + Map customRepositories = new HashMap<>(); + Repository[] repositories = readSettings().getRepositories(); + for (Repository repository : repositories) { + Path repositoryPath = ballerinaUserHomeDirPath.resolve(ProjectConstants.REPOSITORIES_DIR) + .resolve(repository.id()); + try { + Files.createDirectories(repositoryPath); + } catch (IOException exception) { + throw new ProjectException("unable to create repository: " + ProjectConstants.LOCAL_REPOSITORY_NAME); + } + + if (!customRepositories.containsKey(repository.id())) { + customRepositories.put(repository.id(), MavenPackageRepository.from(environment, repositoryPath, + repository)); + } + } + return customRepositories; } public static BallerinaUserHome from(Environment environment, Path ballerinaUserHomeDirPath) { @@ -71,8 +94,12 @@ public RemotePackageRepository remotePackageRepository() { return this.remotePackageRepository; } - public Map customRepositories() { - return this.customRepositories; + public Map customRepositories() { + return this.mavenCustomRepositories; + } + + public CustomPkgRepositoryContainer customPkgRepositoryContainer() { + return new CustomPkgRepositoryContainer(mavenCustomRepositories); } public LocalPackageRepository localPackageRepository() { diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/DefaultPackageResolver.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/DefaultPackageResolver.java index c0d42db254e7..2087202311b1 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/DefaultPackageResolver.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/environment/DefaultPackageResolver.java @@ -38,7 +38,9 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Optional; import java.util.function.Function; import java.util.stream.Collectors; @@ -55,6 +57,7 @@ public class DefaultPackageResolver implements PackageResolver { private final PackageRepository distributionRepo; private final PackageRepository centralRepo; private final PackageRepository localRepo; + private final Map customRepos; private final WritablePackageCache packageCache; public DefaultPackageResolver(PackageRepository distributionRepo, @@ -64,6 +67,19 @@ public DefaultPackageResolver(PackageRepository distributionRepo, this.distributionRepo = distributionRepo; this.centralRepo = centralRepo; this.localRepo = localRepo; + this.customRepos = new HashMap<>(); + this.packageCache = (WritablePackageCache) packageCache; + } + + public DefaultPackageResolver(PackageRepository distributionRepo, + PackageRepository centralRepo, + PackageRepository localRepo, + Map customRepos, + PackageCache packageCache) { + this.distributionRepo = distributionRepo; + this.centralRepo = centralRepo; + this.customRepos = customRepos; + this.localRepo = localRepo; this.packageCache = (WritablePackageCache) packageCache; } @@ -110,10 +126,21 @@ public Collection resolvePackageNames(Collection resolvePackageMetadata(Collection requests, ResolutionOptions options) { Collection localRepoRequests = new ArrayList<>(); + Map> customRepoRequestMap = new HashMap<>(); for (ResolutionRequest request : requests) { Optional repository = request.packageDescriptor().repository(); if (repository.isPresent() && repository.get().equals(ProjectConstants.LOCAL_REPOSITORY_NAME)) { localRepoRequests.add(request); + } else if (repository.isPresent() && customRepos.containsKey(repository.get())) { + PackageRepository customRepository = customRepos.get(repository.get()); + + if (customRepoRequestMap.containsKey(customRepository)) { + customRepoRequestMap.get(customRepository).add(request); + } else { + ArrayList requestList = new ArrayList<>(); + requestList.add(request); + customRepoRequestMap.put(customRepository, requestList); + } } } @@ -121,6 +148,16 @@ public Collection resolvePackageMetadata(Collection allCustomRepoPackages = new ArrayList<>(); + for (Map.Entry> customRepoRequestEntry : + customRepoRequestMap.entrySet()) { + PackageRepository customRepository = customRepoRequestEntry.getKey(); + ArrayList customRepoRequests = customRepoRequestEntry.getValue(); + Collection customRepoPackages = customRepoRequests.isEmpty() ? + Collections.emptyList() : customRepository.getPackageMetadata(customRepoRequests, options); + allCustomRepoPackages.addAll(customRepoPackages); + } + // TODO Send ballerina* org names to dist repo Collection latestVersionsInDist = distributionRepo.getPackageMetadata(requests, options); @@ -136,7 +173,7 @@ public Collection resolvePackageMetadata(Collection responseDescriptors = new ArrayList<>( // Since packages can be resolved from multiple repos // the repos should be provided to the stream in the order of priority. - Stream.of(localRepoPackages, latestVersionsInDist, latestVersionsInCentral) + Stream.of(localRepoPackages, allCustomRepoPackages, latestVersionsInDist, latestVersionsInCentral) .flatMap(Collection::stream).collect(Collectors.toMap( PackageMetadataResponse::packageLoadRequest, Function.identity(), (PackageMetadataResponse x, PackageMetadataResponse y) -> { @@ -204,6 +241,10 @@ private Optional resolveFromRepository(ResolutionRequest resolutionReq, // 2) Try to load from the local repo, if it is requested from the local repo. if (pkgDesc.repository().isPresent()) { String repository = pkgDesc.repository().get(); + if (!ProjectConstants.LOCAL_REPOSITORY_NAME.equals(repository) && customRepos.containsKey(repository)) { + return customRepos.get(repository).getPackage(resolutionReq, options); + } + if (!ProjectConstants.LOCAL_REPOSITORY_NAME.equals(repository)) { return Optional.empty(); } diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/model/Repository.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/model/Repository.java new file mode 100644 index 000000000000..dcdba2e542b1 --- /dev/null +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/model/Repository.java @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.ballerina.projects.internal.model; + +/** + * Represents the repository object. + * + * @since 2201.8.0 + */ +public class Repository { + private String id; + private String url; + private String username; + private String password; + + private Repository(String id, String url, String username, String password) { + this.id = id; + this.url = url; + this.username = username; + this.password = password; + } + + public static Repository from(String id, String url, String username, String password) { + return new Repository(id, url, username, password); + } + + public static Repository from() { + return new Repository("", "", "", ""); + } + + public String id() { + return id; + } + + public String url() { + return url; + } + + public String username() { + return username; + } + + public String password() { + return password; + } +} diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/repositories/CustomPkgRepositoryContainer.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/repositories/CustomPkgRepositoryContainer.java new file mode 100644 index 000000000000..d638dd687796 --- /dev/null +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/repositories/CustomPkgRepositoryContainer.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.ballerina.projects.internal.repositories; + +import java.util.Map; + +/** + * This class acts as a custom package repositories' container. + * + * @since 2201.8.0 + */ + +public class CustomPkgRepositoryContainer { + Map customPackageRepositories; + public CustomPkgRepositoryContainer(Map customPackageRepositories) { + this.customPackageRepositories = customPackageRepositories; + } + + public Map getCustomPackageRepositories() { + return customPackageRepositories; + } +} diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/repositories/MavenPackageRepository.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/repositories/MavenPackageRepository.java new file mode 100644 index 000000000000..0791f2305a60 --- /dev/null +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/internal/repositories/MavenPackageRepository.java @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.ballerina.projects.internal.repositories; + +import com.google.gson.Gson; +import com.google.gson.JsonObject; +import io.ballerina.projects.DependencyGraph; +import io.ballerina.projects.ModuleDescriptor; +import io.ballerina.projects.Package; +import io.ballerina.projects.PackageDescriptor; +import io.ballerina.projects.PackageName; +import io.ballerina.projects.PackageOrg; +import io.ballerina.projects.PackageVersion; +import io.ballerina.projects.ProjectException; +import io.ballerina.projects.Settings; +import io.ballerina.projects.environment.Environment; +import io.ballerina.projects.environment.ResolutionOptions; +import io.ballerina.projects.environment.ResolutionRequest; +import io.ballerina.projects.internal.model.Proxy; +import io.ballerina.projects.internal.model.Repository; +import io.ballerina.projects.util.ProjectUtils; +import org.apache.commons.io.FileUtils; +import org.ballerinalang.maven.bala.client.MavenResolverClient; +import org.ballerinalang.maven.bala.client.MavenResolverClientException; +import org.ballerinalang.toml.exceptions.SettingsTomlException; +import org.wso2.ballerinalang.util.RepoUtils; + + +import java.io.BufferedReader; +import java.io.IOException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +import static io.ballerina.projects.util.ProjectConstants.BALA_EXTENSION; + +/** + * This class represents the maven package repositories. + * + * @since 2201.8.0 + */ + +public class MavenPackageRepository extends AbstractPackageRepository { + + public static final String PLATFORM = "platform"; + private final FileSystemRepository fileSystemCache; + private final MavenResolverClient client; + private final String repoLocation; + + + public MavenPackageRepository(Environment environment, Path cacheDirectory, String distributionVersion, + MavenResolverClient client, String repoLocation) { + this.fileSystemCache = new FileSystemRepository(environment, cacheDirectory, distributionVersion); + this.client = client; + this.repoLocation = repoLocation; + } + + public static MavenPackageRepository from(Environment environment, Path cacheDirectory, Repository repository) { + if (Files.notExists(cacheDirectory)) { + throw new ProjectException("cache directory does not exists: " + cacheDirectory); + } + + if (repository.url().isEmpty()) { + throw new ProjectException("repository url is not provided"); + } + String ballerinaShortVersion = RepoUtils.getBallerinaShortVersion(); + MavenResolverClient mvnClient = new MavenResolverClient(); + if (!repository.username().isEmpty() && !repository.password().isEmpty()) { + mvnClient.addRepository(repository.id(), repository.url(), repository.username(), repository.password()); + } else { + mvnClient.addRepository(repository.id(), repository.url()); + } + + Settings settings; + try { + settings = RepoUtils.readSettings(); + } catch (SettingsTomlException e) { + settings = Settings.from(); + } + Proxy proxy = settings.getProxy(); + mvnClient.setProxy(proxy.host(), proxy.port(), proxy.username(), proxy.password()); + + String repoLocation = cacheDirectory.resolve("bala").toAbsolutePath().toString(); + + return new MavenPackageRepository(environment, cacheDirectory, ballerinaShortVersion, mvnClient, + repoLocation); + } + + @Override + public Optional getPackage(ResolutionRequest request, ResolutionOptions options) { + isPackageExists(request.orgName(), request.packageName(), request.version().orElse(null), + options.offline()); + return this.fileSystemCache.getPackage(request, options); + } + + @Override + public Collection getPackageVersions(ResolutionRequest request, ResolutionOptions options) { + isPackageExists(request.orgName(), request.packageName(), request.version().orElse(null), + options.offline()); + return getPackageVersions(request.orgName(), request.packageName(), + request.version().orElse(null)); + } + + @Override + public Map> getPackages() { + return this.fileSystemCache.getPackages(); + } + + + @Override + public boolean isPackageExists(PackageOrg org, + PackageName name, + PackageVersion version) { + return this.fileSystemCache.isPackageExists(org, name, version); + } + + // This method should be called before calling other methods + public boolean isPackageExists(PackageOrg org, + PackageName name, + PackageVersion version, boolean offline) { + boolean isPackageExist = this.fileSystemCache.isPackageExists(org, name, version); + if (!isPackageExist && !offline) { + return getPackageFromRemoteRepo(org.value(), name.value(), version.value().toString()); + } + return isPackageExist; + } + + @Override + protected List getPackageVersions(PackageOrg org, PackageName name, PackageVersion version) { + if (version == null) { + return Collections.emptyList(); + } + + Path balaPath = this.fileSystemCache.getPackagePath(org.toString(), name.toString(), version.toString()); + if (Files.exists(balaPath)) { + return Collections.singletonList(version); + } else { + return Collections.emptyList(); + } + } + + @Override + protected DependencyGraph getDependencyGraph(PackageOrg org, PackageName name, + PackageVersion version) { + return this.fileSystemCache.getDependencyGraph(org, name, version); + } + + @Override + public Collection getModules(PackageOrg org, PackageName name, PackageVersion version) { + boolean packageExists = isPackageExists(org, name, version); + if (!packageExists) { + return Collections.emptyList(); + } + return this.fileSystemCache.getModules(org, name, version); + } + + public boolean getPackageFromRemoteRepo(String org, + String name, + String version) { + try { + Path tmpDownloadDirectory = Files.createTempDirectory("ballerina-" + System.nanoTime()); + client.pullPackage(org, name, version, + String.valueOf(tmpDownloadDirectory.toAbsolutePath())); + Path balaDownloadPath = tmpDownloadDirectory.resolve(org).resolve(name).resolve(version) + .resolve(name + "-" + version + BALA_EXTENSION); + Path temporaryExtractionPath = tmpDownloadDirectory.resolve(org).resolve(name) + .resolve(version).resolve(PLATFORM); + ProjectUtils.extractBala(balaDownloadPath, temporaryExtractionPath); + Path packageJsonPath = temporaryExtractionPath.resolve("package.json"); + try (BufferedReader bufferedReader = Files.newBufferedReader(packageJsonPath, StandardCharsets.UTF_8)) { + JsonObject resultObj = new Gson().fromJson(bufferedReader, JsonObject.class); + String platform = resultObj.get(PLATFORM).getAsString(); + Path actualBalaPath = Paths.get(this.repoLocation).resolve(org).resolve(name) + .resolve(version).resolve(platform); + FileUtils.copyDirectory(temporaryExtractionPath.toFile(), + actualBalaPath.toFile()); + } + } catch (IOException | MavenResolverClientException e) { + return false; + } + return true; + } +} diff --git a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/util/ProjectConstants.java b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/util/ProjectConstants.java index 11e4c891df84..c4f462799e78 100644 --- a/compiler/ballerina-lang/src/main/java/io/ballerina/projects/util/ProjectConstants.java +++ b/compiler/ballerina-lang/src/main/java/io/ballerina/projects/util/ProjectConstants.java @@ -26,6 +26,8 @@ public class ProjectConstants { public static final String BLANG_SOURCE_EXT = ".bal"; + public static final String BALA_EXTENSION = ".bala"; + public static final String PLATFORM = "platform"; public static final String BALLERINA_TOML = "Ballerina.toml"; public static final String DEPENDENCIES_TOML = "Dependencies.toml"; @@ -121,6 +123,7 @@ public class ProjectConstants { public static final String REPOSITORIES_DIR = "repositories"; public static final String LOCAL_REPOSITORY_NAME = "local"; public static final String CENTRAL_REPOSITORY_CACHE_NAME = "central.ballerina.io"; + public static final String MAVEN_REPOSITORY_CACHE_NAME = "maven"; public static final String DEPENDENCIES_TOML_VERSION = "2"; public static final String BALLERINA_ORG = "ballerina"; public static final String EXISTING_PACKAGE_FILES_DIR = "directories-with-existing-package-files-for-bal-new"; diff --git a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/TreeBuilder.java b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/TreeBuilder.java index 58a0bcdd6fdc..f625ab191cbe 100644 --- a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/TreeBuilder.java +++ b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/TreeBuilder.java @@ -125,6 +125,7 @@ import org.ballerinalang.model.tree.expressions.TypeTestExpressionNode; import org.ballerinalang.model.tree.expressions.TypedescExpressionNode; import org.ballerinalang.model.tree.expressions.UnaryExpressionNode; +import org.ballerinalang.model.tree.expressions.WorkerSendExpressionNode; import org.ballerinalang.model.tree.expressions.XMLAttributeNode; import org.ballerinalang.model.tree.expressions.XMLCommentLiteralNode; import org.ballerinalang.model.tree.expressions.XMLElementLiteralNode; @@ -172,7 +173,6 @@ import org.ballerinalang.model.tree.statements.VariableDefinitionNode; import org.ballerinalang.model.tree.statements.WhileNode; import org.ballerinalang.model.tree.statements.WorkerReceiveNode; -import org.ballerinalang.model.tree.statements.WorkerSendNode; import org.ballerinalang.model.tree.statements.XMLNSDeclStatementNode; import org.ballerinalang.model.tree.types.ArrayTypeNode; import org.ballerinalang.model.tree.types.BuiltInReferenceTypeNode; @@ -309,6 +309,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -360,7 +361,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -914,8 +914,8 @@ public static WorkerReceiveNode createWorkerReceiveNode() { return new BLangWorkerReceive(); } - public static WorkerSendNode createWorkerSendNode() { - return new BLangWorkerSend(); + public static WorkerSendExpressionNode createWorkerSendNode() { + return new BLangWorkerAsyncSendExpr(); } public static ForkJoinNode createForkJoinNode() { diff --git a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/NodeKind.java b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/NodeKind.java index b29fae8a6505..cf16f169ebf2 100644 --- a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/NodeKind.java +++ b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/NodeKind.java @@ -181,7 +181,7 @@ public enum NodeKind { WHILE, LOCK, WORKER_RECEIVE, - WORKER_SEND, + WORKER_ASYNC_SEND, WORKER_SYNC_SEND, WORKER_FLUSH, STREAM, diff --git a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/expressions/WorkerSendSyncExpressionNode.java b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/expressions/WorkerSendExpressionNode.java similarity index 92% rename from compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/expressions/WorkerSendSyncExpressionNode.java rename to compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/expressions/WorkerSendExpressionNode.java index a6915408f1d6..d54d33d29abb 100644 --- a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/expressions/WorkerSendSyncExpressionNode.java +++ b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/expressions/WorkerSendExpressionNode.java @@ -25,7 +25,7 @@ * * @since 0.985 */ -public interface WorkerSendSyncExpressionNode extends ExpressionNode, ActionNode { +public interface WorkerSendExpressionNode extends ExpressionNode, ActionNode { ExpressionNode getExpression(); IdentifierNode getWorkerName(); diff --git a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/statements/WorkerSendNode.java b/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/statements/WorkerSendNode.java deleted file mode 100644 index 4ee8af1f29f9..000000000000 --- a/compiler/ballerina-lang/src/main/java/org/ballerinalang/model/tree/statements/WorkerSendNode.java +++ /dev/null @@ -1,36 +0,0 @@ -/* -* Copyright (c) 2017, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. -* -* WSO2 Inc. licenses this file to you under the Apache License, -* Version 2.0 (the "License"); you may not use this file except -* in compliance with the License. -* You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ -package org.ballerinalang.model.tree.statements; - -import org.ballerinalang.model.tree.ActionNode; -import org.ballerinalang.model.tree.IdentifierNode; -import org.ballerinalang.model.tree.expressions.ExpressionNode; - -/** - * a,d -> w1. - * - * @since 0.94 - */ -public interface WorkerSendNode extends StatementNode, ActionNode { - - ExpressionNode getExpression(); - - IdentifierNode getWorkerName(); - - void setWorkerName(IdentifierNode identifierNode); -} diff --git a/compiler/ballerina-lang/src/main/java/org/ballerinalang/util/diagnostic/DiagnosticErrorCode.java b/compiler/ballerina-lang/src/main/java/org/ballerinalang/util/diagnostic/DiagnosticErrorCode.java index 59cf113480c3..43219f96ad1c 100644 --- a/compiler/ballerina-lang/src/main/java/org/ballerinalang/util/diagnostic/DiagnosticErrorCode.java +++ b/compiler/ballerina-lang/src/main/java/org/ballerinalang/util/diagnostic/DiagnosticErrorCode.java @@ -805,11 +805,13 @@ public enum DiagnosticErrorCode implements DiagnosticCode { SEQUENCE_VARIABLE_CAN_BE_USED_IN_SINGLE_ELEMENT_LIST_CTR_OR_FUNC_INVOCATION( "BCE4047", "seq.var.used.in.single.element.list.ctr.or.func.invocation"), SEQ_ARG_FOLLOWED_BY_ANOTHER_SEQ_ARG("BCE4048", "seq.arg.followed.by.another.seq.arg"), - QUERY_CONSTRUCT_TYPES_CANNOT_BE_USED_WITH_COLLECT("BCE4049", "query.construct.types.cannot.be.used.with.collect"), VARIABLE_IS_SEQUENCED_MORE_THAN_ONCE("BCE4050", "variable.is.sequenced.more.than.once"), INVALID_GROUPING_KEY_TYPE("BCE4051", "invalid.grouping.key.type"), - NAMED_ARG_NOT_ALLOWED_FOR_REST_PARAM("BCE4052", "named.arg.not.allowed.for.rest.param") + NAMED_ARG_NOT_ALLOWED_FOR_REST_PARAM("BCE4052", "named.arg.not.allowed.for.rest.param"), + CANNOT_USE_ALTERNATE_WAIT_ACTION_WITHIN_MULTIPLE_WAIT_ACTION("BCE4053", + "cannot.use.alternate.wait.action.within.multiple.wait.action"), + EXPRESSION_OF_FUTURE_TYPE_EXPECTED("BCE4054", "future.expression.expected") ; private String diagnosticId; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGen.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGen.java index 210a91289baa..e1332d6c18e0 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGen.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGen.java @@ -160,6 +160,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -186,7 +187,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangSimpleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangStatement; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangStructureTypeNode; import org.wso2.ballerinalang.compiler.tree.types.BLangType; @@ -1162,17 +1162,23 @@ public void visit(BLangWorkerReceive workerReceive) { } @Override - public void visit(BLangWorkerSend workerSend) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { BIRBasicBlock thenBB = new BIRBasicBlock(this.env.nextBBId()); addToTrapStack(thenBB); - workerSend.expr.accept(this); + asyncSendExpr.expr.accept(this); + BIROperand dataOp = this.env.targetOperand; + BIRVariableDcl tempVarDcl = new BIRVariableDcl(asyncSendExpr.receive.matchingSendsError, + this.env.nextLocalVarId(names), VarScope.FUNCTION, VarKind.TEMP); + this.env.enclFunc.localVars.add(tempVarDcl); + BIROperand lhsOp = new BIROperand(tempVarDcl); + this.env.targetOperand = lhsOp; - String channelName = this.env.enclFunc.workerName.value + "->" + workerSend.workerIdentifier.value; + String channelName = this.env.enclFunc.workerName.value + "->" + asyncSendExpr.workerIdentifier.value; boolean isOnSameStrand = DEFAULT_WORKER_NAME.equals(this.env.enclFunc.workerName.value); this.env.enclBB.terminator = new BIRTerminator.WorkerSend( - workerSend.pos, names.fromString(channelName), this.env.targetOperand, isOnSameStrand, false, null, + asyncSendExpr.pos, names.fromString(channelName), dataOp, isOnSameStrand, false, lhsOp, thenBB, this.currentScope); this.env.enclBasicBlocks.add(thenBB); diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGenUtils.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGenUtils.java index d43f3d018b1b..d033016cba9c 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGenUtils.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/BIRGenUtils.java @@ -49,10 +49,15 @@ public static void rearrangeBasicBlocks(BIRNode.BIRFunction birFunction) { int currentBBId = 0; // Re-arrange basic blocks for (BIRNode.BIRBasicBlock bb : birFunction.basicBlocks) { - bb.number = currentBBId; - bb.id = new Name(BIRBasicBlock.BIR_BASIC_BLOCK_PREFIX + currentBBId++); + currentBBId = renumberBasicBlock(currentBBId, bb); } // Re-arrange error entries birFunction.errorTable.sort(Comparator.comparingInt(o -> o.trapBB.number)); } + + public static int renumberBasicBlock(int newBBNum, BIRBasicBlock bb) { + bb.number = newBBNum; + bb.id = new Name(BIRBasicBlock.BIR_BASIC_BLOCK_PREFIX + newBBNum); + return newBBNum + 1; + } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmConstants.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmConstants.java index 9cccb1511e00..a2e5e6532e90 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmConstants.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmConstants.java @@ -212,6 +212,7 @@ public class JvmConstants { public static final String ERROR_UTILS = "io/ballerina/runtime/internal/ErrorUtils"; public static final String ERROR_CREATOR = "io/ballerina/runtime/api/ErrorCreator"; public static final String RUNTIME_UTILS = "io/ballerina/runtime/internal/util/RuntimeUtils"; + public static final String LARGE_STRUCTURE_UTILS = "io/ballerina/runtime/internal/util/LargeStructureUtils"; public static final String OPTION = "io/ballerina/runtime/internal/cli/Option"; public static final String OPERAND = "io/ballerina/runtime/internal/cli/Operand"; public static final String CLI_SPEC = "io/ballerina/runtime/internal/cli/CliSpec"; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmInstructionGen.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmInstructionGen.java index c7a3f5408bc9..137466097f12 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmInstructionGen.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmInstructionGen.java @@ -26,8 +26,9 @@ import org.wso2.ballerinalang.compiler.bir.codegen.internal.AsyncDataCollector; import org.wso2.ballerinalang.compiler.bir.codegen.internal.BIRVarToJVMIndexMap; import org.wso2.ballerinalang.compiler.bir.codegen.interop.JCast; -import org.wso2.ballerinalang.compiler.bir.codegen.interop.JInsKind; import org.wso2.ballerinalang.compiler.bir.codegen.interop.JInstruction; +import org.wso2.ballerinalang.compiler.bir.codegen.interop.JLargeArrayInstruction; +import org.wso2.ballerinalang.compiler.bir.codegen.interop.JLargeMapInstruction; import org.wso2.ballerinalang.compiler.bir.codegen.interop.JMethodCallInstruction; import org.wso2.ballerinalang.compiler.bir.codegen.interop.JType; import org.wso2.ballerinalang.compiler.bir.codegen.interop.JTypeTags; @@ -128,6 +129,7 @@ import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.ARRAY_VALUE_IMPL; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.BAL_ENV_CLASS; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.BYTE_VALUE; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.B_LIST_INITIAL_VALUE_ENTRY; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.B_MAPPING_INITIAL_VALUE_ENTRY; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.B_OBJECT; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.B_STRING_VALUE; @@ -137,6 +139,8 @@ import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.EQUALS_METHOD; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.ERROR_VALUE; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.FUNCTION_POINTER; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.GET_VALUE_METHOD; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.HANDLE_VALUE; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.INSTANTIATE_FUNCTION; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.INT_VALUE; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.JSON_UTILS; @@ -233,6 +237,7 @@ import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.PASS_OBJECT_RETURN_OBJECT; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.PROCESS_FP_ANNOTATIONS; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.PROCESS_OBJ_CTR_ANNOTATIONS; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.RETURN_OBJECT; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.SET_DECIMAL_RETURN_DECIMAL; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.SET_ON_INIT; import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.TWO_OBJECTS_ARGS; @@ -598,37 +603,85 @@ private BType getSmallestBuiltInUnsignedIntSubTypeContainingTypes(BType lhsType, } void generatePlatformIns(JInstruction ins, int localVarOffset) { - if (ins.jKind == JInsKind.JCAST) { - JCast castIns = (JCast) ins; - BType targetType = castIns.targetType; - this.loadVar(castIns.rhsOp.variableDcl); - jvmCastGen.generatePlatformCheckCast(this.mv, this.indexMap, castIns.rhsOp.variableDcl.type, targetType); - this.storeToVar(castIns.lhsOp.variableDcl); - } else if (ins.jKind == JInsKind.CALL) { - JMethodCallInstruction callIns = (JMethodCallInstruction) ins; - boolean isInterface = callIns.invocationType == INVOKEINTERFACE; - int argIndex = 0; - String jMethodVMSig = callIns.jMethodVMSig; - boolean hasBalEnvParam = jMethodVMSig.startsWith(BAL_ENV_PARAM); - if (hasBalEnvParam) { - mv.visitTypeInsn(NEW, BAL_ENV_CLASS); - mv.visitInsn(DUP); - // load the strand - this.mv.visitVarInsn(ALOAD, localVarOffset); - // load the current Module - mv.visitFieldInsn(GETSTATIC, this.moduleInitClass, CURRENT_MODULE_VAR_NAME, GET_MODULE); - mv.visitMethodInsn(INVOKESPECIAL, BAL_ENV_CLASS, JVM_INIT_METHOD, - INIT_BAL_ENV, false); - } + switch (ins.jKind) { + case JCAST -> generateJCastIns((JCast) ins); + case CALL -> generateJMethodCallIns(localVarOffset, (JMethodCallInstruction) ins); + case LARGE_ARRAY -> generateJLargeArrayIns(localVarOffset, (JLargeArrayInstruction) ins); + default -> generateJLargeMapIns(localVarOffset, (JLargeMapInstruction) ins); + } + } + + private void generateJLargeMapIns(int localVarOffset, JLargeMapInstruction mapNewIns) { + this.loadVar(mapNewIns.rhsOp.variableDcl); + this.mv.visitVarInsn(ALOAD, localVarOffset); - while (argIndex < callIns.args.size()) { - BIROperand arg = callIns.args.get(argIndex); - this.loadVar(arg.variableDcl); - argIndex += 1; + // load the initial values operand + this.loadVar(mapNewIns.initialValues.variableDcl); + mv.visitMethodInsn(INVOKEVIRTUAL, HANDLE_VALUE, GET_VALUE_METHOD, RETURN_OBJECT, false); + mv.visitTypeInsn(CHECKCAST, "[L" + B_MAPPING_INITIAL_VALUE_ENTRY + ";"); + + this.mv.visitMethodInsn(INVOKEINTERFACE, TYPEDESC_VALUE, INSTANTIATE_FUNCTION, INSTANTIATE, true); + this.storeToVar(mapNewIns.lhsOp.variableDcl); + } + + private void generateJLargeArrayIns(int localVarOffset, JLargeArrayInstruction inst) { + BType instType = JvmCodeGenUtil.getReferredType(inst.type); + if (instType.tag == TypeTags.ARRAY) { + this.mv.visitTypeInsn(NEW, ARRAY_VALUE_IMPL); + this.mv.visitInsn(DUP); + jvmTypeGen.loadType(this.mv, inst.type); + loadListInitialValues(inst); + BType elementType = JvmCodeGenUtil.getReferredType(((BArrayType) instType).eType); + if (elementType.tag == TypeTags.RECORD || (elementType.tag == TypeTags.INTERSECTION && + ((BIntersectionType) elementType).effectiveType.tag == TypeTags.RECORD)) { + visitNewRecordArray(elementType); + } else { + this.mv.visitMethodInsn(INVOKESPECIAL, ARRAY_VALUE_IMPL, JVM_INIT_METHOD, + INIT_ARRAY, false); } - this.mv.visitMethodInsn(callIns.invocationType, callIns.jClassName, callIns.name, jMethodVMSig, - isInterface); + this.storeToVar(inst.lhsOp.variableDcl); + } else { + this.loadVar(inst.typedescOp.variableDcl); + this.mv.visitVarInsn(ALOAD, localVarOffset); + loadListInitialValues(inst); + this.mv.visitMethodInsn(INVOKEINTERFACE, TYPEDESC_VALUE, INSTANTIATE_FUNCTION, INSTANTIATE, true); + this.storeToVar(inst.lhsOp.variableDcl); + } + } + + private void generateJMethodCallIns(int localVarOffset, JMethodCallInstruction callIns) { + boolean isInterface = callIns.invocationType == INVOKEINTERFACE; + int argIndex = 0; + String jMethodVMSig = callIns.jMethodVMSig; + boolean hasBalEnvParam = jMethodVMSig.startsWith(BAL_ENV_PARAM); + if (hasBalEnvParam) { + mv.visitTypeInsn(NEW, BAL_ENV_CLASS); + mv.visitInsn(DUP); + // load the strand + this.mv.visitVarInsn(ALOAD, localVarOffset); + // load the current Module + mv.visitFieldInsn(GETSTATIC, this.moduleInitClass, CURRENT_MODULE_VAR_NAME, GET_MODULE); + mv.visitMethodInsn(INVOKESPECIAL, BAL_ENV_CLASS, JVM_INIT_METHOD, + INIT_BAL_ENV, false); + } + while (argIndex < callIns.args.size()) { + BIROperand arg = callIns.args.get(argIndex); + this.loadVar(arg.variableDcl); + argIndex += 1; } + this.mv.visitMethodInsn(callIns.invocationType, callIns.jClassName, callIns.name, jMethodVMSig, + isInterface); + if (callIns.lhsOp != null) { + this.storeToVar(callIns.lhsOp.variableDcl); + } + } + + private void generateJCastIns(JCast castIns) { + BType targetType = castIns.targetType; + this.loadVar(castIns.rhsOp.variableDcl); + jvmCastGen.generatePlatformCheckCast(this.mv, this.indexMap, castIns.rhsOp.variableDcl.type, + targetType); + this.storeToVar(castIns.lhsOp.variableDcl); } void generateMoveIns(BIRNonTerminator.Move moveIns) { @@ -2174,6 +2227,12 @@ private void loadListInitialValues(BIRNonTerminator.NewArray arrayNewIns) { } } + private void loadListInitialValues(JLargeArrayInstruction largeArrayIns) { + this.loadVar(largeArrayIns.values.variableDcl); + mv.visitMethodInsn(INVOKEVIRTUAL, HANDLE_VALUE, GET_VALUE_METHOD, RETURN_OBJECT, false); + mv.visitTypeInsn(CHECKCAST, "[L" + B_LIST_INITIAL_VALUE_ENTRY + ";"); + } + private void createExprEntry(BIRNode.BIRListConstructorEntry initialValueOp) { mv.visitTypeInsn(NEW, LIST_INITIAL_EXPRESSION_ENTRY); mv.visitInsn(DUP); diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmSignatures.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmSignatures.java index 340615545b3f..f100fd2d6b5a 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmSignatures.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/JvmSignatures.java @@ -275,6 +275,7 @@ public class JvmSignatures { public static final String HANDLE_WAIT_MULTIPLE = "(L" + MAP + ";L" + MAP_VALUE + ";)V"; public static final String HANDLE_WORKER_ERROR = "(L" + REF_VALUE + ";L" + STRAND_CLASS + ";[L" + CHANNEL_DETAILS + ";)V"; + public static final String HANDLE_OBJECT_LONG_ARGS = "(" + GET_HANDLE_VALUE + GET_OBJECT + "J)V"; public static final String INIT_ARRAY = "(L" + TYPE + ";[L" + B_LIST_INITIAL_VALUE_ENTRY + ";)V"; public static final String INIT_ARRAY_TYPE_IMPL = "(L" + TYPE + ";IZI)V"; public static final String INIT_ARRAY_WITH_INITIAL_VALUES = diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIConstructorCall.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIConstructorCall.java index 65681fb4e312..4ce4881ce900 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIConstructorCall.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIConstructorCall.java @@ -55,6 +55,11 @@ public BIROperand[] getRhsOperands() { return args.toArray(new BIROperand[0]); } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.args = List.of(operands); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[0]; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIMethodCall.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIMethodCall.java index af6c493810d8..a917c13e16cb 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIMethodCall.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JIMethodCall.java @@ -57,6 +57,11 @@ public BIROperand[] getRhsOperands() { return args.toArray(new BIROperand[0]); } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.args = List.of(operands); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[0]; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInsKind.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInsKind.java index f3cba96cf0e6..aaf8fdf07672 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInsKind.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInsKind.java @@ -24,7 +24,9 @@ */ public enum JInsKind { JCAST((byte) 1), - CALL((byte) 2); + CALL((byte) 2), + LARGE_ARRAY((byte) 3), + LARGE_MAP((byte) 4); byte value; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInstruction.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInstruction.java index 3aa89a7d5909..8fe79d4e9722 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInstruction.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JInstruction.java @@ -47,4 +47,9 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JLargeArrayInstruction.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JLargeArrayInstruction.java new file mode 100644 index 000000000000..6cf5c4854ee1 --- /dev/null +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JLargeArrayInstruction.java @@ -0,0 +1,73 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.ballerinalang.compiler.bir.codegen.interop; + +import io.ballerina.tools.diagnostics.Location; +import org.wso2.ballerinalang.compiler.bir.model.BIROperand; +import org.wso2.ballerinalang.compiler.semantics.model.types.BType; + +/** + * New large array instruction modeled as BIR NonTerminator JInstruction. + * + * @since 2201.8.0 + */ +public class JLargeArrayInstruction extends JInstruction { + + public BIROperand typedescOp; + public BIROperand sizeOp; + public BType type; + public BIROperand values; + + public JLargeArrayInstruction(Location location, BType type, BIROperand lhsOp, BIROperand sizeOp, + BIROperand values) { + super(location); + jKind = JInsKind.LARGE_ARRAY; + this.type = type; + this.lhsOp = lhsOp; + this.sizeOp = sizeOp; + this.values = values; + } + + public JLargeArrayInstruction(Location location, BType type, BIROperand lhsOp, BIROperand typedescOp, + BIROperand sizeOp, BIROperand values) { + this(location, type, lhsOp, sizeOp, values); + this.typedescOp = typedescOp; + } + + @Override + public BIROperand[] getRhsOperands() { + if (typedescOp != null) { + return new BIROperand[]{typedescOp, sizeOp, values}; + } else { + return new BIROperand[]{sizeOp, values}; + } + } + + @Override + public void setRhsOperands(BIROperand[] operands) { + if (operands.length == 3) { + this.typedescOp = operands[0]; + this.sizeOp = operands[1]; + this.values = operands[2]; + } else { + this.sizeOp = operands[0]; + this.values = operands[1]; + } + } +} diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JLargeMapInstruction.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JLargeMapInstruction.java new file mode 100644 index 000000000000..34598c9e0c5b --- /dev/null +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JLargeMapInstruction.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. + * + * WSO2 LLC. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.wso2.ballerinalang.compiler.bir.codegen.interop; + +import io.ballerina.tools.diagnostics.Location; +import org.wso2.ballerinalang.compiler.bir.model.BIROperand; + +/** + * New large map instruction modeled as BIR NonTerminator JInstruction. + * + * @since 2201.8.0 + */ +public class JLargeMapInstruction extends JInstruction { + + public BIROperand rhsOp; + public BIROperand initialValues; + + public JLargeMapInstruction(Location pos, BIROperand lhsOp, BIROperand rhsOp, BIROperand initialValues) { + super(pos); + jKind = JInsKind.LARGE_MAP; + this.lhsOp = lhsOp; + this.rhsOp = rhsOp; + this.initialValues = initialValues; + } + + @Override + public BIROperand[] getRhsOperands() { + return new BIROperand[]{rhsOp, initialValues}; + } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.rhsOp = operands[0]; + this.initialValues = operands[1]; + } +} diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JMethodCallInstruction.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JMethodCallInstruction.java index 675b2e77d058..215604d73ac4 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JMethodCallInstruction.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JMethodCallInstruction.java @@ -44,4 +44,9 @@ public JMethodCallInstruction(Location pos) { public BIROperand[] getRhsOperands() { return args.toArray(new BIROperand[0]); } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.args = List.of(operands); + } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JTerminator.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JTerminator.java index 4871bdc0942a..39de4ca7fc25 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JTerminator.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JTerminator.java @@ -46,6 +46,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[0]; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JavaMethodCall.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JavaMethodCall.java index d34c158e0b21..fcafe4aba516 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JavaMethodCall.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/interop/JavaMethodCall.java @@ -59,6 +59,11 @@ public BIROperand[] getRhsOperands() { return args.toArray(new BIROperand[0]); } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.args = List.of(operands); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/optimizer/LargeMethodOptimizer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/optimizer/LargeMethodOptimizer.java index e31dab1515c5..5167adb4782f 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/optimizer/LargeMethodOptimizer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/codegen/optimizer/LargeMethodOptimizer.java @@ -20,6 +20,13 @@ import org.ballerinalang.model.elements.PackageID; import org.ballerinalang.model.symbols.SymbolOrigin; +import org.wso2.ballerinalang.compiler.bir.BIRGenUtils; +import org.wso2.ballerinalang.compiler.bir.codegen.interop.JInstruction; +import org.wso2.ballerinalang.compiler.bir.codegen.interop.JLargeArrayInstruction; +import org.wso2.ballerinalang.compiler.bir.codegen.interop.JLargeMapInstruction; +import org.wso2.ballerinalang.compiler.bir.codegen.interop.JMethodCallInstruction; +import org.wso2.ballerinalang.compiler.bir.model.BIRAbstractInstruction; +import org.wso2.ballerinalang.compiler.bir.model.BIRNode; import org.wso2.ballerinalang.compiler.bir.model.BIRNode.BIRBasicBlock; import org.wso2.ballerinalang.compiler.bir.model.BIRNode.BIRErrorEntry; import org.wso2.ballerinalang.compiler.bir.model.BIRNode.BIRFunction; @@ -42,6 +49,7 @@ import org.wso2.ballerinalang.compiler.util.Name; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -50,6 +58,13 @@ import java.util.Map; import java.util.Set; +import static org.objectweb.asm.Opcodes.INVOKESTATIC; +import static org.wso2.ballerinalang.compiler.bir.BIRGenUtils.rearrangeBasicBlocks; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmConstants.LARGE_STRUCTURE_UTILS; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.GET_HANDLE_VALUE; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.GET_OBJECT; +import static org.wso2.ballerinalang.compiler.bir.codegen.JvmSignatures.HANDLE_OBJECT_LONG_ARGS; + /** * Split large BIR functions into smaller methods. * @@ -58,13 +73,17 @@ public class LargeMethodOptimizer { private static final Name DEFAULT_WORKER_NAME = new Name("function"); + private static final String OBJECT_INITIALIZATION_FUNCTION_NAME = "$init$"; + private static final String SPLIT_METHOD = "$split$method$_"; private final SymbolTable symbolTable; // splits are done only if the original function has more instructions than the below number private static final int FUNCTION_INSTRUCTION_COUNT_THRESHOLD = 1000; // splits are done only if the newly created method will contain more instructions than the below number private static final int SPLIT_INSTRUCTION_COUNT_THRESHOLD = 50; // splits are done only if the newly created method will have less function arguments than the below number - private static final int MAX_SPLIT_FUNCTION_ARG_COUNT = 250; + private static final int MAX_SPLIT_FUNCTION_ARG_COUNT = 125; + // total least no. of terminators and non-terminators that should be there to make the periodic split + private static final int INS_COUNT_PERIODIC_SPLIT_THRESHOLD = 500; // current BIR package id private PackageID currentPackageId; // newly created split BIR function number @@ -86,7 +105,7 @@ public void splitLargeBIRFunctions(BIRPackage birPkg) { if (hasLessInstructionCount(function)) { continue; } - List newBIRFunctions = splitBIRFunction(function, false); + List newBIRFunctions = splitBIRFunction(function, false, false, false); newlyAddedBIRFunctions.addAll(newBIRFunctions); } for (BIRTypeDefinition birTypeDef : birPkg.typeDefs) { @@ -94,7 +113,7 @@ public void splitLargeBIRFunctions(BIRPackage birPkg) { if (hasLessInstructionCount(function)) { continue; } - List newBIRFunctions = splitBIRFunction(function, true); + List newBIRFunctions = splitBIRFunction(function, true, false, false); newlyAddedBIRFunctions.addAll(newBIRFunctions); } } @@ -104,28 +123,1063 @@ public void splitLargeBIRFunctions(BIRPackage birPkg) { private boolean hasLessInstructionCount(BIRFunction birFunction) { int instructionCount = 0; for (BIRBasicBlock basicBlock : birFunction.basicBlocks) { - instructionCount += basicBlock.instructions.size(); + instructionCount += (basicBlock.instructions.size() + 1); } return instructionCount < FUNCTION_INSTRUCTION_COUNT_THRESHOLD; } - private List splitBIRFunction(BIRFunction birFunction, boolean fromAttachedFunction) { + private List splitBIRFunction(BIRFunction birFunction, boolean fromAttachedFunction, + boolean fromSplitFunction, boolean splitTypeArray) { final List newlyAddingFunctions = new ArrayList<>(); - List possibleSplits = getPossibleSplits(birFunction.basicBlocks, birFunction.errorTable); + List possibleSplits = getPossibleSplits(birFunction.basicBlocks, birFunction.errorTable, + fromSplitFunction); + // periodic splits will be done only if it is from a split function + boolean splitFurther = fromSplitFunction; if (!possibleSplits.isEmpty()) { generateSplits(birFunction, possibleSplits, newlyAddingFunctions, fromAttachedFunction); + rearrangeBasicBlocks(birFunction); + // if now we have less instructions in the parent function no splits are done + if (hasLessInstructionCount(birFunction)) { + splitFurther = false; + } + } + if (splitFurther) { + periodicSplitFunction(birFunction, newlyAddingFunctions, fromAttachedFunction, splitTypeArray); } return newlyAddingFunctions; } + private void periodicSplitFunction(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction, boolean splitTypeArray) { + if (splitTypeArray) { + periodicSplitArray(parentFunc, newlyAddingFunctions, fromAttachedFunction); + } else { + periodicSplitMap(parentFunc, newlyAddingFunctions, fromAttachedFunction); + } + } + + private void periodicSplitMap(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction) { + List bbs = parentFunc.basicBlocks; + int newMapInsBBNum = bbs.size() - 2; + int newMapInsNumInRelevantBB = bbs.get(newMapInsBBNum).instructions.size() - 1; + BIRNonTerminator.NewStructure mapIns = (BIRNonTerminator.NewStructure) bbs.get(newMapInsBBNum).instructions + .get(newMapInsNumInRelevantBB); + + // creating necessary temp variables + TempVarsForArraySplit parentFuncTempVars = getTempVarsForArraySplit(); + ParentFuncEnv parentFuncEnv = new ParentFuncEnv(bbs.get(newMapInsBBNum + 1)); + BIRBasicBlock parentFuncStartBB = parentFuncEnv.parentFuncNewBB; + SplitFuncEnv splitFuncEnv = new SplitFuncEnv(getTempVarsForArraySplit(), fromAttachedFunction); + + parentFuncEnv.returnOperand = mapIns.lhsOp; + BIRVariableDcl handleArray = new BIRVariableDcl(null, symbolTable.handleType, new Name("%mapEntryArray"), + VarScope.FUNCTION, VarKind.TEMP, null); + BIROperand handleArrayOperand = new BIROperand(handleArray); + createAndAddNewHandleArrayForLargeMapIns(parentFuncEnv, mapIns, handleArray, handleArrayOperand); + JLargeMapInstruction newLargeMapIns = new JLargeMapInstruction(mapIns.pos, mapIns.lhsOp, mapIns.rhsOp, + handleArrayOperand); + + // we populate MappingConstructorEntry array elements at runtime using jMethodCalls + // the below three are used when both key-value operands or expr operands are synthetic vars + Map birOperands = new HashMap<>(); + Set mapValuesOperands = new HashSet<>(); + Map mapKeyOperandLocations = new HashMap<>(); + // the below two are used for other 3 cases - either key operand or value operand or both arg global/arg kind + Map globalAndArgVarKeyOrValueLhsOperands = new HashMap<>(); + List globalAndArgVarIns = getGlobalAndArgVarInsForMap(parentFuncTempVars, mapIns, + handleArrayOperand, birOperands, mapValuesOperands, globalAndArgVarKeyOrValueLhsOperands, + mapKeyOperandLocations); + + // add the constant load array size operand instruction + parentFuncEnv.parentFuncNewInsList.add(bbs.get(0).instructions.get(0)); + parentFuncEnv.parentFuncLocalVarList.add(bbs.get(0).instructions.get(0).lhsOp.variableDcl); + + splitParentFuncForPeriodicMapSplits(parentFunc, newlyAddingFunctions, fromAttachedFunction, + bbs, newMapInsBBNum, newMapInsNumInRelevantBB, + handleArray, handleArrayOperand, birOperands, splitFuncEnv, parentFuncEnv, mapValuesOperands, + globalAndArgVarKeyOrValueLhsOperands, mapKeyOperandLocations); + + setParentFuncDetails(parentFunc, bbs, newMapInsBBNum, parentFuncTempVars, parentFuncEnv, parentFuncStartBB, + newLargeMapIns, globalAndArgVarIns); + } + + private void setParentFuncDetails(BIRFunction parentFunc, List bbs, int newMapOrArrayInsBBNum, + TempVarsForArraySplit parentFuncTempVars, ParentFuncEnv parentFuncEnv, + BIRBasicBlock parentFuncStartBB, JInstruction jLargeStructureIns, + List globalAndArgVarIns) { + parentFuncEnv.parentFuncNewInsList.addAll(globalAndArgVarIns); + parentFuncEnv.parentFuncNewInsList.add(jLargeStructureIns); + parentFuncEnv.parentFuncNewBB.instructions = parentFuncEnv.parentFuncNewInsList; + parentFuncEnv.parentFuncNewBB.terminator = bbs.get(newMapOrArrayInsBBNum).terminator; + parentFuncEnv.parentFuncNewBBList.add(parentFuncEnv.parentFuncNewBB); + BIRBasicBlock parentFuncExitBB = bbs.get(newMapOrArrayInsBBNum + 1); + BIRGenUtils.renumberBasicBlock(parentFuncEnv.parentFuncBBId++, parentFuncExitBB); + parentFuncEnv.parentFuncNewBBList.add(parentFuncExitBB); + parentFunc.basicBlocks = parentFuncEnv.parentFuncNewBBList; + parentFunc.errorTable = new ArrayList<>(); + + parentFunc.localVars = new ArrayList<>(); + parentFunc.localVars.add(parentFunc.returnVariable); + parentFunc.localVars.addAll(parentFunc.parameters); + parentFunc.localVars.addAll(parentFuncEnv.parentFuncLocalVarList); + if (parentFuncTempVars.tempVarsUsed) { + parentFunc.localVars.add(parentFuncTempVars.arrayIndexVarDcl); + parentFunc.localVars.add(parentFuncTempVars.typeCastVarDcl); + } + // parent function would not have VarKind.LOCAL parentFunc.localVars. + // Hence no need to correct localVar.startBB and localVar.endBB + } + + private void periodicSplitArray(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction) { + List bbs = parentFunc.basicBlocks; + int newArrayInsBBNum = bbs.size() - 2; + int newArrayInsNumInRelevantBB = bbs.get(newArrayInsBBNum).instructions.size() - 1; + BIRNonTerminator.NewArray arrayIns = (BIRNonTerminator.NewArray) bbs.get(newArrayInsBBNum).instructions + .get(newArrayInsNumInRelevantBB); + + // creating necessary temp variables + TempVarsForArraySplit parentFuncTempVars = getTempVarsForArraySplit(); + ParentFuncEnv parentFuncEnv = new ParentFuncEnv(bbs.get(newArrayInsBBNum + 1)); + BIRBasicBlock parentFuncStartBB = parentFuncEnv.parentFuncNewBB; + SplitFuncEnv splitFuncEnv = new SplitFuncEnv(getTempVarsForArraySplit(), fromAttachedFunction); + + parentFuncEnv.returnOperand = arrayIns.lhsOp; + BIRVariableDcl handleArray = new BIRVariableDcl(null, symbolTable.handleType, new Name("%listEntryArray"), + VarScope.FUNCTION, VarKind.TEMP, null); + BIROperand handleArrayOperand = new BIROperand(handleArray); + createAndAddNewHandleArrayForLargeArrayIns(parentFuncEnv, arrayIns, handleArray, handleArrayOperand); + JLargeArrayInstruction newLargeArrayIns = new JLargeArrayInstruction(arrayIns.pos, + arrayIns.type, arrayIns.lhsOp, arrayIns.typedescOp, arrayIns.sizeOp, handleArrayOperand); + + // populating ListConstructorEntry array elements at runtime using jMethodCalls + // creating method calls + Map birOperands = new HashMap<>(); + Set arrayValuesOperands = new HashSet<>(); + List globalAndArgVarIns = getGlobalAndArgVarInsForArray(parentFuncTempVars, arrayIns, + handleArrayOperand, birOperands, arrayValuesOperands); + + // add the constant load array size operand instruction + parentFuncEnv.parentFuncNewInsList.add(bbs.get(0).instructions.get(0)); + parentFuncEnv.parentFuncLocalVarList.add(bbs.get(0).instructions.get(0).lhsOp.variableDcl); + + splitParentFuncForPeriodicArraySplits(parentFunc, newlyAddingFunctions, fromAttachedFunction, + bbs, newArrayInsBBNum, newArrayInsNumInRelevantBB, + handleArray, handleArrayOperand, birOperands, splitFuncEnv, parentFuncEnv, arrayValuesOperands); + + setParentFuncDetails(parentFunc, bbs, newArrayInsBBNum, parentFuncTempVars, parentFuncEnv, parentFuncStartBB, + newLargeArrayIns, globalAndArgVarIns); + } + + private List getGlobalAndArgVarInsForMap(TempVarsForArraySplit parentFuncTempVars, + BIRNonTerminator.NewStructure mapIns, + BIROperand handleArrayOperand, + Map + birOperands, + Set mapValuesOperands, + Map + globalAndArgVarKeyOrValueLhsOperands, + Map + mapKeyOperandLocations) { + List globalAndArgVarIns = new ArrayList<>(); + int arrIndex = 0; + for (BIRNode.BIRMappingConstructorEntry value : mapIns.initialValues) { + if (value.isKeyValuePair()) { + BIRNode.BIRMappingConstructorKeyValueEntry keyValueEntry = + (BIRNode.BIRMappingConstructorKeyValueEntry) value; + BIROperand valueOp = keyValueEntry.valueOp; + BIRVariableDcl valueVarDcl = valueOp.variableDcl; + BIROperand keyOp = keyValueEntry.keyOp; + BIRVariableDcl keyVarDcl = keyOp.variableDcl; + // there are 4 cases - key : value, and either temp/synthetic kind operand or global/arg kind operand + if (isTempOrSyntheticVar(valueVarDcl)) { + // value is a temp/synthetic operand + // if the key is also a temp/synthetic operand, we need to populate it as + // soon as value is found if the key is populated before that --- (1) + if (isTempOrSyntheticVar(keyVarDcl)) { + birOperands.put(valueOp, new BIRMappingConstructorEntryWithIndex( + value, arrIndex)); + mapValuesOperands.add(valueOp); + } else { + // if the key is a global/arg operand, + // we need to populate it as soon as the value operand is found --- (2) + globalAndArgVarKeyOrValueLhsOperands.put( + valueOp, new BIRMappingConstructorEntryWithIndex(value, arrIndex)); + } + } else { + // value is a global/arg operand + // if the key is a temp/synthetic operand, we need to populate it as soon as key is found --- (3) + if (isTempOrSyntheticVar(keyVarDcl)) { + globalAndArgVarKeyOrValueLhsOperands.put( + keyOp, new BIRMappingConstructorEntryWithIndex(value, arrIndex)); + } else { + // if the key is also a global/arg operand, we can populate at the end --- (4) + setMapElement(globalAndArgVarIns, handleArrayOperand, valueOp, value, arrIndex, + parentFuncTempVars); + } + } + mapKeyOperandLocations.put(keyOp, null); + } else { + // this is a spread field entry. need to do same as arrays + // global/arg operands will be populated at the end, temp/synthetic operands as they are found + BIRNode.BIRMappingConstructorSpreadFieldEntry spreadFieldEntry = + (BIRNode.BIRMappingConstructorSpreadFieldEntry) value; + BIROperand exprOp = spreadFieldEntry.exprOp; + if (isTempOrSyntheticVar(exprOp.variableDcl)) { + // done same as (1) + birOperands.put(exprOp, new BIRMappingConstructorEntryWithIndex(value, arrIndex)); + mapValuesOperands.add(exprOp); + } else { + // done same as (4) + setMapElement(globalAndArgVarIns, handleArrayOperand, exprOp, value, arrIndex, + parentFuncTempVars); + } + } + arrIndex++; + } + return globalAndArgVarIns; + } + + private List getGlobalAndArgVarInsForArray(TempVarsForArraySplit parentFuncTempVars, + BIRNonTerminator.NewArray arrayIns, + BIROperand handleArrayOperand, + Map + birOperands, Set arrayValuesOperands) { + List globalAndArgVarIns = new ArrayList<>(); + int arrIndex = 0; + for (BIRNode.BIRListConstructorEntry value : arrayIns.values) { + BIRVariableDcl arrElementVarDcl = value.exprOp.variableDcl; + if (isTempOrSyntheticVar(arrElementVarDcl)) { + birOperands.put(value.exprOp, new BIRListConstructorEntryWithIndex(value, arrIndex)); + arrayValuesOperands.add(value.exprOp); + } else { + setArrayElement(globalAndArgVarIns, handleArrayOperand, value.exprOp, value, arrIndex, + parentFuncTempVars); + } + arrIndex++; + } + return globalAndArgVarIns; + } + + private void createAndAddNewHandleArrayForLargeMapIns(ParentFuncEnv parentFuncEnv, + BIRNonTerminator.NewStructure mapIns, + BIRVariableDcl handleArray, BIROperand handleArrayOperand) { + BIRVariableDcl arraySizeVarDcl = new BIRVariableDcl(null, symbolTable.intType, new Name("%mapEntryArraySize"), + VarScope.FUNCTION, VarKind.TEMP, null); + parentFuncEnv.parentFuncLocalVarList.add(arraySizeVarDcl); + BIROperand arraySizeOperand = new BIROperand(arraySizeVarDcl); + parentFuncEnv.parentFuncLocalVarList.add(handleArray); + JMethodCallInstruction callHandleArray = new JMethodCallInstruction(null); + callHandleArray.lhsOp = handleArrayOperand; + callHandleArray.invocationType = INVOKESTATIC; + callHandleArray.jClassName = LARGE_STRUCTURE_UTILS; + callHandleArray.jMethodVMSig = "(J)" + GET_HANDLE_VALUE; + callHandleArray.name = "getBMapInitialValueEntryArray"; + callHandleArray.args = Collections.singletonList(arraySizeOperand); + BIRNonTerminator.ConstantLoad loadArraySize = new BIRNonTerminator.ConstantLoad(null, + (long) mapIns.initialValues.size(), symbolTable.intType, arraySizeOperand); + parentFuncEnv.parentFuncNewInsList.add(loadArraySize); + parentFuncEnv.parentFuncNewInsList.add(callHandleArray); + } + + private void createAndAddNewHandleArrayForLargeArrayIns(ParentFuncEnv parentFuncEnv, + BIRNonTerminator.NewArray arrayIns, + BIRVariableDcl handleArray, BIROperand handleArrayOperand) { + BIRVariableDcl arraySizeVarDcl = new BIRVariableDcl(null, symbolTable.intType, new Name("%listEntryArraySize"), + VarScope.FUNCTION, VarKind.TEMP, null); + parentFuncEnv.parentFuncLocalVarList.add(arraySizeVarDcl); + BIROperand arraySizeOperand = new BIROperand(arraySizeVarDcl); + parentFuncEnv.parentFuncLocalVarList.add(handleArray); + JMethodCallInstruction callHandleArray = new JMethodCallInstruction(null); + callHandleArray.lhsOp = handleArrayOperand; + callHandleArray.invocationType = INVOKESTATIC; + callHandleArray.jClassName = LARGE_STRUCTURE_UTILS; + callHandleArray.jMethodVMSig = "(J)" + GET_HANDLE_VALUE; + callHandleArray.name = "getListInitialValueEntryArray"; + callHandleArray.args = Collections.singletonList(arraySizeOperand); + BIRNonTerminator.ConstantLoad loadArraySize = new BIRNonTerminator.ConstantLoad(null, + (long) arrayIns.values.size(), symbolTable.intType, arraySizeOperand); + parentFuncEnv.parentFuncNewInsList.add(loadArraySize); + parentFuncEnv.parentFuncNewInsList.add(callHandleArray); + } + + private Map getSplitPointsForMap(List bbs, Set mapValueOperands, + Map + globalAndArgVarKeyOrValueLhsOperands, + Map + globalAndArgVarKeyOrValueRelatedIns, + Map mapKeyOperandLocations) { + + // Here we also handle globalAndArgVarKeyOrValueLhsOperands and globalAndArgVarKeyOrValueRelatedIns + // which is related to global or arg vars. + + // For a key-value entry given both key values are temp/synthetic, + // we do not populate the map value if we do not have a key operand before + // the value operand. We have to check that when processing split points. Hence, we have to find where + // the map key operands are located. That is done in the same loop below. + + // a copy of arrayValueOperands is made to find first found map element operands from bottom + Set remainingArrayValueOperands = new HashSet<>(mapValueOperands); + + // Split points mean the places which are eligible for a split. i.e. we can split the parent function by + // moving instructions and terminators until this one (including this) to a new function. + // The criteria for choosing a split point are as follows. We go from bottom to top searching for map value + // operands in both RHS and LHS. If we find one, that is a split point, unless we find that previously in the + // same BB. A new flag is added to the split point to depict whether to split the function here (splitHere). + // If it is false only map entry populating instructions are added, no split is done. + Map insSplitPoints = new HashMap<>(); + for (int bbIndex = bbs.size() - 2; bbIndex >= 0; bbIndex--) { + Set operandsInSameBB = new HashSet<>(); + BIRBasicBlock bb = bbs.get(bbIndex); + List bbInstructions = bb.instructions; + BIROperand terminatorLhsOp = bb.terminator.lhsOp; + if (terminatorLhsOp != null) { + populateGlobalAndArgVarKeyOrValueRelatedIns(globalAndArgVarKeyOrValueLhsOperands, + globalAndArgVarKeyOrValueRelatedIns, bb.terminator, terminatorLhsOp); + } + int lastInsNum = getLastInsNumAndHandleTerminator(bbs, mapValueOperands, remainingArrayValueOperands, + insSplitPoints, bbIndex, operandsInSameBB, bb, bbInstructions); + for (int insIndex = lastInsNum; insIndex >= 0; insIndex--) { + BIRNonTerminator currIns = bbInstructions.get(insIndex); + BIROperand lhsOp = currIns.lhsOp; + if (lhsOp != null) { + if (mapKeyOperandLocations.containsKey(lhsOp) && mapKeyOperandLocations.get(lhsOp) == null) { + mapKeyOperandLocations.put(lhsOp, new NonTerminatorLocation(bbIndex, insIndex)); + } + populateGlobalAndArgVarKeyOrValueRelatedIns(globalAndArgVarKeyOrValueLhsOperands, + globalAndArgVarKeyOrValueRelatedIns, currIns, lhsOp); + addOperandToInsSplitPoints(mapValueOperands, insSplitPoints, currIns, lhsOp, operandsInSameBB, + remainingArrayValueOperands); + } + } + } + return insSplitPoints; + } + + private void populateGlobalAndArgVarKeyOrValueRelatedIns(Map + globalAndArgVarKeyOrValueLhsOperands, + Map + globalAndArgVarKeyOrValueRelatedIns, + BIRAbstractInstruction currIns, BIROperand lhsOp) { + if (globalAndArgVarKeyOrValueLhsOperands.containsKey(lhsOp)) { + globalAndArgVarKeyOrValueRelatedIns.put(currIns, globalAndArgVarKeyOrValueLhsOperands.get(lhsOp)); + globalAndArgVarKeyOrValueLhsOperands.remove(lhsOp); + } + } + + private int getLastInsNumAndHandleTerminator(List bbs, Set arrayOrMapValueOperands, + Set remainingArrayValueOperands, + Map insSplitPoints, + int bbIndex, Set operandsInSameBB, BIRBasicBlock bb, + List bbInstructions) { + int lastInsNum; + if (bbIndex == bbs.size() - 2) { + lastInsNum = bbInstructions.size() - 2; + } else { + lastInsNum = bbInstructions.size() - 1; + BIRTerminator bbTerminator = bb.terminator; + if (bbTerminator.kind != InstructionKind.BRANCH) { + // branch terminators are omitted from terminators because their boolean operands appear + // in a preceding instruction before the terminator. There we can do the split + populateInsSplitPoints(arrayOrMapValueOperands, insSplitPoints, bbTerminator, operandsInSameBB, + remainingArrayValueOperands); + } + if (bbTerminator.kind == InstructionKind.CALL) { + // When arrays have new objects created inside them, the object is created in one instruction + // and it is initialized/populated later by passing it as an argument to the $init$ function + // hence split function should be created after such function call + // only in this case we have to consider RHS operands (only function arguments) + BIRTerminator.Call callIns = (BIRTerminator.Call) bbTerminator; + if (callIns.name.value.contains(OBJECT_INITIALIZATION_FUNCTION_NAME)) { + for (BIROperand arg : callIns.args) { + addOperandToInsSplitPoints(arrayOrMapValueOperands, insSplitPoints, callIns, arg, + operandsInSameBB, remainingArrayValueOperands); + } + } + } + } + return lastInsNum; + } + + private Map getSplitPointsForArray(List bbs, + Set arrayValuesOperands) { + // a copy of arrayValueOperands is made to find first found array element operands from bottom + Set remainingArrayValueOperands = new HashSet<>(arrayValuesOperands); + + // Split points mean the places which are eligible for a split. i.e. we can split the parent function by + // moving instructions and terminators until this one (including this) to a new function. + // The criteria for choosing a split point are as follows. We go from bottom to top searching for array value + // operands in both RHS and LHS. If we find one, that is a split point, unless we find that previously in the + // same BB. A new flag is added to the split point to depict whether to split the function here (splitHere). + // If it is false only array populating instructions are added. + Map insSplitPoints = new HashMap<>(); + for (int bbIndex = bbs.size() - 2; bbIndex >= 0; bbIndex--) { + Set operandsInSameBB = new HashSet<>(); + BIRBasicBlock bb = bbs.get(bbIndex); + List bbInstructions = bb.instructions; + int lastInsNum = getLastInsNumAndHandleTerminator(bbs, arrayValuesOperands, remainingArrayValueOperands, + insSplitPoints, bbIndex, operandsInSameBB, bb, bbInstructions); + for (int insIndex = lastInsNum; insIndex >= 0; insIndex--) { + populateInsSplitPoints(arrayValuesOperands, insSplitPoints, bbInstructions.get(insIndex), + operandsInSameBB, remainingArrayValueOperands); + } + } + return insSplitPoints; + } + + private void populateInsSplitPoints(Set arrayValuesOperands, + Map insSplitPoints, + BIRAbstractInstruction ins, Set operandsInSameBB, + Set remainingArrayValueOperands) { + BIROperand insLhsOp = ins.lhsOp; + if (insLhsOp != null) { + addOperandToInsSplitPoints(arrayValuesOperands, insSplitPoints, ins, insLhsOp, operandsInSameBB, + remainingArrayValueOperands); + } + } + + private void addOperandToInsSplitPoints(Set arrayValuesOperands, + Map insSplitPoints, + BIRAbstractInstruction ins, BIROperand insOperand, + Set operandsInSameBB, + Set remainingArrayValueOperands) { + if (arrayValuesOperands.contains(insOperand) && !operandsInSameBB.contains(insOperand)) { + operandsInSameBB.add(insOperand); + if (insSplitPoints.containsKey(ins)) { + SplitPointDetails splitPointDetails = insSplitPoints.get(ins); + List operandList = splitPointDetails.arrayElementsBIROperands; + operandList.add(insOperand); + if (remainingArrayValueOperands.contains(insOperand)) { + remainingArrayValueOperands.remove(insOperand); + } else { + if (splitPointDetails.splitHere) { + splitPointDetails.splitHere = false; + } + } + } else { + List operandList = new ArrayList<>(); + operandList.add(insOperand); + if (remainingArrayValueOperands.contains(insOperand)) { + remainingArrayValueOperands.remove(insOperand); + insSplitPoints.put(ins, new SplitPointDetails(operandList, true)); + } else { + insSplitPoints.put(ins, new SplitPointDetails(operandList, false)); + } + } + } + } + + private Map getErrorOperandsAndTargetBBs(List errorTable) { + Map errorOperandsAndTargetBBs = new HashMap<>(); + for (BIRErrorEntry birErrorEntry : errorTable) { + errorOperandsAndTargetBBs.put(birErrorEntry.errorOp, birErrorEntry.targetBB.number); + } + return errorOperandsAndTargetBBs; + } + + private void splitParentFuncForPeriodicMapSplits(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction, + List bbs, + int newArrayInsBBNum, int newArrayInsNumInRelevantBB, + BIRVariableDcl handleArray, BIROperand handleArrayOperand, + Map birOperands, + SplitFuncEnv splitFuncEnv, + ParentFuncEnv parentFuncEnv, Set mapValuesOperands, + Map + globalAndArgVarKeyOrValueLhsOperands, + Map mapKeyOperandLocations) { + Map globalAndArgVarKeyOrValueRelatedIns = + new HashMap<>(); + Map insSplitPoints = getSplitPointsForMap(bbs, mapValuesOperands, + globalAndArgVarKeyOrValueLhsOperands, globalAndArgVarKeyOrValueRelatedIns, mapKeyOperandLocations); + Map errorOperandsAndTargetBBs = getErrorOperandsAndTargetBBs(parentFunc.errorTable); + // When an error table operand is found as an array element operand in the LHS of a non-terminator, + // the array element populating instructions should be put in the targetBB for the try-catch to work correctly. + List nextBBPendingIns = new ArrayList<>(); + List newBBInsList; + boolean mapElementSet; + for (int bbIndex = 0; bbIndex < bbs.size() - 1; bbIndex++) { + BIRBasicBlock bb = bbs.get(bbIndex); + handleBasicBlockStart(splitFuncEnv, nextBBPendingIns, bb); + for (int insIndex = 0; insIndex < bb.instructions.size(); insIndex++) { + if (bbIndex == 0 && insIndex == 0) { // map type ins + continue; + } else if ((bbIndex == newArrayInsBBNum) && (insIndex == newArrayInsNumInRelevantBB)) { + createNewFuncForPeriodicSplit(parentFunc, newlyAddingFunctions, fromAttachedFunction, + handleArray, splitFuncEnv, parentFuncEnv, bb, + bb.instructions.get(newArrayInsNumInRelevantBB)); + return; + } + + BIRNonTerminator bbIns = bb.instructions.get(insIndex); + BIROperand bbInsLhsOp = bbIns.lhsOp; + handleReturnValAssignedInstruction(splitFuncEnv, bb, bbInsLhsOp); + splitFuncEnv.splitFuncNewInsList.add(bbIns); + splitFuncEnv.periodicSplitInsCount++; + populateSplitFuncArgsAndLocalVarList(splitFuncEnv, bbIns); + newBBInsList = new ArrayList<>(); + mapElementSet = setMapElementGivenOperand(birOperands, newBBInsList, handleArrayOperand, + splitFuncEnv.splitFuncTempVars, insSplitPoints, bbIns, splitFuncEnv, mapKeyOperandLocations, + bbIndex, insIndex, globalAndArgVarKeyOrValueRelatedIns); + handleSplittingAtNonTerminator(parentFunc, newlyAddingFunctions, fromAttachedFunction, handleArray, + splitFuncEnv, parentFuncEnv, errorOperandsAndTargetBBs, nextBBPendingIns, newBBInsList, + mapElementSet, bb, bbIns, bbInsLhsOp); + } + handleBBInstructions(splitFuncEnv, bb); + // Next consider LHS op in the BIR terminator, branch terms won't have an array element as LHS op + // If we found a LHS op, we need to create a new BB and change the terminator + populateSplitFuncArgsAndLocalVarList(splitFuncEnv, bb.terminator); + splitFuncEnv.periodicSplitInsCount++; + newBBInsList = new ArrayList<>(); + mapElementSet = setMapElementGivenOperand(birOperands, newBBInsList, handleArrayOperand, + splitFuncEnv.splitFuncTempVars, insSplitPoints, bb.terminator, splitFuncEnv, mapKeyOperandLocations, + bbIndex, -1, globalAndArgVarKeyOrValueRelatedIns); + handleSplittingAtTerminator(parentFunc, newlyAddingFunctions, fromAttachedFunction, handleArray, + splitFuncEnv, parentFuncEnv, newBBInsList, mapElementSet, bb); + } + } + + private void handleSplittingAtTerminator(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction, BIRVariableDcl handleArray, + SplitFuncEnv splitFuncEnv, ParentFuncEnv parentFuncEnv, + List newBBInsList, boolean mapElementSet, + BIRBasicBlock bb) { + if (mapElementSet) { + splitFuncEnv.splitFuncCorrectTerminatorBBs.add(splitFuncEnv.splitFuncBB); + BIRBasicBlock newBB = new BIRBasicBlock(splitFuncEnv.splitFuncBBId++); + splitFuncEnv.splitFuncBB = new BIRBasicBlock(splitFuncEnv.splitFuncBBId++); + newBB.instructions.addAll(newBBInsList); + newBB.terminator = new BIRTerminator.GOTO(null, bb.terminator.thenBB, bb.terminator.scope); + bb.terminator.thenBB = newBB; // change the current BB's terminator to new BB where ins are put + splitFuncEnv.splitFuncNewBBList.add(newBB); + } else { + splitFuncEnv.splitFuncBB = new BIRBasicBlock(splitFuncEnv.splitFuncBBId++); + } + + if (bb.terminator.kind == InstructionKind.BRANCH) { + splitFuncEnv.splitOkay = false; + BIRTerminator.Branch branch = (BIRTerminator.Branch) bb.terminator; + int higherBBNumber = Math.max(branch.trueBB.number, branch.falseBB.number); + splitFuncEnv.doNotSplitTillThisBBNum = Math.max(splitFuncEnv.doNotSplitTillThisBBNum, higherBBNumber); + } + + if (splitFuncEnv.periodicSplitInsCount > INS_COUNT_PERIODIC_SPLIT_THRESHOLD && splitFuncEnv.splitOkay + && mapElementSet && splitFuncEnv.splitHere) { + createNewFuncForPeriodicSplit(parentFunc, newlyAddingFunctions, fromAttachedFunction, + handleArray, splitFuncEnv, parentFuncEnv, bb, bb.terminator); + } + } + + private void handleSplittingAtNonTerminator(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction, BIRVariableDcl handleArray, + SplitFuncEnv splitFuncEnv, ParentFuncEnv parentFuncEnv, + Map errorOperandsAndTargetBBs, + List nextBBPendingIns, + List newBBInsList, boolean mapElementSet, + BIRBasicBlock bb, BIRNonTerminator bbIns, BIROperand bbInsLhsOp) { + if (bbInsLhsOp != null && errorOperandsAndTargetBBs.containsKey(bbInsLhsOp)) { + nextBBPendingIns.addAll(newBBInsList); + splitFuncEnv.splitOkay = false; + splitFuncEnv.doNotSplitTillThisBBNum = Math.max(splitFuncEnv.doNotSplitTillThisBBNum, + errorOperandsAndTargetBBs.get(bbInsLhsOp)); + } else { + splitFuncEnv.splitFuncNewInsList.addAll(newBBInsList); + } + + // create split func if needed + if (splitFuncEnv.periodicSplitInsCount > INS_COUNT_PERIODIC_SPLIT_THRESHOLD && splitFuncEnv.splitOkay + && mapElementSet && splitFuncEnv.splitHere) { + createNewFuncForPeriodicSplit(parentFunc, newlyAddingFunctions, fromAttachedFunction, + handleArray, splitFuncEnv, parentFuncEnv, bb, bbIns); + } + } + + private void handleReturnValAssignedInstruction(SplitFuncEnv splitFuncEnv, BIRBasicBlock bb, + BIROperand bbInsLhsOp) { + if (!splitFuncEnv.returnValAssigned && bbInsLhsOp != null + && bbInsLhsOp.variableDcl.kind == VarKind.RETURN) { + splitFuncEnv.returnValAssigned = true; + // when the return val is assigned, there are no more ins in the BB + // and the terminator is of kind GOTO to the return BB + bb.terminator = new BIRTerminator.GOTO(bb.terminator.pos, splitFuncEnv.returnBB, + bb.terminator.scope); + splitFuncEnv.splitFuncCorrectTerminatorBBs.add(splitFuncEnv.splitFuncBB); + } + } + + private void handleBasicBlockStart(SplitFuncEnv splitFuncEnv, List nextBBPendingIns, + BIRBasicBlock bb) { + if (!splitFuncEnv.splitOkay && splitFuncEnv.doNotSplitTillThisBBNum == bb.number) { + splitFuncEnv.splitOkay = true; + splitFuncEnv.periodicSplitInsCount -= 1; + } + splitFuncEnv.splitFuncChangedBBs.put(bb.number, splitFuncEnv.splitFuncBB); + if (!nextBBPendingIns.isEmpty()) { + splitFuncEnv.splitFuncNewInsList.addAll(nextBBPendingIns); + nextBBPendingIns.clear(); + } + } + + private void splitParentFuncForPeriodicArraySplits(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction, + List bbs, + int newArrayInsBBNum, int newArrayInsNumInRelevantBB, + BIRVariableDcl handleArray, BIROperand handleArrayOperand, + Map birOperands, + SplitFuncEnv splitFuncEnv, + ParentFuncEnv parentFuncEnv, + Set arrayValuesOperands) { + Map insSplitPoints = getSplitPointsForArray(bbs, + arrayValuesOperands); + Map errorOperandsAndTargetBBs = getErrorOperandsAndTargetBBs(parentFunc.errorTable); + // When an error table operand is found as an array element operand in the LHS of a non-terminator, + // The array element populating instructions should be put in the targetBB for the try-catch to work correctly. + List nextBBPendingIns = new ArrayList<>(); + List newBBInsList; + boolean arrayElementSet; + for (int bbIndex = 0; bbIndex < bbs.size() - 1; bbIndex++) { + BIRBasicBlock bb = bbs.get(bbIndex); + handleBasicBlockStart(splitFuncEnv, nextBBPendingIns, bb); + for (int insIndex = 0; insIndex < bb.instructions.size(); insIndex++) { + if (bbIndex == 0 && insIndex == 0) { // array size ins + continue; + } else if ((bbIndex == newArrayInsBBNum) && (insIndex == newArrayInsNumInRelevantBB)) { + createNewFuncForPeriodicSplit(parentFunc, newlyAddingFunctions, fromAttachedFunction, + handleArray, splitFuncEnv, parentFuncEnv, bb, + bb.instructions.get(newArrayInsNumInRelevantBB)); + return; + } + + BIRNonTerminator bbIns = bb.instructions.get(insIndex); + BIROperand bbInsLhsOp = bbIns.lhsOp; + handleReturnValAssignedInstruction(splitFuncEnv, bb, bbInsLhsOp); + splitFuncEnv.splitFuncNewInsList.add(bbIns); + splitFuncEnv.periodicSplitInsCount++; + populateSplitFuncArgsAndLocalVarList(splitFuncEnv, bbIns); + newBBInsList = new ArrayList<>(); + arrayElementSet = setArrayElementGivenOperand(birOperands, newBBInsList, + handleArrayOperand, splitFuncEnv.splitFuncTempVars, insSplitPoints, bbIns, splitFuncEnv); + handleSplittingAtNonTerminator(parentFunc, newlyAddingFunctions, fromAttachedFunction, handleArray, + splitFuncEnv, parentFuncEnv, errorOperandsAndTargetBBs, nextBBPendingIns, newBBInsList, + arrayElementSet, bb, bbIns, bbInsLhsOp); + } + + handleBBInstructions(splitFuncEnv, bb); + + // Next consider LHS op in the BIR terminator, branch terms won't have an array element as LHS op + // If we found a LHS op, we need to create a new BB and change the terminator + populateSplitFuncArgsAndLocalVarList(splitFuncEnv, bb.terminator); + splitFuncEnv.periodicSplitInsCount++; + newBBInsList = new ArrayList<>(); + arrayElementSet = setArrayElementGivenOperand(birOperands, newBBInsList, handleArrayOperand, + splitFuncEnv.splitFuncTempVars, insSplitPoints, bb.terminator, splitFuncEnv); + handleSplittingAtTerminator(parentFunc, newlyAddingFunctions, fromAttachedFunction, handleArray, + splitFuncEnv, parentFuncEnv, newBBInsList, arrayElementSet, bb); + } + } + + private void handleBBInstructions(SplitFuncEnv splitFuncEnv, BIRBasicBlock bb) { + splitFuncEnv.splitFuncBB.instructions = splitFuncEnv.splitFuncNewInsList; + splitFuncEnv.splitFuncBB.terminator = bb.terminator; + splitFuncEnv.splitFuncNewBBList.add(splitFuncEnv.splitFuncBB); + splitFuncEnv.splitFuncNewInsList = new ArrayList<>(); + } + + private void createNewFuncForPeriodicSplit(BIRFunction parentFunc, List newlyAddingFunctions, + boolean fromAttachedFunction, BIRVariableDcl handleArray, + SplitFuncEnv splitFuncEnv, ParentFuncEnv parentFuncEnv, + BIRBasicBlock bb, BIRAbstractInstruction bbIns) { + splitFuncEnv.periodicSplitInsCount = 0; + if (splitFuncEnv.splitFuncTempVars.tempVarsUsed) { + splitFuncEnv.splitFuncArgs.add(handleArray); + } + + // Create a new split BIRFunction + List paramTypes = new ArrayList<>(); + for (BIRVariableDcl funcArg : splitFuncEnv.splitFuncArgs) { + paramTypes.add(funcArg.type); + } + BType funcRetType = splitFuncEnv.returnValAssigned ? symbolTable.errorOrNilType : symbolTable.nilType; + BInvokableType type = new BInvokableType(paramTypes, funcRetType, null); + splitFuncNum += 1; + String splitFuncName = SPLIT_METHOD + splitFuncNum; + Name newFuncName = new Name(splitFuncName); + BIRFunction splitBirFunc = new BIRFunction(parentFunc.pos, newFuncName, newFuncName, 0, type, + DEFAULT_WORKER_NAME, 0, SymbolOrigin.VIRTUAL); + + populateSplitFuncLocalVarsAndErrorTable(parentFunc, splitFuncEnv, parentFuncEnv, bb, bbIns, funcRetType, + splitBirFunc); + + // need to add BBs and () return var assignment and return BB + BIRNonTerminator.ConstantLoad constantLoad = new BIRNonTerminator.ConstantLoad(bbIns.pos, + new Name("()"), symbolTable.nilType, splitFuncEnv.returnOperand); + splitFuncEnv.splitFuncNewInsList.add(constantLoad); + splitFuncEnv.splitFuncBB.instructions.addAll(splitFuncEnv.splitFuncNewInsList); + + BIRBasicBlock exitBB = splitFuncEnv.returnBB; + exitBB.terminator = new BIRTerminator.Return(null); + splitFuncEnv.splitFuncBB.terminator = new BIRTerminator.GOTO(null, exitBB, bbIns.scope); + splitFuncEnv.splitFuncCorrectTerminatorBBs.add(splitFuncEnv.splitFuncBB); + splitFuncEnv.splitFuncNewBBList.add(splitFuncEnv.splitFuncBB); + + fixTerminatorBBsInPeriodicSplitFunc(splitFuncEnv); + + splitFuncEnv.splitFuncBBId = BIRGenUtils.renumberBasicBlock(splitFuncEnv.splitFuncBBId, exitBB); + splitFuncEnv.splitFuncNewBBList.add(exitBB); + splitBirFunc.basicBlocks = splitFuncEnv.splitFuncNewBBList; + newlyAddingFunctions.add(splitBirFunc); + + fixErrorTableInPeriodicSplitFunc(splitFuncEnv, splitBirFunc); + // split function would not have VarKind.LOCAL splitBirFunc.localVars. + // Hence no need to correct localVar.startBB and localVar.endBB + + // now we need to call this function from parent func + List args = new ArrayList<>(); + for (BIRVariableDcl funcArg : splitFuncEnv.splitFuncArgs) { + args.add(new BIROperand(funcArg)); + } + + BIRBasicBlock parentFuncNextBB = new BIRBasicBlock(parentFuncEnv.parentFuncBBId++); + parentFuncEnv.parentFuncNewBB.instructions = parentFuncEnv.parentFuncNewInsList; + + BIROperand splitFuncCallResultOp = null; + if (splitFuncEnv.returnValAssigned) { + splitFuncCallResultOp = generateTempLocalVariable(symbolTable.errorOrNilType, + parentFuncEnv.parentFuncLocalVarList); + } + parentFuncEnv.parentFuncNewBB.terminator = new BIRTerminator.Call(bbIns.pos, InstructionKind.CALL, + false, currentPackageId, newFuncName, args, splitFuncCallResultOp, parentFuncNextBB, + Collections.emptyList(), Collections.emptySet(), bbIns.scope); + + parentFuncEnv.parentFuncNewInsList = new ArrayList<>(); + parentFuncEnv.parentFuncNewBBList.add(parentFuncEnv.parentFuncNewBB); + parentFuncEnv.parentFuncNewBB = parentFuncNextBB; + + if (splitFuncEnv.returnValAssigned) { + BIROperand isErrorResultOp = generateTempLocalVariable(symbolTable.booleanType, + parentFuncEnv.parentFuncLocalVarList); + BIRNonTerminator errorTestIns = new BIRNonTerminator.TypeTest(null, symbolTable.errorType, + isErrorResultOp, splitFuncCallResultOp); + parentFuncEnv.parentFuncNewInsList.add(errorTestIns); + parentFuncEnv.parentFuncNewBB.instructions = parentFuncEnv.parentFuncNewInsList; + BIRBasicBlock trueBB = new BIRBasicBlock(parentFuncEnv.parentFuncBBId++); + BIRBasicBlock falseBB = new BIRBasicBlock(parentFuncEnv.parentFuncBBId++); + parentFuncEnv.parentFuncNewBB.terminator = new BIRTerminator.Branch(null, isErrorResultOp, trueBB, + falseBB, bbIns.scope); + parentFuncEnv.parentFuncNewBBList.add(parentFuncEnv.parentFuncNewBB); + BIROperand castedErrorOp = generateTempLocalVariable(symbolTable.errorType, + parentFuncEnv.parentFuncLocalVarList); + BIRNonTerminator typeCastErrIns = new BIRNonTerminator.TypeCast(null, castedErrorOp, + splitFuncCallResultOp, symbolTable.errorType, false); + trueBB.instructions.add(typeCastErrIns); + BIRNonTerminator moveIns = new BIRNonTerminator.Move(null, castedErrorOp, + parentFuncEnv.returnOperand); + trueBB.instructions.add(moveIns); + trueBB.terminator = new BIRTerminator.GOTO(null, parentFuncEnv.returnBB, bbIns.scope); + parentFuncEnv.parentFuncNewBBList.add(trueBB); + parentFuncEnv.parentFuncNewBB = falseBB; + parentFuncEnv.parentFuncNewInsList = new ArrayList<>(); + } + + splitFuncEnv.reset(getTempVarsForArraySplit(), fromAttachedFunction); + } + + private void populateSplitFuncLocalVarsAndErrorTable(BIRFunction parentFunc, SplitFuncEnv splitFuncEnv, + ParentFuncEnv parentFuncEnv, BIRBasicBlock bb, + BIRAbstractInstruction bbIns, BType funcRetType, + BIRFunction splitBirFunc) { + List functionParams = new ArrayList<>(); + for (BIRVariableDcl funcArg : splitFuncEnv.splitFuncArgs) { + Name argName = funcArg.name; + splitBirFunc.requiredParams.add(new BIRParameter(bbIns.pos, argName, 0)); + BIRFunctionParameter funcParameter = new BIRFunctionParameter(bbIns.pos, funcArg.type, argName, + VarScope.FUNCTION, VarKind.ARG, argName.getValue(), false, false); + functionParams.add(funcParameter); + splitBirFunc.parameters.add(funcParameter); + } + splitBirFunc.argsCount = splitFuncEnv.splitFuncArgs.size(); + splitBirFunc.returnVariable = splitFuncEnv.returnVarDcl; + splitFuncEnv.returnVarDcl.type = funcRetType; + splitBirFunc.localVars.add(0, splitBirFunc.returnVariable); + splitBirFunc.localVars.addAll(functionParams); + splitBirFunc.localVars.addAll(splitFuncEnv.splitFuncLocalVarList); + + if (splitFuncEnv.splitFuncTempVars.tempVarsUsed) { + splitBirFunc.localVars.add(splitFuncEnv.splitFuncTempVars.arrayIndexVarDcl); + splitBirFunc.localVars.add(splitFuncEnv.splitFuncTempVars.typeCastVarDcl); + } + + while (parentFuncEnv.errorTableIndex < parentFunc.errorTable.size() + && parentFunc.errorTable.get(parentFuncEnv.errorTableIndex).trapBB.number <= bb.number) { + splitFuncEnv.splitFuncErrorTable.add(parentFunc.errorTable.get(parentFuncEnv.errorTableIndex)); + parentFuncEnv.errorTableIndex++; + } + splitBirFunc.errorTable = splitFuncEnv.splitFuncErrorTable; + } + + private void fixErrorTableInPeriodicSplitFunc(SplitFuncEnv splitFuncEnv, BIRFunction splitBirFunc) { + Map changedBBs = splitFuncEnv.splitFuncChangedBBs; + for (BIRErrorEntry birErrorEntry : splitBirFunc.errorTable) { + if (changedBBs.containsKey(birErrorEntry.trapBB.number)) { + birErrorEntry.trapBB = changedBBs.get(birErrorEntry.trapBB.number); + } + if (changedBBs.containsKey(birErrorEntry.endBB.number)) { + birErrorEntry.endBB = changedBBs.get(birErrorEntry.endBB.number); + } + if (changedBBs.containsKey(birErrorEntry.targetBB.number)) { + birErrorEntry.targetBB = changedBBs.get(birErrorEntry.targetBB.number); + } + } + } + + private void fixTerminatorBBsInPeriodicSplitFunc(SplitFuncEnv splitFuncEnv) { + List bbList = splitFuncEnv.splitFuncNewBBList; + BIRBasicBlock beforeLastBB = null; + for (BIRBasicBlock basicBlock : bbList) { + if (!splitFuncEnv.splitFuncCorrectTerminatorBBs.contains(basicBlock)) { + BIRTerminator terminator = basicBlock.terminator; + Map changedBBs = splitFuncEnv.splitFuncChangedBBs; + if (terminator.thenBB != null) { + if (changedBBs.containsKey(terminator.thenBB.number)) { + terminator.thenBB = changedBBs.get(terminator.thenBB.number); + } else { + if (beforeLastBB == null) { + beforeLastBB = getBeforeLastBB(splitFuncEnv); + } + terminator.thenBB = beforeLastBB; + } + } + + switch (terminator.getKind()) { + case GOTO: + if (changedBBs.containsKey( + ((BIRTerminator.GOTO) terminator).targetBB.number)) { + ((BIRTerminator.GOTO) terminator).targetBB = changedBBs.get( + ((BIRTerminator.GOTO) terminator).targetBB.number); + } else { + if (beforeLastBB == null) { + beforeLastBB = getBeforeLastBB(splitFuncEnv); + } + ((BIRTerminator.GOTO) terminator).targetBB = beforeLastBB; + } + break; + case BRANCH: + BIRTerminator.Branch branchTerminator = (BIRTerminator.Branch) terminator; + if (changedBBs.containsKey(branchTerminator.trueBB.number)) { + branchTerminator.trueBB = changedBBs.get( + branchTerminator.trueBB.number); + } + if (changedBBs.containsKey(branchTerminator.falseBB.number)) { + branchTerminator.falseBB = changedBBs.get( + branchTerminator.falseBB.number); + } + break; + default: + break; + } + } + } + if (beforeLastBB != null) { + bbList.add(beforeLastBB); + } + } + + private BIRBasicBlock getBeforeLastBB(SplitFuncEnv splitFuncEnv) { + BIRBasicBlock beforeLastBB = new BIRBasicBlock(splitFuncEnv.splitFuncBBId++); + BIRNonTerminator.ConstantLoad constantLoad = new BIRNonTerminator.ConstantLoad( + splitFuncEnv.returnBB.terminator.pos, new Name("()"), symbolTable.nilType, + splitFuncEnv.returnOperand); + beforeLastBB.instructions.add(constantLoad); + beforeLastBB.terminator = new BIRTerminator.GOTO(null, splitFuncEnv.returnBB, + splitFuncEnv.returnBB.terminator.scope); + return beforeLastBB; + } + + private void populateSplitFuncArgsAndLocalVarList(SplitFuncEnv splitFuncEnv, BIRAbstractInstruction bbIns) { + for (BIROperand rhsOperand : bbIns.getRhsOperands()) { + if (!splitFuncEnv.splitAvailableOperands.contains(rhsOperand) + && needToPassRhsVarDclAsArg(rhsOperand)) { + splitFuncEnv.splitFuncArgs.add(rhsOperand.variableDcl); + } + } + if (bbIns.lhsOp != null) { + splitFuncEnv.splitAvailableOperands.add(bbIns.lhsOp); + if (needToPassLhsVarDclAsArg(bbIns.lhsOp)) { + splitFuncEnv.splitFuncArgs.add(bbIns.lhsOp.variableDcl); + } + if (isTempOrSyntheticVar(bbIns.lhsOp.variableDcl)) { + splitFuncEnv.splitFuncLocalVarList.add(bbIns.lhsOp.variableDcl); + } + } + } + + private TempVarsForArraySplit getTempVarsForArraySplit() { + BIRVariableDcl arrayIndexVarDcl = new BIRVariableDcl(null, symbolTable.intType, + new Name("%arrIndex"), VarScope.FUNCTION, VarKind.TEMP, null); + BIRVariableDcl typeCastVarDcl = new BIRVariableDcl(null, symbolTable.anyOrErrorType, + new Name("%typeCast"), VarScope.FUNCTION, VarKind.TEMP, null); + return new TempVarsForArraySplit(arrayIndexVarDcl, typeCastVarDcl); + } + + private boolean setMapElementGivenOperand(Map birOperands, + List newInsList, BIROperand handleArrayOperand, + TempVarsForArraySplit tempVars, + Map insSplitPoints, + BIRAbstractInstruction currIns, SplitFuncEnv splitFuncEnv, + Map mapKeyOperandLocations, + int bbIndex, int insIndex, Map globalAndArgVarKeyOrValueRelatedIns) { + boolean splitPointsContainCurrIns = insSplitPoints.containsKey(currIns); + if (splitPointsContainCurrIns) { + SplitPointDetails splitPointDetails = insSplitPoints.get(currIns); + List currOperands = splitPointDetails.arrayElementsBIROperands; + for (BIROperand currOperand : currOperands) { + BIRMappingConstructorEntryWithIndex mappingConstructorEntryWithIndex = birOperands.get(currOperand); + BIRNode.BIRMappingConstructorEntry mappingConstructorEntry = mappingConstructorEntryWithIndex + .mappingConstructorEntry; + boolean isKeyValueEntry = mappingConstructorEntry instanceof BIRNode.BIRMappingConstructorKeyValueEntry; + if (isKeyValueEntry && insIndex != -1) { + BIROperand keyOperand = ((BIRNode.BIRMappingConstructorKeyValueEntry) mappingConstructorEntry) + .keyOp; + if (mapKeyOperandLocations.containsKey(keyOperand)) { + NonTerminatorLocation nonTerminatorLocation = mapKeyOperandLocations.get(keyOperand); + if (nonTerminatorLocation != null && (nonTerminatorLocation.bbNum > bbIndex || + (nonTerminatorLocation.bbNum == bbIndex && nonTerminatorLocation.insNum > insIndex))) { + splitPointDetails.splitHere = false; + continue; + } + } + } + int arrayIndex = mappingConstructorEntryWithIndex.index; + setMapElement(newInsList, handleArrayOperand, currOperand, mappingConstructorEntry, arrayIndex, + tempVars); + } + // no need to set in else part as it will not affect since splitNow is considered along with this + splitFuncEnv.splitHere = splitPointDetails.splitHere; + } + boolean globalAndArgVarKeyInsContainsCurrIns = globalAndArgVarKeyOrValueRelatedIns.containsKey(currIns); + if (globalAndArgVarKeyInsContainsCurrIns) { + // no need to set in else part as it will not affect since splitNow is considered along with this + if (!splitPointsContainCurrIns) { + splitFuncEnv.splitHere = true; + } + BIRMappingConstructorEntryWithIndex mappingConstructorEntryWithIndex = + globalAndArgVarKeyOrValueRelatedIns.get(currIns); + BIRNode.BIRMappingConstructorKeyValueEntry keyValueEntry = + (BIRNode.BIRMappingConstructorKeyValueEntry) mappingConstructorEntryWithIndex + .mappingConstructorEntry; + int arrayIndex = mappingConstructorEntryWithIndex.index; + BIROperand valueOperand = keyValueEntry.valueOp; + setMapElement(newInsList, handleArrayOperand, valueOperand, keyValueEntry, arrayIndex, + tempVars); + BIRVariableDcl valueVarDcl = valueOperand.variableDcl; + addToSplitFuncArgsIfVarDclIsArg(splitFuncEnv, valueVarDcl); + BIRVariableDcl keyVarDcl = keyValueEntry.keyOp.variableDcl;; + addToSplitFuncArgsIfVarDclIsArg(splitFuncEnv, keyVarDcl); + } + return splitPointsContainCurrIns || globalAndArgVarKeyInsContainsCurrIns; + } + + private void addToSplitFuncArgsIfVarDclIsArg(SplitFuncEnv splitFuncEnv, BIRVariableDcl variableDcl) { + if (variableDcl.kind == VarKind.ARG) { + splitFuncEnv.splitFuncArgs.add(variableDcl); + } + } + + private boolean setArrayElementGivenOperand(Map birOperands, + List newInsList, BIROperand handleArrayOperand, + TempVarsForArraySplit tempVars, + Map insSplitPoints, + BIRAbstractInstruction currIns, SplitFuncEnv splitFuncEnv) { + if (insSplitPoints.containsKey(currIns)) { + SplitPointDetails splitPointDetails = insSplitPoints.get(currIns); + List currOperands = splitPointDetails.arrayElementsBIROperands; + for (BIROperand currOperand : currOperands) { + BIRListConstructorEntryWithIndex listConstructorEntryWithIndex = birOperands.get(currOperand); + BIRNode.BIRListConstructorEntry listConstructorEntry = listConstructorEntryWithIndex + .listConstructorEntry; + int arrayIndex = listConstructorEntryWithIndex.index; + setArrayElement(newInsList, handleArrayOperand, currOperand, listConstructorEntry, arrayIndex, + tempVars); + } + // no need to set the below in else part as it will not affect since splitNow is considered along with this + splitFuncEnv.splitHere = splitPointDetails.splitHere; + return true; + } + return false; + } + + private void setMapElement(List newInsList, + BIROperand handleArrayOperand, BIROperand valueOrExprOperand, + BIRNode.BIRMappingConstructorEntry mappingConstructorEntry, int arrayIndex, + TempVarsForArraySplit tempVars) { + JMethodCallInstruction callSetEntry = new JMethodCallInstruction(null); + callSetEntry.invocationType = INVOKESTATIC; + callSetEntry.jClassName = LARGE_STRUCTURE_UTILS; + tempVars.tempVarsUsed = true; + BIRNonTerminator.ConstantLoad loadArrayIndex = new BIRNonTerminator.ConstantLoad(null, + (long) arrayIndex, symbolTable.intType, tempVars.arrayIndexOperand); + newInsList.add(loadArrayIndex); + + BIRNonTerminator.TypeCast typeCastInstruction = new BIRNonTerminator.TypeCast(null, + tempVars.typeCastOperand, valueOrExprOperand, symbolTable.anyOrErrorType, true); + newInsList.add(typeCastInstruction); + + if (mappingConstructorEntry instanceof BIRNode.BIRMappingConstructorKeyValueEntry) { + callSetEntry.jMethodVMSig = "(" + GET_HANDLE_VALUE + GET_OBJECT + GET_OBJECT + "J)V"; + callSetEntry.args = new ArrayList<>(Arrays.asList(handleArrayOperand, + ((BIRNode.BIRMappingConstructorKeyValueEntry) mappingConstructorEntry).keyOp, + tempVars.typeCastOperand, tempVars.arrayIndexOperand)); + callSetEntry.name = "setKeyValueEntry"; + } else { + callSetEntry.jMethodVMSig = HANDLE_OBJECT_LONG_ARGS; + callSetEntry.args = new ArrayList<>(Arrays.asList(handleArrayOperand, tempVars.typeCastOperand, + tempVars.arrayIndexOperand)); + callSetEntry.name = "setSpreadFieldEntry"; + } + newInsList.add(callSetEntry); + } + + private void setArrayElement(List newInsList, + BIROperand handleArrayOperand, BIROperand insLhsOp, + BIRNode.BIRListConstructorEntry listConstructorEntry, int arrayIndex, + TempVarsForArraySplit tempVars) { + JMethodCallInstruction callSetEntry = new JMethodCallInstruction(null); + callSetEntry.invocationType = INVOKESTATIC; + callSetEntry.jClassName = LARGE_STRUCTURE_UTILS; + callSetEntry.jMethodVMSig = HANDLE_OBJECT_LONG_ARGS; + tempVars.tempVarsUsed = true; + BIRNonTerminator.ConstantLoad loadArrayIndex = new BIRNonTerminator.ConstantLoad(null, + (long) arrayIndex, symbolTable.intType, tempVars.arrayIndexOperand); + newInsList.add(loadArrayIndex); + + BIRNonTerminator.TypeCast typeCastInstruction = new BIRNonTerminator.TypeCast(null, + tempVars.typeCastOperand, insLhsOp, symbolTable.anyOrErrorType, true); + newInsList.add(typeCastInstruction); + callSetEntry.args = new ArrayList<>(Arrays.asList(handleArrayOperand, tempVars.typeCastOperand, + tempVars.arrayIndexOperand)); + + if (listConstructorEntry instanceof BIRNode.BIRListConstructorExprEntry) { + callSetEntry.name = "setExpressionEntry"; + } else { + callSetEntry.name = "setSpreadEntry"; + } + newInsList.add(callSetEntry); + } + /** * Obtain a list of possible splits that can be done inside a function due to large no. of instructions. * * @param basicBlocks available basic block list of the function * @param errorTableEntries available error table entries of the function + * @param fromSplitFunction whether the parent function is a split function * @return a list of possible splits */ - private List getPossibleSplits(List basicBlocks, List errorTableEntries) { + private List getPossibleSplits(List basicBlocks, List errorTableEntries, + boolean fromSplitFunction) { List possibleSplits = new ArrayList<>(); List newFuncArgs; int splitEndBBIndex = basicBlocks.size() - 1; // goes from end to beginning @@ -216,8 +1270,8 @@ private List getPossibleSplits(List basicBlocks, List= FUNCTION_INSTRUCTION_COUNT_THRESHOLD; // splitTypeArray variable can be used here if that information is needed later - possibleSplits.add(new Split(insNum, splitEndInsIndex, bbNum, splitEndBBIndex, - lhsOperandList, newFuncArgs, splitErrorTableEntries, splitAgain, returnValAssigned)); + possibleSplits.add(new Split(insNum, splitEndInsIndex, bbNum, splitEndBBIndex, lhsOperandList, + newFuncArgs, splitErrorTableEntries, splitAgain, splitTypeArray, returnValAssigned)); splitStarted = false; } } else { @@ -237,7 +1291,8 @@ private List getPossibleSplits(List basicBlocks, List possibleSplits, possibleSplits.get(splitNum).firstIns)); } splitFuncNum += 1; - String newFunctionName = "$split$method$_" + splitFuncNum; + String newFunctionName = SPLIT_METHOD + splitFuncNum; Name newFuncName = new Name(newFunctionName); Split currSplit = possibleSplits.get(splitNum); splitNum += 1; @@ -388,7 +1443,7 @@ private void generateSplits(BIRFunction function, List possibleSplits, BIROperand splitLastInsLhsOp = new BIROperand(lastInstruction.lhsOp.variableDcl); BIROperand splitFuncCallResultOp; if (currSplit.returnValAssigned) { - splitFuncCallResultOp = generateTempLocalVariable(function, newFuncReturnType); + splitFuncCallResultOp = generateTempLocalVariable(newFuncReturnType, function.localVars); newFuncReturnType = createErrorUnionReturnType(newFuncReturnType); } else { splitFuncCallResultOp = splitLastInsLhsOp; @@ -400,10 +1455,12 @@ private void generateSplits(BIRFunction function, List possibleSplits, newBBNum += 2; newlyAddedFunctions.add(newBIRFunc); if (currSplit.splitFurther) { - newlyAddedFunctions.addAll(splitBIRFunction(newBIRFunc, fromAttachedFunction)); + newlyAddedFunctions.addAll(splitBIRFunction(newBIRFunc, fromAttachedFunction, true, + currSplit.splitTypeArray)); } function.errorTable.removeAll(currSplit.errorTableEntries); startInsNum = currSplit.lastIns + 1; + List args = new ArrayList<>(); for (BIRVariableDcl funcArg : currSplit.funcArgs) { args.add(new BIROperand(funcArg)); @@ -429,12 +1486,14 @@ private void generateSplits(BIRFunction function, List possibleSplits, // unused temp and synthetic vars in the original function are removed // and onlyUsedInSingleBB flag in BIRVariableDcl is changed in needed places removeUnusedVarsAndSetVarUsage(function); - // set error table changed BBs + // renumbering BBs is not necessary here as it will be done later + // fixing the error table does not require BBs to be properly ordered fixErrorTableEndBBs(function.errorTable, changedErrorTableEndBB); } private void fixErrorTableEndBBs(List errorTable, Map changedErrorTableEndBB) { + // set error table changed BBs for (BIRErrorEntry birErrorEntry : errorTable) { if (changedErrorTableEndBB.containsKey(birErrorEntry.endBB.number)) { birErrorEntry.endBB = changedErrorTableEndBB.get(birErrorEntry.endBB.number); @@ -463,7 +1522,7 @@ private BType createErrorUnionReturnType(BType newFuncReturnType) { private BIRBasicBlock handleNewFuncReturnVal(BIRFunction function, BIROperand splitFuncCallResultOp, BirScope lastInsScope, BIRBasicBlock currentBB, int newBBNum, List newBBList, BIROperand splitLastInsLhsOp) { - BIROperand isErrorResultOp = generateTempLocalVariable(function, symbolTable.booleanType); + BIROperand isErrorResultOp = generateTempLocalVariable(symbolTable.booleanType, function.localVars); BIRNonTerminator errorTestIns = new BIRNonTerminator.TypeTest(null, symbolTable.errorType, isErrorResultOp, splitFuncCallResultOp); currentBB.instructions.add(errorTestIns); @@ -471,7 +1530,7 @@ private BIRBasicBlock handleNewFuncReturnVal(BIRFunction function, BIROperand sp BIRBasicBlock falseBB = new BIRBasicBlock(++newBBNum); currentBB.terminator = new BIRTerminator.Branch(null, isErrorResultOp, trueBB, falseBB, lastInsScope); newBBList.add(currentBB); - BIROperand castedErrorOp = generateTempLocalVariable(function, symbolTable.errorType); + BIROperand castedErrorOp = generateTempLocalVariable(symbolTable.errorType, function.localVars); BIRNonTerminator typeCastErrIns = new BIRNonTerminator.TypeCast(null, castedErrorOp, splitFuncCallResultOp, symbolTable.errorType, false); trueBB.instructions.add(typeCastErrIns); @@ -594,8 +1653,8 @@ private void setLocalVarStartEndBB(BIRFunction birFunction, List * @param currSplit ongoing split details * @param newBBNum last BB id num of the parent function * @param fromAttachedFunction flag which indicates an original attached function is being split - * @param changedErrorTableEndBB error tables end BBs which needs to be changed - * @param parentFuncNewBB new BIRBasicBlock being added to the parent function + * @param changedErrorTableEndBB changed error table end basic block map + * @param parentFuncNewBB parent function new BB * @return newly created BIR function */ private BIRFunction createNewBIRFunctionAcrossBB(BIRFunction parentFunc, Name funcName, BType retType, @@ -679,6 +1738,7 @@ private BIRFunction createNewBIRFunctionAcrossBB(BIRFunction parentFunc, Name fu basicBlocks.add(lastBB); basicBlocks.add(exitBB); rectifyVarKindsAndTerminators(birFunc, selfVarDcl, exitBB); + rearrangeBasicBlocks(birFunc); return birFunc; } @@ -729,7 +1789,7 @@ private BIRBasicBlock generateSplitsInSameBB(BIRFunction function, int bbNum, Li for (int splitNum = 0; splitNum < possibleSplits.size(); splitNum++) { splitFuncNum += 1; - String newFunctionName = "$split$method$_" + splitFuncNum; + String newFunctionName = SPLIT_METHOD + splitFuncNum; Name newFuncName = new Name(newFunctionName); BIROperand currentBBTerminatorLhsOp = new BIROperand(instructionList.get(possibleSplits.get(splitNum).lastIns).lhsOp.variableDcl); @@ -740,7 +1800,8 @@ private BIRBasicBlock generateSplitsInSameBB(BIRFunction function, int bbNum, Li possibleSplits.get(splitNum).lhsVars, possibleSplits.get(splitNum).funcArgs, fromAttachedFunction); newlyAddedFunctions.add(newBIRFunc); if (possibleSplits.get(splitNum).splitFurther) { - newlyAddedFunctions.addAll(splitBIRFunction(newBIRFunc, fromAttachedFunction)); + newlyAddedFunctions.addAll(splitBIRFunction(newBIRFunc, fromAttachedFunction, true, + possibleSplits.get(splitNum).splitTypeArray)); } currentBB.instructions.addAll(instructionList.subList(startInsNum, possibleSplits.get(splitNum).firstIns)); startInsNum = possibleSplits.get(splitNum).lastIns + 1; @@ -764,14 +1825,31 @@ private BIRBasicBlock generateSplitsInSameBB(BIRFunction function, int bbNum, Li /** * Generate a temporary function scope variable. * - * @param func The BIR function to which the variable should be added * @param variableType The type of the variable + * @param funcLocalVarList The BIR function local var list to which the variable should be added * @return The generated operand for the variable declaration */ - private BIROperand generateTempLocalVariable(BIRFunction func, BType variableType) { + private BIROperand generateTempLocalVariable(BType variableType, List funcLocalVarList) { + BIRVariableDcl variableDcl = getSplitTempVariableDcl(variableType); + funcLocalVarList.add(variableDcl); + return new BIROperand(variableDcl); + } + + private BIRVariableDcl getSplitTempVariableDcl(BType variableType) { Name variableName = new Name("$split$tempVar$_" + splitTempVarNum++); - BIRVariableDcl variableDcl = new BIRVariableDcl(variableType, variableName, VarScope.FUNCTION, VarKind.TEMP); - func.localVars.add(variableDcl); + return new BIRVariableDcl(variableType, variableName, VarScope.FUNCTION, VarKind.TEMP); + } + + /** + * Generate a temporary function scope variable. + * + * @param variableType The type of the variable + * @param funcLocalVarList The BIR function local var set to which the variable should be added + * @return The generated operand for the variable declaration + */ + private BIROperand generateTempLocalVariable(BType variableType, Set funcLocalVarList) { + BIRVariableDcl variableDcl = getSplitTempVariableDcl(variableType); + funcLocalVarList.add(variableDcl); return new BIROperand(variableDcl); } @@ -842,13 +1920,13 @@ private BIRFunction createNewBIRFuncForSplitInBB(BIRFunction parentFunc, Name fu return birFunc; } - private BIRVariableDcl getArgVarKindVarDcl(BIRVariableDcl variableDcl) { - return new BIRVariableDcl(variableDcl.pos, variableDcl.type, variableDcl.name, variableDcl.originalName, - VarScope.FUNCTION, VarKind.ARG, variableDcl.metaVarName); - } - private void rectifyVarKindsAndTerminators(BIRFunction birFunction, BIRVariableDcl selfVarDcl, BIRBasicBlock returnBB) { + Map funcArgsWithName = new HashMap<>(); + for (BIRFunctionParameter parameter : birFunction.parameters) { + funcArgsWithName.put(parameter.name, parameter); + } + Map newRhsOperands = new HashMap<>(); for (BIRBasicBlock basicBlock : birFunction.basicBlocks) { for (BIRNonTerminator instruction : basicBlock.instructions) { if (instruction.lhsOp.variableDcl.kind == VarKind.SELF) { @@ -857,28 +1935,50 @@ private void rectifyVarKindsAndTerminators(BIRFunction birFunction, BIRVariableD instruction.lhsOp.variableDcl = birFunction.returnVariable; basicBlock.terminator = new BIRTerminator.GOTO(null, returnBB, basicBlock.terminator.scope); } - BIROperand[] rhsOperands = instruction.getRhsOperands(); - for (BIROperand rhsOperand : rhsOperands) { - if (rhsOperand.variableDcl.kind == VarKind.SELF) { - rhsOperand.variableDcl = selfVarDcl; - } else if (rhsOperand.variableDcl.kind == VarKind.LOCAL) { - rhsOperand.variableDcl = getArgVarKindVarDcl(rhsOperand.variableDcl); - } - } + setInsRhsOperands(selfVarDcl, funcArgsWithName, instruction, newRhsOperands); } if ((basicBlock.terminator.lhsOp != null) && (basicBlock.terminator.lhsOp.variableDcl.kind == VarKind.SELF)) { basicBlock.terminator.lhsOp.variableDcl = selfVarDcl; } - BIROperand[] rhsOperands = basicBlock.terminator.getRhsOperands(); - for (BIROperand rhsOperand : rhsOperands) { - if (rhsOperand.variableDcl.kind == VarKind.SELF) { - rhsOperand.variableDcl = selfVarDcl; - } else if (rhsOperand.variableDcl.kind == VarKind.LOCAL) { - rhsOperand.variableDcl = getArgVarKindVarDcl(rhsOperand.variableDcl); - } + setInsRhsOperands(selfVarDcl, funcArgsWithName, basicBlock.terminator, newRhsOperands); + } + } + + private void setInsRhsOperands(BIRVariableDcl selfVarDcl, Map funcArgsWithName, + BIRAbstractInstruction instruction, Map newRhsOperands) { + if (selfVarDcl == null && funcArgsWithName.isEmpty()) { + return; + } + List operandList = new ArrayList<>(); + boolean foundArgs = false; + BIROperand[] rhsOperands = instruction.getRhsOperands(); + for (BIROperand rhsOperand : rhsOperands) { + if (rhsOperand.variableDcl.kind == VarKind.SELF) { + foundArgs = true; + populateNewRHSOperands(selfVarDcl, operandList, newRhsOperands, rhsOperand); + } else if (funcArgsWithName.containsKey(rhsOperand.variableDcl.name)) { + foundArgs = true; + populateNewRHSOperands(funcArgsWithName.get(rhsOperand.variableDcl.name), operandList, newRhsOperands, + rhsOperand); + } else { + operandList.add(rhsOperand); } } + if (foundArgs) { + instruction.setRhsOperands(operandList.toArray(new BIROperand[0])); + } + } + + private static void populateNewRHSOperands(BIRVariableDcl variableDcl, List operandList, + Map newRhsOperands, BIROperand rhsOperand) { + if (!newRhsOperands.containsKey(rhsOperand.variableDcl)) { + BIROperand newOperand = new BIROperand(variableDcl); + operandList.add(newOperand); + newRhsOperands.put(rhsOperand.variableDcl, newOperand); + } else { + operandList.add(newRhsOperands.get(rhsOperand.variableDcl)); + } } static class Split { @@ -887,23 +1987,158 @@ static class Split { int startBBNum; int endBBNum; boolean splitFurther; + boolean splitTypeArray; boolean returnValAssigned; Set lhsVars; List funcArgs; List errorTableEntries; private Split(int firstIns, int lastIns, int startBBNum, int endBBNum, Set lhsVars, - List funcArgs, List errorTableEntries, boolean splitFurther, - boolean returnValAssigned) { + List funcArgs, List errorTableEntries, boolean splitFurther, + boolean splitTypeArray, boolean returnValAssigned) { this.firstIns = firstIns; this.lastIns = lastIns; this.startBBNum = startBBNum; this.endBBNum = endBBNum; this.splitFurther = splitFurther; + this.splitTypeArray = splitTypeArray; this.returnValAssigned = returnValAssigned; this.lhsVars = lhsVars; this.funcArgs = funcArgs; this.errorTableEntries = errorTableEntries; } } + + static class SplitPointDetails { + List arrayElementsBIROperands; // BIROperands which are the array elements + // whether to split to a function here. This is made true if only, all the array element operands + // in this instruction are first found when going from bottom to top + boolean splitHere; + + private SplitPointDetails(List arrayElementsBIROperands, boolean splitHere) { + this.arrayElementsBIROperands = arrayElementsBIROperands; + this.splitHere = splitHere; + } + } + + static class BIRListConstructorEntryWithIndex { + BIRNode.BIRListConstructorEntry listConstructorEntry; + int index; + + private BIRListConstructorEntryWithIndex(BIRNode.BIRListConstructorEntry listConstructorEntry, int index) { + this.listConstructorEntry = listConstructorEntry; + this.index = index; + } + } + + static class BIRMappingConstructorEntryWithIndex { + BIRNode.BIRMappingConstructorEntry mappingConstructorEntry; + int index; + + private BIRMappingConstructorEntryWithIndex(BIRNode.BIRMappingConstructorEntry mappingConstructorEntry, + int index) { + this.mappingConstructorEntry = mappingConstructorEntry; + this.index = index; + } + } + + static class NonTerminatorLocation { + int bbNum; + int insNum; + + private NonTerminatorLocation(int bbNum, int insNum) { + this.bbNum = bbNum; + this.insNum = insNum; + } + } + + static class TempVarsForArraySplit { + BIRVariableDcl arrayIndexVarDcl; + BIRVariableDcl typeCastVarDcl; + BIROperand arrayIndexOperand; + BIROperand typeCastOperand; + boolean tempVarsUsed = false; + + private TempVarsForArraySplit(BIRVariableDcl arrayIndexVarDcl, BIRVariableDcl typeCastVarDcl) { + this.arrayIndexVarDcl = arrayIndexVarDcl; + this.typeCastVarDcl = typeCastVarDcl; + this.arrayIndexOperand = new BIROperand(arrayIndexVarDcl); + this.typeCastOperand = new BIROperand(typeCastVarDcl); + } + } + + static class SplitFuncEnv { + List splitFuncNewBBList = new ArrayList<>(); + List splitFuncNewInsList = new ArrayList<>(); + Set splitFuncLocalVarList = new HashSet<>(); + Set splitAvailableOperands = new HashSet<>(); + Set splitFuncArgs = new LinkedHashSet<>(); // see hashset is possible + List splitFuncErrorTable = new ArrayList<>(); + //for split functions we need to always create BBs, change terminators BB, local var end BBs, and error table + Map splitFuncChangedBBs = new HashMap<>(); + Set splitFuncCorrectTerminatorBBs = new HashSet<>(); + int periodicSplitInsCount = 0; + boolean splitOkay = true; // this is made false when there is branch terminator + int doNotSplitTillThisBBNum = 0; + boolean returnValAssigned = false; + int splitFuncBBId = 0; + BIRBasicBlock splitFuncBB = new BIRBasicBlock(splitFuncBBId++); + TempVarsForArraySplit splitFuncTempVars; + BIRBasicBlock returnBB = new BIRBasicBlock(-1); + BIRVariableDcl returnVarDcl; + BIROperand returnOperand; + boolean splitHere = false; // this is set from SplitPointDetails splitHere field + + private SplitFuncEnv(TempVarsForArraySplit splitFuncTempVars, boolean fromAttachedFunction) { + this.splitFuncTempVars = splitFuncTempVars; + if (fromAttachedFunction) { + this.returnVarDcl = new BIRVariableDcl(null, null, new Name("%1"), + VarScope.FUNCTION, VarKind.RETURN, null); + } else { + this.returnVarDcl = new BIRVariableDcl(null, null, new Name("%0"), + VarScope.FUNCTION, VarKind.RETURN, null); + } + this.returnOperand = new BIROperand(this.returnVarDcl); + } + + void reset(TempVarsForArraySplit tempVars, boolean fromAttachedFunc) { + this.splitFuncNewBBList = new ArrayList<>(); + this.splitFuncNewInsList = new ArrayList<>(); + this.splitFuncLocalVarList = new HashSet<>(); + this.splitAvailableOperands = new HashSet<>(); + this.splitFuncArgs = new LinkedHashSet<>(); // see hashset is possible + this.splitFuncErrorTable = new ArrayList<>(); + this.splitFuncChangedBBs = new HashMap<>(); + this.splitFuncCorrectTerminatorBBs = new HashSet<>(); + this.splitFuncTempVars = tempVars; + this.splitFuncBBId = 0; + this.splitFuncBB = new BIRBasicBlock(this.splitFuncBBId++); + this.splitOkay = true; + this.returnValAssigned = false; + if (fromAttachedFunc) { + this.returnVarDcl = new BIRVariableDcl(null, null, new Name("%1"), + VarScope.FUNCTION, VarKind.RETURN, null); + } else { + this.returnVarDcl = new BIRVariableDcl(null, null, new Name("%0"), + VarScope.FUNCTION, VarKind.RETURN, null); + } + this.returnOperand = new BIROperand(this.returnVarDcl); + this.returnBB = new BIRBasicBlock(-1); + } + } + + static class ParentFuncEnv { + List parentFuncNewBBList = new ArrayList<>(); + List parentFuncNewInsList = new ArrayList<>(); + Set parentFuncLocalVarList = new HashSet<>(); + int errorTableIndex = 0; + int parentFuncBBId = 0; + BIRBasicBlock parentFuncNewBB = new BIRBasicBlock(parentFuncBBId++); + BIRBasicBlock returnBB; + BIROperand returnOperand; + + private ParentFuncEnv(BIRBasicBlock returnBB) { + this.returnBB = returnBB; + } + } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/BIREmitter.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/BIREmitter.java index 0a2ab560dc23..8d560bc1eb11 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/BIREmitter.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/BIREmitter.java @@ -49,32 +49,33 @@ public class BIREmitter { private static final CompilerContext.Key BIR_EMITTER = new CompilerContext.Key<>(); private static final PrintStream console = System.out; - private boolean dumbBIR; + private boolean dumpBIR; public static BIREmitter getInstance(CompilerContext context) { - BIREmitter birEmitter = context.get(BIR_EMITTER); if (birEmitter == null) { birEmitter = new BIREmitter(context); } - return birEmitter; } private BIREmitter(CompilerContext context) { - context.put(BIR_EMITTER, this); CompilerOptions compilerOptions = CompilerOptions.getInstance(context); - this.dumbBIR = getBooleanValueIfSet(compilerOptions, CompilerOptionName.DUMP_BIR); + this.dumpBIR = getBooleanValueIfSet(compilerOptions, CompilerOptionName.DUMP_BIR); } public BLangPackage emit(BLangPackage bLangPackage) { - if (dumbBIR) { - console.println(emitModule(bLangPackage.symbol.bir)); - } + emit(bLangPackage.symbol.bir); return bLangPackage; } + public void emit(BIRNode.BIRPackage birPackage) { + if (dumpBIR) { + console.println(emitModule(birPackage)); + } + } + public static String emitModule(BIRNode.BIRPackage mod) { String modStr = "================ Emitting Module ================"; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/EmitterUtils.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/EmitterUtils.java index 4a956796364e..fc4281c9a06f 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/EmitterUtils.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/EmitterUtils.java @@ -44,6 +44,9 @@ static String emitName(Name name) { } static String emitVarRef(BIROperand ref) { + if (ref == null) { + return "null"; + } return emitName(ref.variableDcl.name); } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/InstructionEmitter.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/InstructionEmitter.java index 797c47c88865..7170b792e483 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/InstructionEmitter.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/emit/InstructionEmitter.java @@ -50,6 +50,8 @@ */ class InstructionEmitter { + private static final byte INITIAL_VALUE_COUNT = 10; + private InstructionEmitter() {} static String emitInstructions(List instructions, int tabs) { @@ -174,10 +176,33 @@ private static String emitInsNewMap(BIRNonTerminator.NewStructure ins, int tabs) nMapStr += "NewMap"; nMapStr += emitSpaces(1); nMapStr += emitVarRef(ins.rhsOp); + nMapStr += "{"; + nMapStr += emitMapValues(ins.initialValues); + nMapStr += "}"; nMapStr += ";"; return nMapStr; } + private static String emitMapValues(List initialValues) { + if (initialValues.isEmpty()) { + return ""; + } + StringBuilder outStr = new StringBuilder(); + for (int i = 0; i < Math.min(initialValues.size(), INITIAL_VALUE_COUNT); i++) { + BIRNode.BIRMappingConstructorEntry mappingEntry = initialValues.get(i); + if (mappingEntry instanceof BIRNode.BIRMappingConstructorKeyValueEntry) { + BIRNode.BIRMappingConstructorKeyValueEntry entry = + (BIRNode.BIRMappingConstructorKeyValueEntry) mappingEntry; + outStr.append(emitVarRef(entry.keyOp)).append(":").append(emitVarRef(entry.valueOp)).append(","); + } else { + outStr.append(emitVarRef(((BIRNode.BIRMappingConstructorSpreadFieldEntry) mappingEntry).exprOp)) + .append(","); + } + } + return initialValues.size() > INITIAL_VALUE_COUNT ? outStr.append("...").toString() + : outStr.substring(0, outStr.length() - 1); + } + private static String emitInsNewTable(BIRNonTerminator.NewTable ins, int tabs) { String nMapStr = ""; nMapStr += emitTabs(tabs); @@ -237,10 +262,23 @@ private static String emitInsNewArray(BIRNonTerminator.NewArray ins, int tabs) { str += "["; str += emitVarRef(ins.sizeOp); str += "]"; + str += "{"; + str += emitArrayValues(ins.values); + str += "}"; str += ";"; return str; } + private static String emitArrayValues(List values) { + int operandArraySize = Math.min(INITIAL_VALUE_COUNT, values.size()); + BIROperand[] valueOperands = new BIROperand[operandArraySize]; + for (int i = 0; i < operandArraySize; i++) { + valueOperands[i] = values.get(i).exprOp; + } + String result = emitVarRefs(valueOperands); + return values.size() > INITIAL_VALUE_COUNT ? result + ",..." : result; + } + private static String emitInsNewError(BIRNonTerminator.NewError ins, int tabs) { String str = ""; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRAbstractInstruction.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRAbstractInstruction.java index af61b4316a01..084b3c5b8172 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRAbstractInstruction.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRAbstractInstruction.java @@ -41,4 +41,6 @@ public InstructionKind getKind() { } public abstract BIROperand[] getRhsOperands(); + + public abstract void setRhsOperands(BIROperand[] operands); } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRNonTerminator.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRNonTerminator.java index dbdb767f6f4a..99dde8d801da 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRNonTerminator.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRNonTerminator.java @@ -40,11 +40,6 @@ public BIRNonTerminator(Location pos, InstructionKind kind) { super(pos, kind); } - @Override - public InstructionKind getKind() { - return this.kind; - } - /** * A move instruction that copy a value from variable to a temp location, vice versa. *

@@ -75,6 +70,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.rhsOp = operands[0]; + } } /** @@ -114,6 +114,12 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp1, rhsOp2}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.rhsOp1 = operands[0]; + this.rhsOp2 = operands[1]; + } } /** @@ -146,6 +152,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.rhsOp = operands[0]; + } } /** @@ -180,6 +191,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } } /** @@ -231,6 +247,22 @@ public BIROperand[] getRhsOperands() { operands = Arrays.copyOf(operands, i); return operands; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.rhsOp = operands[0]; + int i = 1; + for (BIRMappingConstructorEntry mappingEntry : initialValues) { + if (mappingEntry instanceof BIRMappingConstructorKeyValueEntry) { + BIRMappingConstructorKeyValueEntry entry = (BIRMappingConstructorKeyValueEntry) mappingEntry; + entry.keyOp = operands[i++]; + entry.valueOp = operands[i++]; + } else { + BIRMappingConstructorSpreadFieldEntry entry = (BIRMappingConstructorSpreadFieldEntry) mappingEntry; + entry.exprOp = operands[i++]; + } + } + } } /** @@ -277,6 +309,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } } /** @@ -328,6 +365,18 @@ public BIROperand[] getRhsOperands() { } return operands; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + int i = 0; + if (typedescOp != null) { + typedescOp = operands[i++]; + } + sizeOp = operands[i++]; + for (BIRListConstructorEntry listValueEntry : values) { + listValueEntry.exprOp = operands[i++]; + } + } } /** @@ -383,6 +432,12 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{keyOp, rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + keyOp = operands[0]; + rhsOp = operands[1]; + } } /** @@ -419,6 +474,13 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{messageOp, causeOp, detailOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + messageOp = operands[0]; + causeOp = operands[1]; + detailOp = operands[2]; + } } /** @@ -451,6 +513,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + rhsOp = operands[0]; + } } /** @@ -480,6 +547,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + rhsOp = operands[0]; + } } /** @@ -509,6 +581,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + rhsOp = operands[0]; + } } /** @@ -539,6 +616,12 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{startTagOp, defaultNsURIOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + startTagOp = operands[0]; + defaultNsURIOp = operands[1]; + } } /** @@ -571,6 +654,13 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{localnameOp, nsURIOp, prefixOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + localnameOp = operands[0]; + nsURIOp = operands[1]; + prefixOp = operands[2]; + } } /** @@ -598,6 +688,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{stringQNameOP}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + stringQNameOP = operands[0]; + } } /** @@ -621,6 +716,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + // Do nothing + } } /** @@ -646,6 +746,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{textOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + textOp = operands[0]; + } } /** @@ -676,6 +781,12 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{dataOp, targetOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + dataOp = operands[0]; + targetOp = operands[1]; + } } /** @@ -703,6 +814,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{textOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + textOp = operands[0]; + } } /** @@ -729,6 +845,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{rhsOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + rhsOp = operands[0]; + } } /** @@ -784,6 +905,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return closureMaps.toArray(new BIROperand[0]); } + + @Override + public void setRhsOperands(BIROperand[] operands) { + closureMaps = Arrays.asList(operands); + } } /** @@ -812,6 +938,12 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{keyColOp, dataOp}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + keyColOp = operands[0]; + dataOp = operands[1]; + } } /** @@ -822,7 +954,7 @@ public BIROperand[] getRhsOperands() { * @since 0.995.0 */ public static class NewTypeDesc extends BIRNonTerminator { - public final List closureVars; + public List closureVars; public BType type; public BIROperand annotations; @@ -857,6 +989,15 @@ public BIROperand[] getRhsOperands() { operands[i] = annotations; return operands; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + closureVars = new ArrayList<>(Arrays.asList(operands)); + if (annotations != null) { + closureVars.remove(closureVars.size() - 1); + annotations = operands[operands.length - 1]; + } + } } /** @@ -882,6 +1023,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{reDisjunction}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + reDisjunction = operands[0]; + } } /** @@ -890,7 +1036,7 @@ public BIROperand[] getRhsOperands() { * @since 2201.3.0 */ public static class NewReDisjunction extends BIRNonTerminator { - public final BIROperand sequences; + public BIROperand sequences; public NewReDisjunction(Location pos, BIROperand seqList, BIROperand lhsOp) { super(pos, InstructionKind.NEW_RE_DISJUNCTION); @@ -907,6 +1053,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{sequences}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + sequences = operands[0]; + } } /** @@ -915,7 +1066,7 @@ public BIROperand[] getRhsOperands() { * @since 2201.3.0 */ public static class NewReSequence extends BIRNonTerminator { - public final BIROperand terms; + public BIROperand terms; public NewReSequence(Location pos, BIROperand termsList, BIROperand lhsOp) { super(pos, InstructionKind.NEW_RE_SEQUENCE); @@ -932,6 +1083,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{terms}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + terms = operands[0]; + } } /** @@ -957,6 +1113,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.assertion}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.assertion = operands[0]; + } } /** @@ -984,6 +1145,12 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.atom, this.quantifier}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.atom = operands[0]; + this.quantifier = operands[1]; + } } /** @@ -1009,6 +1176,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.charOrEscape}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.charOrEscape = operands[0]; + } } /** @@ -1041,6 +1213,14 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.classStart, this.negation, this.charSet, this.classEnd}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.classStart = operands[0]; + this.negation = operands[1]; + this.charSet = operands[2]; + this.classEnd = operands[3]; + } } /** @@ -1066,6 +1246,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.charSetAtoms}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.charSetAtoms = operands[0]; + } } /** @@ -1096,6 +1281,13 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.lhsCharSetAtom, this.dash, this.rhsCharSetAtom}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.lhsCharSetAtom = operands[0]; + this.dash = operands[1]; + this.rhsCharSetAtom = operands[2]; + } } /** @@ -1128,6 +1320,14 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.openParen, this.flagExpr, this.reDisjunction, this.closeParen}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.openParen = operands[0]; + this.flagExpr = operands[1]; + this.reDisjunction = operands[2]; + this.closeParen = operands[3]; + } } /** @@ -1158,6 +1358,13 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.questionMark, this.flagsOnOff, this.colon}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.questionMark = operands[0]; + this.flagsOnOff = operands[1]; + this.colon = operands[2]; + } } /** @@ -1183,6 +1390,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.flags}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.flags = operands[0]; + } } /** @@ -1210,5 +1422,11 @@ public void accept(BIRVisitor visitor) { public BIROperand[] getRhsOperands() { return new BIROperand[]{this.quantifier, this.nonGreedyChar}; } + + @Override + public void setRhsOperands(BIROperand[] operands) { + this.quantifier = operands[0]; + this.nonGreedyChar = operands[1]; + } } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRTerminator.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRTerminator.java index a1be4f72a791..4dd37845dfee 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRTerminator.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/bir/model/BIRTerminator.java @@ -22,6 +22,8 @@ import org.ballerinalang.model.elements.PackageID; import org.wso2.ballerinalang.compiler.util.Name; +import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -42,11 +44,6 @@ public BIRTerminator(Location pos, InstructionKind kind) { this.kind = kind; } - @Override - public InstructionKind getKind() { - return this.kind; - } - public abstract BIRBasicBlock[] getNextBasicBlocks(); /** @@ -82,6 +79,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{targetBB}; @@ -154,6 +156,11 @@ public BIROperand[] getRhsOperands() { return args.toArray(new BIROperand[0]); } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.args = List.of(operands); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; @@ -257,6 +264,13 @@ public BIROperand[] getRhsOperands() { return operands; } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.fp = operands[0]; + this.args = new ArrayList<>(); + this.args.addAll(Arrays.asList(operands).subList(1, operands.length)); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; @@ -286,6 +300,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[0]; @@ -330,6 +349,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[]{op}; } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.op = operands[0]; + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{trueBB, falseBB}; @@ -372,6 +396,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{lockedBB}; @@ -407,6 +436,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[]{localVar}; } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.localVar = operands[0]; + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{lockedBB}; @@ -445,6 +479,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{unlockBB}; @@ -484,6 +523,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[]{errorOp}; } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.errorOp = operands[0]; + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[0]; @@ -526,6 +570,11 @@ public BIROperand[] getRhsOperands() { return exprList.toArray(new BIROperand[0]); } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.exprList = new ArrayList<>(Arrays.asList(operands)); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; @@ -568,6 +617,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; @@ -614,6 +668,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[0]; } + @Override + public void setRhsOperands(BIROperand[] operands) { + // do nothing + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; @@ -667,6 +726,11 @@ public BIROperand[] getRhsOperands() { return new BIROperand[]{data}; } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.data = operands[0]; + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; @@ -704,6 +768,11 @@ public BIROperand[] getRhsOperands() { return valueExprs.toArray(new BIROperand[0]); } + @Override + public void setRhsOperands(BIROperand[] operands) { + this.valueExprs = Arrays.asList(operands); + } + @Override public BIRBasicBlock[] getNextBasicBlocks() { return new BIRBasicBlock[]{thenBB}; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClassClosureDesugar.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClassClosureDesugar.java index 3a58caeb4053..2a118e67b8be 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClassClosureDesugar.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClassClosureDesugar.java @@ -96,6 +96,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -137,7 +138,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangObjectTypeNode; import org.wso2.ballerinalang.compiler.tree.types.BLangRecordTypeNode; @@ -919,9 +919,9 @@ public void visit(BLangStringTemplateLiteral stringTemplateLiteral) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - workerSendNode.expr = rewriteExpr(workerSendNode.expr); - result = workerSendNode; + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + asyncSendExpr.expr = rewriteExpr(asyncSendExpr.expr); + result = asyncSendExpr; } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureDesugar.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureDesugar.java index 87f353143f2b..c6c8d18f7461 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureDesugar.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureDesugar.java @@ -113,6 +113,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -154,7 +155,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1503,9 +1503,9 @@ public void visit(BLangStringTemplateLiteral stringTemplateLiteral) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - workerSendNode.expr = rewriteExpr(workerSendNode.expr); - result = workerSendNode; + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + asyncSendExpr.expr = rewriteExpr(asyncSendExpr.expr); + result = asyncSendExpr; } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureGenerator.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureGenerator.java index 0258d331b5ba..38a81d2fd0f7 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureGenerator.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ClosureGenerator.java @@ -114,6 +114,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -155,7 +156,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1178,9 +1178,9 @@ public void visit(BLangStringTemplateLiteral stringTemplateLiteral) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - workerSendNode.expr = rewriteExpr(workerSendNode.expr); - result = workerSendNode; + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + asyncSendExpr.expr = rewriteExpr(asyncSendExpr.expr); + result = asyncSendExpr; } @Override @@ -1210,7 +1210,7 @@ public void visit(BLangSimpleVarRef.BLangLocalVarRef localVarRef) { private void updateClosureVariable(BVarSymbol varSymbol, BLangInvokableNode encInvokable, Location pos) { Set flagSet = encInvokable.flagSet; boolean isClosure = !flagSet.contains(Flag.QUERY_LAMBDA) && flagSet.contains(Flag.LAMBDA) && - !flagSet.contains(Flag.ATTACHED); + !flagSet.contains(Flag.ATTACHED) && varSymbol.owner.tag != SymTag.PACKAGE; if (!varSymbol.closure && isClosure) { SymbolEnv encInvokableEnv = findEnclosingInvokableEnv(env, encInvokable); BSymbol resolvedSymbol = diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ConstantPropagation.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ConstantPropagation.java index b3dbf03ddc1b..98d1ded642ad 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ConstantPropagation.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/ConstantPropagation.java @@ -123,6 +123,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -169,7 +170,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangErrorType; import org.wso2.ballerinalang.compiler.tree.types.BLangFiniteTypeNode; @@ -610,9 +610,9 @@ public void visit(BLangErrorDestructure stmt) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - workerSendNode.expr = rewrite(workerSendNode.expr); - result = workerSendNode; + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + asyncSendExpr.expr = rewrite(asyncSendExpr.expr); + result = asyncSendExpr; } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/Desugar.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/Desugar.java index e02b7df1b9e7..6667848e98ef 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/Desugar.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/Desugar.java @@ -217,6 +217,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -275,7 +276,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -6094,7 +6094,7 @@ private void rewriteFieldBasedAccess(BLangFieldBasedAccess fieldAccessExpr) { targetVarRef = new BLangStructFieldAccessExpr(fieldAccessExpr.pos, fieldAccessExpr.expr, stringLit, (BVarSymbol) fieldAccessExpr.symbol, false, fieldAccessExpr.isStoreOnCreation); } - } else if (types.isLax(refType)) { + } else if (types.isLaxFieldAccessAllowed(refType)) { if (!(refType.tag == TypeTags.XML || refType.tag == TypeTags.XML_ELEMENT)) { if (refType.tag == TypeTags.MAP && TypeTags.isXMLTypeTag(((BMapType) refType).constraint.tag)) { result = rewriteExpr(rewriteLaxMapAccess(fieldAccessExpr)); @@ -8127,9 +8127,9 @@ private BLangFunction createUserDefinedObjectInitFn(BLangClassDefinition classDe } @Override - public void visit(BLangWorkerSend workerSendNode) { - workerSendNode.expr = visitCloneInvocation(rewriteExpr(workerSendNode.expr), workerSendNode.expr.getBType()); - result = workerSendNode; + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + asyncSendExpr.expr = visitCloneInvocation(rewriteExpr(asyncSendExpr.expr), asyncSendExpr.expr.getBType()); + result = asyncSendExpr; } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/QueryDesugar.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/QueryDesugar.java index 35e431922615..0da56bec6a4a 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/QueryDesugar.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/desugar/QueryDesugar.java @@ -134,6 +134,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -177,7 +178,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangErrorType; import org.wso2.ballerinalang.compiler.tree.types.BLangLetVariable; @@ -2720,9 +2720,8 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - workerSendNode.expr = rewrite(workerSendNode.expr); - result = workerSendNode; + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + this.acceptNode(asyncSendExpr.expr); } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java index 274c4f9f0c83..d5925bfaeeaf 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/BLangNodeBuilder.java @@ -412,6 +412,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr.BLangWaitKeyValue; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -468,7 +469,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -3125,22 +3125,16 @@ private BLangErrorVariableDef createErrorVariableDef(BLangVariable errorVar) { @Override public BLangNode transform(ExpressionStatementNode expressionStatement) { - SyntaxKind kind = expressionStatement.expression().kind(); - switch (kind) { - case ASYNC_SEND_ACTION: - return expressionStatement.expression().apply(this); - default: - BLangExpressionStmt bLExpressionStmt = - (BLangExpressionStmt) TreeBuilder.createExpressionStatementNode(); - bLExpressionStmt.expr = createExpression(expressionStatement.expression()); - bLExpressionStmt.pos = getPosition(expressionStatement); - return bLExpressionStmt; - } + BLangExpressionStmt bLExpressionStmt = + (BLangExpressionStmt) TreeBuilder.createExpressionStatementNode(); + bLExpressionStmt.expr = createExpression(expressionStatement.expression()); + bLExpressionStmt.pos = getPosition(expressionStatement); + return bLExpressionStmt; } @Override public BLangNode transform(AsyncSendActionNode asyncSendActionNode) { - BLangWorkerSend workerSendNode = (BLangWorkerSend) TreeBuilder.createWorkerSendNode(); + BLangWorkerAsyncSendExpr workerSendNode = (BLangWorkerAsyncSendExpr) TreeBuilder.createWorkerSendNode(); workerSendNode.setWorkerName(createIdentifier(getPosition(asyncSendActionNode.peerWorker()), asyncSendActionNode.peerWorker().name())); workerSendNode.expr = createExpression(asyncSendActionNode.expression()); @@ -3203,14 +3197,7 @@ private BLangWaitKeyValue getWaitForAllExpr(Node waitFields) { @Override public BLangNode transform(StartActionNode startActionNode) { BLangNode expression = createActionOrExpression(startActionNode.expression()); - - BLangInvocation invocation; - if (!(expression instanceof BLangWorkerSend)) { - invocation = (BLangInvocation) expression; - } else { - invocation = (BLangInvocation) ((BLangWorkerSend) expression).expr; - expression = ((BLangWorkerSend) expression).expr; - } + BLangInvocation invocation = (BLangInvocation) expression; if (expression.getKind() == NodeKind.INVOCATION) { BLangActionInvocation actionInvocation = (BLangActionInvocation) TreeBuilder.createActionInvocation(); @@ -5477,14 +5464,6 @@ private BLangUnaryExpr createBLangUnaryExpr(Location location, } private BLangExpression createExpression(Node expression) { - if (expression.kind() == SyntaxKind.ASYNC_SEND_ACTION) { - // TODO: support async send as expression #24849 - dlog.error(getPosition(expression), DiagnosticErrorCode.ASYNC_SEND_NOT_YET_SUPPORTED_AS_EXPRESSION); - Token missingIdentifier = NodeFactory.createMissingToken(SyntaxKind.IDENTIFIER_TOKEN, - NodeFactory.createEmptyMinutiaeList(), NodeFactory.createEmptyMinutiaeList()); - expression = NodeFactory.createSimpleNameReferenceNode(missingIdentifier); - } - return (BLangExpression) createActionOrExpression(expression); } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/NodeCloner.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/NodeCloner.java index 310b082508dc..b1c4f0fd72cb 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/NodeCloner.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/parser/NodeCloner.java @@ -160,6 +160,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr.BLangWaitKeyValue; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -214,7 +215,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1020,12 +1020,12 @@ public void visit(BLangForkJoin source) { } @Override - public void visit(BLangWorkerSend source) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { - BLangWorkerSend clone = new BLangWorkerSend(); - source.cloneRef = clone; - clone.expr = clone(source.expr); - clone.workerIdentifier = source.workerIdentifier; + BLangWorkerAsyncSendExpr clone = new BLangWorkerAsyncSendExpr(); + asyncSendExpr.cloneRef = clone; + clone.expr = clone(asyncSendExpr.expr); + clone.workerIdentifier = asyncSendExpr.workerIdentifier; } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/CodeAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/CodeAnalyzer.java index d140424458b9..2b0cd02f697e 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/CodeAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/CodeAnalyzer.java @@ -166,6 +166,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangValueExpression; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -220,7 +221,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1997,47 +1997,45 @@ private boolean workerExists(BType type, String workerName, SymbolEnv env) { // Asynchronous Send Statement @Override - public void visit(BLangWorkerSend workerSendNode, AnalyzerData data) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr, AnalyzerData data) { BSymbol receiver = - symResolver.lookupSymbolInMainSpace(data.env, names.fromIdNode(workerSendNode.workerIdentifier)); + symResolver.lookupSymbolInMainSpace(data.env, names.fromIdNode(asyncSendExpr.workerIdentifier)); if ((receiver.tag & SymTag.VARIABLE) != SymTag.VARIABLE) { receiver = symTable.notFoundSymbol; } - verifyPeerCommunication(workerSendNode.pos, receiver, workerSendNode.workerIdentifier.value, data.env); + verifyPeerCommunication(asyncSendExpr.pos, receiver, asyncSendExpr.workerIdentifier.value, data.env); WorkerActionSystem was = data.workerActionSystemStack.peek(); if (data.withinLockBlock) { - this.dlog.error(workerSendNode.pos, DiagnosticErrorCode.WORKER_SEND_ACTION_NOT_ALLOWED_IN_LOCK_STATEMENT); + this.dlog.error(asyncSendExpr.pos, DiagnosticErrorCode.WORKER_SEND_ACTION_NOT_ALLOWED_IN_LOCK_STATEMENT); was.hasErrors = true; } - BType type = workerSendNode.expr.getBType(); + BType type = asyncSendExpr.expr.getBType(); if (type == symTable.semanticError) { // Error of this is already printed as undef-var was.hasErrors = true; - } else if (workerSendNode.expr instanceof ActionNode) { - this.dlog.error(workerSendNode.expr.pos, DiagnosticErrorCode.INVALID_SEND_EXPR); - } else if (!types.isAssignable(type, symTable.cloneableType)) { - this.dlog.error(workerSendNode.pos, DiagnosticErrorCode.INVALID_TYPE_FOR_SEND, type); + } else if (asyncSendExpr.expr instanceof ActionNode) { + this.dlog.error(asyncSendExpr.expr.pos, DiagnosticErrorCode.INVALID_SEND_EXPR); } - String workerName = workerSendNode.workerIdentifier.getValue(); + String workerName = asyncSendExpr.workerIdentifier.getValue(); if (data.withinQuery || (!isCommunicationAllowedLocation(data.env) && !data.inInternallyDefinedBlockStmt)) { - this.dlog.error(workerSendNode.pos, DiagnosticErrorCode.UNSUPPORTED_WORKER_SEND_POSITION); + this.dlog.error(asyncSendExpr.pos, DiagnosticErrorCode.UNSUPPORTED_WORKER_SEND_POSITION); was.hasErrors = true; } - if (!this.workerExists(workerSendNode.getBType(), workerName, data.env) + if (!this.workerExists(asyncSendExpr.workerType, workerName, data.env) || (!isWorkerFromFunction(data.env, names.fromString(workerName)) && !workerName.equals("function"))) { - this.dlog.error(workerSendNode.pos, DiagnosticErrorCode.UNDEFINED_WORKER, workerName); + this.dlog.error(asyncSendExpr.pos, DiagnosticErrorCode.UNDEFINED_WORKER, workerName); was.hasErrors = true; } - workerSendNode.setBType( - createAccumulatedErrorTypeForMatchingReceive(workerSendNode.pos, workerSendNode.expr.getBType(), data)); - was.addWorkerAction(workerSendNode); - analyzeExpr(workerSendNode.expr, data); - validateActionParentNode(workerSendNode.pos, workerSendNode.expr); + asyncSendExpr.sendType = + createAccumulatedErrorTypeForMatchingReceive(asyncSendExpr.pos, asyncSendExpr.expr.getBType(), data); + was.addWorkerAction(asyncSendExpr); + analyzeExpr(asyncSendExpr.expr, data); + validateActionParentNode(asyncSendExpr.pos, asyncSendExpr.expr); } private BType createAccumulatedErrorTypeForMatchingReceive(Location pos, BType exprType, AnalyzerData data) { @@ -2090,8 +2088,10 @@ public void visit(BLangWorkerSyncSendExpr syncSendExpr, AnalyzerData data) { this.dlog.error(syncSendExpr.pos, DiagnosticErrorCode.UNDEFINED_WORKER, syncSendExpr.workerSymbol); was.hasErrors = true; } - syncSendExpr.setBType( - createAccumulatedErrorTypeForMatchingReceive(syncSendExpr.pos, syncSendExpr.expr.getBType(), data)); + + syncSendExpr.setBType(BUnionType.create(null, symTable.nilType, symTable.errorType)); + syncSendExpr.sendType = + createAccumulatedErrorTypeForMatchingReceive(syncSendExpr.pos, syncSendExpr.expr.getBType(), data); was.addWorkerAction(syncSendExpr); analyzeExpr(syncSendExpr.expr, data); } @@ -2232,24 +2232,51 @@ public void visit(BLangTableConstructorExpr tableConstructorExpr, AnalyzerData d @Override public void visit(BLangRecordLiteral recordLiteral, AnalyzerData data) { - List fields = recordLiteral.fields; + BType referredType = Types.getReferredType(recordLiteral.getBType()); + boolean isRecord = referredType.tag == TypeTags.RECORD; + List recordLiteralFields = recordLiteral.fields; + + LinkedHashMap recordFields = null; + if (isRecord) { + recordFields = ((BRecordType) referredType).getFields(); + } - for (RecordLiteralNode.RecordField field : fields) { + for (RecordLiteralNode.RecordField field : recordLiteralFields) { if (field.isKeyValueField()) { analyzeExpr(((BLangRecordKeyValueField) field).valueExpr, data); + reportIfDeprecatedUsage(((BLangRecordKeyValueField) field).key.fieldSymbol, recordLiteral, + ((BLangRecordKeyValueField) field).pos); } else if (field.getKind() == NodeKind.SIMPLE_VARIABLE_REF) { - analyzeExpr((BLangRecordLiteral.BLangRecordVarNameField) field, data); + BLangRecordLiteral.BLangRecordVarNameField recField + = (BLangRecordLiteral.BLangRecordVarNameField) field; + analyzeExpr(recField, data); + + if (isRecord) { + BField matchingField = recordFields.get(recField.symbol.getName().getValue()); + if (matchingField != null) { + reportIfDeprecatedUsage(matchingField.symbol, recordLiteral, recField.pos); + } + } } else { - analyzeExpr(((BLangRecordLiteral.BLangRecordSpreadOperatorField) field).expr, data); + BLangRecordLiteral.BLangRecordSpreadOperatorField spreadField + = (BLangRecordLiteral.BLangRecordSpreadOperatorField) field; + analyzeExpr(spreadField.expr, data); + + BType spreadFieldType = Types.getReferredType(spreadField.expr.getBType()); + if (isRecord && spreadFieldType != null && spreadFieldType.tag == TypeTags.RECORD) { + for (BField fieldEntry: ((BRecordType) spreadFieldType).getFields().values()) { + BField matchingField = recordFields.get(fieldEntry.getName().getValue()); + if (matchingField != null) { + reportIfDeprecatedUsage(matchingField.symbol, recordLiteral, spreadField.expr.pos); + } + } + } } } Set names = new HashSet<>(); Set neverTypedKeys = new HashSet<>(); - BType literalBType = recordLiteral.getBType(); - BType type = Types.getReferredType(literalBType); - boolean isRecord = type.tag == TypeTags.RECORD; - boolean isOpenRecord = isRecord && !((BRecordType) type).sealed; + boolean isOpenRecord = isRecord && !((BRecordType) referredType).sealed; // A record type is inferred for a record literal even if the contextually expected type is a map, if the // mapping constructor expression has `readonly` fields. @@ -2257,7 +2284,7 @@ public void visit(BLangRecordLiteral recordLiteral, AnalyzerData data) { recordLiteral.expectedType.tag == TypeTags.MAP; BLangRecordLiteral.BLangRecordSpreadOperatorField inclusiveTypeSpreadField = null; - for (RecordLiteralNode.RecordField field : fields) { + for (RecordLiteralNode.RecordField field : recordLiteralFields) { BLangExpression keyExpr; @@ -2277,7 +2304,7 @@ public void visit(BLangRecordLiteral recordLiteral, AnalyzerData data) { } inclusiveTypeSpreadField = spreadOpField; - if (fields.size() > 1) { + if (recordLiteralFields.size() > 1) { if (names.size() > 0) { this.dlog.error(spreadOpExpr.pos, DiagnosticErrorCode.SPREAD_FIELD_MAY_DULPICATE_ALREADY_SPECIFIED_KEYS, @@ -2320,7 +2347,7 @@ public void visit(BLangRecordLiteral recordLiteral, AnalyzerData data) { if (bField.type.tag != TypeTags.NEVER) { this.dlog.error(spreadOpExpr.pos, DiagnosticErrorCode.DUPLICATE_KEY_IN_RECORD_LITERAL_SPREAD_OP, - type.getKind().typeName(), fieldName, spreadOpField); + referredType.getKind().typeName(), fieldName, spreadOpField); } continue; } @@ -2365,7 +2392,8 @@ public void visit(BLangRecordLiteral recordLiteral, AnalyzerData data) { unescapedName, inclusiveTypeSpreadField); } - if (!isInferredRecordForMapCET && isOpenRecord && !((BRecordType) type).fields.containsKey(name)) { + if (!isInferredRecordForMapCET && isOpenRecord + && !((BRecordType) referredType).fields.containsKey(name)) { dlog.error(keyExpr.pos, DiagnosticErrorCode.INVALID_RECORD_LITERAL_IDENTIFIER_KEY, unescapedName); } @@ -2388,7 +2416,7 @@ public void visit(BLangRecordLiteral recordLiteral, AnalyzerData data) { } if (isInferredRecordForMapCET) { - recordLiteral.expectedType = type; + recordLiteral.expectedType = referredType; } } @@ -2411,7 +2439,7 @@ public void visit(BLangSimpleVarRef varRefExpr, AnalyzerData data) { switch (varRefExpr.parent.getKind()) { // Referring workers for worker interactions are allowed, hence skip the check. case WORKER_RECEIVE: - case WORKER_SEND: + case WORKER_ASYNC_SEND: case WORKER_SYNC_SEND: return; default: @@ -2464,12 +2492,7 @@ public void visit(BLangFieldBasedAccess.BLangNSPrefixedFieldBasedAccess nsPrefix private void analyzeFieldBasedAccessExpr(BLangFieldBasedAccess fieldAccessExpr, AnalyzerData data) { BLangExpression expr = fieldAccessExpr.expr; analyzeExpr(expr, data); - BSymbol symbol = fieldAccessExpr.symbol; - if (symbol != null && Symbols.isFlagOn(fieldAccessExpr.symbol.flags, Flags.DEPRECATED)) { - String deprecatedConstruct = generateDeprecatedConstructString(expr, fieldAccessExpr.field.toString(), - symbol); - dlog.warning(fieldAccessExpr.pos, DiagnosticWarningCode.USAGE_OF_DEPRECATED_CONSTRUCT, deprecatedConstruct); - } + reportIfDeprecatedUsage(fieldAccessExpr.symbol, expr, fieldAccessExpr.pos); } @Override @@ -2496,6 +2519,7 @@ public void visit(BLangInvocation invocationExpr, AnalyzerData data) { logDeprecatedWarningForInvocation(invocationExpr); } } + analyzeInvocationParams(invocationExpr, data); } @Override @@ -2779,9 +2803,9 @@ public void visit(BLangWorkerFlushExpr workerFlushExpr, AnalyzerData data) { BLangIdentifier flushWrkIdentifier = workerFlushExpr.workerIdentifier; Stack workerActionSystems = data.workerActionSystemStack; WorkerActionSystem currentWrkerAction = workerActionSystems.peek(); - List sendStmts = getAsyncSendStmtsOfWorker(currentWrkerAction); + List sendStmts = getAsyncSendStmtsOfWorker(currentWrkerAction); if (flushWrkIdentifier != null) { - List sendsToGivenWrkr = sendStmts.stream() + List sendsToGivenWrkr = sendStmts.stream() .filter(bLangNode -> bLangNode.workerIdentifier.equals (flushWrkIdentifier)) .collect(Collectors.toList()); @@ -2803,11 +2827,11 @@ public void visit(BLangWorkerFlushExpr workerFlushExpr, AnalyzerData data) { validateActionParentNode(workerFlushExpr.pos, workerFlushExpr); } - private List getAsyncSendStmtsOfWorker(WorkerActionSystem currentWorkerAction) { + private List getAsyncSendStmtsOfWorker(WorkerActionSystem currentWorkerAction) { List actions = currentWorkerAction.workerActionStateMachines.peek().actions; return actions.stream() .filter(CodeAnalyzer::isWorkerSend) - .map(bLangNode -> (BLangWorkerSend) bLangNode) + .map(bLangNode -> (BLangWorkerAsyncSendExpr) bLangNode) .collect(Collectors.toList()); } @Override @@ -3576,7 +3600,7 @@ private void finalizeCurrentWorkerActionSystem(AnalyzerData data) { } private static boolean isWorkerSend(BLangNode action) { - return action.getKind() == NodeKind.WORKER_SEND; + return action.getKind() == NodeKind.WORKER_ASYNC_SEND; } private static boolean isWorkerSyncSend(BLangNode action) { @@ -3589,7 +3613,7 @@ private static boolean isWaitAction(BLangNode action) { private String extractWorkerId(BLangNode action) { if (isWorkerSend(action)) { - return ((BLangWorkerSend) action).workerIdentifier.value; + return ((BLangWorkerAsyncSendExpr) action).workerIdentifier.value; } else if (isWorkerSyncSend(action)) { return ((BLangWorkerSyncSendExpr) action).workerIdentifier.value; } else { @@ -3640,7 +3664,7 @@ private void validateWorkerInteractions(WorkerActionSystem workerActionSystem, A if (isWorkerSyncSend(currentAction)) { this.validateWorkerActionParameters((BLangWorkerSyncSendExpr) currentAction, receive); } else { - this.validateWorkerActionParameters((BLangWorkerSend) currentAction, receive); + this.validateWorkerActionParameters((BLangWorkerAsyncSendExpr) currentAction, receive); } otherSM.next(); data.workerSystemMovementSequence++; @@ -3693,7 +3717,7 @@ private boolean validateWorkerInteractionsAfterWaitAction(WorkerActionSystem wor } } } else if (isWorkerSend(action)) { - BLangWorkerSend send = (BLangWorkerSend) action; + BLangWorkerAsyncSendExpr send = (BLangWorkerAsyncSendExpr) action; if (waitingOnWorkerSet.contains(send.workerIdentifier.value)) { dlog.error(action.pos, DiagnosticErrorCode.WORKER_INTERACTION_AFTER_WAIT_ACTION, action); isValid = false; @@ -3812,9 +3836,13 @@ private void reportInvalidWorkerInteractionDiagnostics(WorkerActionSystem worker workerActionSystem.toString()); } - private void validateWorkerActionParameters(BLangWorkerSend send, BLangWorkerReceive receive) { - types.checkType(receive, send.getBType(), receive.getBType()); - addImplicitCast(send.getBType(), receive); + private void validateWorkerActionParameters(BLangWorkerAsyncSendExpr send, BLangWorkerReceive receive) { + send.receive = receive; + types.checkType(send.pos, symTable.nilType, send.expectedType, + DiagnosticErrorCode.INCOMPATIBLE_TYPES); + + types.checkType(receive, send.sendType, receive.getBType()); + addImplicitCast(send.sendType, receive); NodeKind kind = receive.parent.getKind(); if (kind == NodeKind.TRAP_EXPR || kind == NodeKind.CHECK_EXPR || kind == NodeKind.CHECK_PANIC_EXPR || kind == NodeKind.FAIL) { @@ -3849,9 +3877,9 @@ private void validateWorkerActionParameters(BLangWorkerSyncSendExpr send, BLangW DiagnosticErrorCode.INCOMPATIBLE_TYPES); } - types.checkType(receive, send.getBType(), receive.getBType()); + types.checkType(receive, send.sendType, receive.getBType()); - addImplicitCast(send.getBType(), receive); + addImplicitCast(send.sendType, receive); NodeKind kind = receive.parent.getKind(); if (kind == NodeKind.TRAP_EXPR || kind == NodeKind.CHECK_EXPR || kind == NodeKind.CHECK_PANIC_EXPR) { typeChecker.checkExpr((BLangExpression) receive.parent, receive.env); @@ -3875,6 +3903,83 @@ private boolean checkReturnValidityInTransaction(AnalyzerData data) { && data.withinTransactionScope; } + private void analyzeInvocationParams(BLangInvocation iExpr, AnalyzerData data) { + if (iExpr.symbol == null) { + return; + } + + BType invocableType = Types.getReferredType(iExpr.symbol.type); + BInvokableSymbol invokableSymbol = ((BInvokableSymbol) iExpr.symbol); + List reqParamSymbols = invokableSymbol.params; + int parameterCountForPositionalArgs = ((BInvokableType) invocableType).getParameterTypes().size(); + + int visitedArgCount = 0; + for (BLangExpression expr : iExpr.argExprs) { + switch (expr.getKind()) { + case NAMED_ARGS_EXPR: + reportIfDeprecatedUsage(((BLangNamedArgsExpression) expr).varSymbol, expr, expr.pos); + visitedArgCount++; + break; + case REST_ARGS_EXPR: + if (visitedArgCount >= parameterCountForPositionalArgs) { + reportIfDeprecatedUsage(invokableSymbol.restParam, expr, expr.pos); + continue; + } + + BLangExpression restExpr = ((BLangRestArgsExpression) expr).expr; + if (restExpr.getKind() == NodeKind.LIST_CONSTRUCTOR_EXPR) { + visitedArgCount = analyzeRestArgsAgainstReqParams((BLangListConstructorExpr) restExpr, + visitedArgCount, reqParamSymbols, invokableSymbol.restParam); + continue; + } + + for (int i = visitedArgCount; i < parameterCountForPositionalArgs; i++) { + reportIfDeprecatedUsage(reqParamSymbols.get(i), expr, expr.pos); + } + break; + default: // positional args + if (visitedArgCount < parameterCountForPositionalArgs) { + BVarSymbol paramSymbol = reqParamSymbols.get(visitedArgCount); + reportIfDeprecatedUsage(paramSymbol, expr, expr.pos); + if (Symbols.isFlagOn(reqParamSymbols.get(visitedArgCount).flags, Flags.INCLUDED)) { + analyzeExpr(expr, data); + } + } else { + reportIfDeprecatedUsage(invokableSymbol.restParam, expr, expr.pos); + } + visitedArgCount++; + } + } + } + + private int analyzeRestArgsAgainstReqParams(BLangListConstructorExpr listConstructorExpr, int visitedArgCount, + List reqParamSymbols, BVarSymbol restParamSymbol) { + for (BLangExpression expr : listConstructorExpr.exprs) { + if (visitedArgCount >= reqParamSymbols.size()) { + // Visiting args matching with the rest-param + reportIfDeprecatedUsage(restParamSymbol, expr, expr.pos); + continue; + } + + if (expr.getKind() != NodeKind.LIST_CONSTRUCTOR_SPREAD_OP) { + reportIfDeprecatedUsage(reqParamSymbols.get(visitedArgCount++), expr, expr.pos); + continue; + } + + BLangExpression innerExpr = ((BLangListConstructorSpreadOpExpr) expr).expr; + if (innerExpr.getKind() == NodeKind.LIST_CONSTRUCTOR_EXPR) { + visitedArgCount = analyzeRestArgsAgainstReqParams((BLangListConstructorExpr) innerExpr, + visitedArgCount, reqParamSymbols, restParamSymbol); + continue; + } + + for (int i = visitedArgCount; i < reqParamSymbols.size(); i++) { + reportIfDeprecatedUsage(reqParamSymbols.get(i), innerExpr, innerExpr.pos); + } + } + return visitedArgCount; + } + private void validateModuleInitFunction(BLangFunction funcNode) { if (funcNode.attachedFunction || !Names.USER_DEFINED_INIT_SUFFIX.value.equals(funcNode.name.value)) { return; @@ -3925,6 +4030,15 @@ private BType getErrorTypes(BType bType) { return errorType; } + private boolean reportIfDeprecatedUsage(BSymbol constructSymbol, BLangExpression expr, Location usagePos) { + if (constructSymbol != null && Symbols.isFlagOn(constructSymbol.flags, Flags.DEPRECATED)) { + dlog.warning(usagePos, DiagnosticWarningCode.USAGE_OF_DEPRECATED_CONSTRUCT, + generateDeprecatedConstructString(expr, constructSymbol.name.getValue(), constructSymbol)); + return true; + } + return false; + } + /** * This class contains the state machines for a set of workers. */ @@ -4034,7 +4148,7 @@ public String toString() { } else { BLangNode action = this.currentAction(); if (isWorkerSend(action)) { - return ((BLangWorkerSend) action).toActionString(); + return ((BLangWorkerAsyncSendExpr) action).toActionString(); } else if (isWorkerSyncSend(action)) { return ((BLangWorkerSyncSendExpr) action).toActionString(); } else if (isWaitAction(action)) { diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/DataflowAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/DataflowAnalyzer.java index df70f1cab4b6..16550efd772c 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/DataflowAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/DataflowAnalyzer.java @@ -159,6 +159,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -201,7 +202,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -239,6 +239,7 @@ import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.Stack; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -266,7 +267,11 @@ public class DataflowAnalyzer extends BLangNodeVisitor { private Map unusedLocalVariables; private Map> globalNodeDependsOn; private Map> functionToDependency; + private Map> possibleFailureUnInitVars; + private Stack enclosingOnFailClause; private boolean flowTerminated = false; + private boolean possibleFailureReached = false; + private boolean definiteFailureReached = false; private static final CompilerContext.Key DATAFLOW_ANALYZER_KEY = new CompilerContext.Key<>(); private Deque currDependentSymbolDeque; @@ -302,6 +307,8 @@ public BLangPackage analyze(BLangPackage pkgNode) { this.uninitializedVars = new LinkedHashMap<>(); this.globalNodeDependsOn = new LinkedHashMap<>(); this.functionToDependency = new HashMap<>(); + this.possibleFailureUnInitVars = new LinkedHashMap<>(); + this.enclosingOnFailClause = new Stack<>(); this.dlog.setCurrentPackageId(pkgNode.packageID); SymbolEnv pkgEnv = this.symTable.pkgEnvMap.get(pkgNode.symbol); analyzeNode(pkgNode, pkgEnv); @@ -439,6 +446,8 @@ private void visitFunctionBodyWithDynamicEnv(BLangFunction funcNode, SymbolEnv f // updated/marked as initialized. this.uninitializedVars = copyUninitializedVars(); this.flowTerminated = false; + this.possibleFailureReached = false; + this.definiteFailureReached = false; analyzeNode(funcNode.body, funcEnv); @@ -537,6 +546,8 @@ public void visit(BLangClassDefinition classDef) { this.unusedLocalVariables.putAll(prevUnusedLocalVariables); this.uninitializedVars = copyUninitializedVars(); this.flowTerminated = false; + this.possibleFailureReached = false; + this.definiteFailureReached = false; visitedOCE = true; } SymbolEnv objectEnv = SymbolEnv.createClassEnv(classDef, classDef.symbol.scope, env); @@ -724,7 +735,18 @@ public void visit(BLangAssignment assignment) { public void visit(BLangCompoundAssignment compoundAssignNode) { analyzeNode(compoundAssignNode.expr, env); analyzeNode(compoundAssignNode.varRef, env); + //compound statement can have assignment to itself. eg: x += x; + //so we need to avoid removing the symbol from possibleFailureUnInitVars list after analyzing the expression. + boolean resetOnFailInits = false; + Map onFailInitStatus = null; + if (isOnFailEnclosed()) { + onFailInitStatus = copyOnFailUninitializedVars(this.enclosingOnFailClause.peek()); + resetOnFailInits = onFailInitStatus.containsKey(compoundAssignNode.varRef.symbol); + } checkAssignment(compoundAssignNode.varRef); + if (resetOnFailInits) { + updateUnInitVarsForOnFailClause(onFailInitStatus); + } this.uninitializedVars.remove(compoundAssignNode.varRef.symbol); } @@ -736,7 +758,9 @@ public void visit(BLangBreak breakNode) { @Override public void visit(BLangReturn returnNode) { analyzeNode(returnNode.expr, env); - + // If the regular block of code within a failure-handling statement + // ends with a "return" statement, we only care about the outcome of the on-fail branch. + this.definiteFailureReached = true; // return statement will exit from the function. terminateFlow(); } @@ -752,22 +776,40 @@ public void visit(BLangIf ifNode) { BranchResult ifResult = analyzeBranch(ifNode.body, env); BranchResult elseResult = analyzeBranch(ifNode.elseStmt, env); - // If the flow was terminated within 'if' block, then after the if-else block, - // only the results of the 'else' block matters. - if (ifResult.flowTerminated) { - this.uninitializedVars = elseResult.uninitializedVars; - return; - } + //if both if and else blocks contains uninitialized variables due to possible failure, then merge them. + if (ifResult.possibleFailureUnInitVars != null && elseResult.possibleFailureUnInitVars != null) { + updateUnInitVarsForOnFailClause(mergeUninitializedVars(ifResult.possibleFailureUnInitVars, + elseResult.possibleFailureUnInitVars)); + } + if (!isOnFailEnclosed() || !ifResult.definiteFailureReached + || !elseResult.definiteFailureReached) { + boolean ifExprConst + = ConditionResolver.checkConstCondition(types, symTable, ifNode.expr) == symTable.trueType; + // If the flow was terminated within 'if' block, then after the if-else block, + // only the results of the 'else' block matters. + if (ifResult.flowTerminated) { + this.uninitializedVars = elseResult.uninitializedVars; + this.possibleFailureReached = ifResult.possibleFailureReached; + if (ifExprConst) { + this.flowTerminated = true; + this.definiteFailureReached = ifResult.definiteFailureReached; + } + return; + } - // If the flow was terminated within 'else' block, then after the if-else block, - // only the results of the 'if' block matters. - if (elseResult.flowTerminated || - ConditionResolver.checkConstCondition(types, symTable, ifNode.expr) == symTable.trueType) { - this.uninitializedVars = ifResult.uninitializedVars; - return; + // If the flow was terminated within 'else' block, then after the if-else block, + // only the results of the 'if' block matters. + if (elseResult.flowTerminated || ifExprConst) { + this.uninitializedVars = ifResult.uninitializedVars; + if (ifResult.possibleFailureUnInitVars != null) { + updateUnInitVarsForOnFailClause(ifResult.possibleFailureUnInitVars); + } + return; + } } - this.uninitializedVars = mergeUninitializedVars(ifResult.uninitializedVars, elseResult.uninitializedVars); + this.flowTerminated = ifResult.flowTerminated && elseResult.flowTerminated; + this.definiteFailureReached = isDefiniteFailureCase(ifResult, elseResult); } @Override @@ -842,10 +884,7 @@ public void visit(BLangForeach foreach) { } analyzeNode(collection, env); - analyzeNode(foreach.body, env); - if (foreach.onFailClause != null) { - analyzeNode(foreach.onFailClause, env); - } + analyzeStmtWithOnFail(foreach.body, foreach.onFailClause); } @Override @@ -860,53 +899,146 @@ public void visit(BLangWhile whileNode) { Map prevUninitializedVars = this.uninitializedVars; analyzeNode(whileNode.expr, env); - BranchResult whileResult = analyzeBranch(whileNode.body, env); - if (whileNode.onFailClause != null) { - analyzeNode(whileNode.onFailClause, env); + BType constCondition = ConditionResolver.checkConstCondition(types, symTable, whileNode.expr); + boolean ifExprConst = constCondition == symTable.trueType; + boolean failuresSelfHandled = whileNode.onFailClause != null; + if (ifExprConst) { + //if the condition is always true, we don't have to consider it as a branch. + analyzeStmtWithOnFail(whileNode.body, whileNode.onFailClause); + } else { + createUninitializedVarsForOnFailClause(whileNode.onFailClause); + BranchResult whileResult = analyzeBranch(whileNode.body, env); + if (constCondition == symTable.falseType) { + //if the condition is always false, we can reset to the previous state. + this.uninitializedVars = prevUninitializedVars; + removeEnclosingOnFail(failuresSelfHandled); + return; + } + this.uninitializedVars = mergeUninitializedVars(this.uninitializedVars, whileResult.uninitializedVars); + if (failuresSelfHandled) { + BranchResult onfailResult = analyzeOnFailBranch(whileNode.onFailClause, whileResult); + if (whileResult.definiteFailureReached) { + this.uninitializedVars = onfailResult.uninitializedVars; + } else { + this.uninitializedVars + = mergeUninitializedVars(this.uninitializedVars, onfailResult.uninitializedVars); + } + updateEnclosingOnFailUnInits(this.uninitializedVars); + removeEnclosingOnFail(true); + } } + } - BType constCondition = ConditionResolver.checkConstCondition(types, symTable, whileNode.expr); + private void createUninitializedVarsForOnFailClause(BLangOnFailClause onFailClause) { + if (onFailClause != null) { + this.enclosingOnFailClause.push(onFailClause); + this.possibleFailureUnInitVars.put(onFailClause, copyUninitializedVars()); + } + } - if (constCondition == symTable.falseType) { - this.uninitializedVars = prevUninitializedVars; + private void updateUnInitVarsForOnFailClause(Map uninitializedVars) { + if (isOnFailEnclosed()) { + this.possibleFailureUnInitVars.put(this.enclosingOnFailClause.peek(), uninitializedVars); + } + } + + private void removeEnclosingOnFail(boolean onFailAvailable) { + if (onFailAvailable) { + this.possibleFailureUnInitVars.remove(this.enclosingOnFailClause.pop()); + } + } + + @Override + public void visit(BLangDo doNode) { + analyzeStmtWithOnFail(doNode.body, doNode.onFailClause); + } + + private void analyzeStmtWithOnFail(BLangBlockStmt blockStmt, BLangOnFailClause onFailClause) { + createUninitializedVarsForOnFailClause(onFailClause); + BranchResult doResult = analyzeBranch(blockStmt, env); + this.uninitializedVars = doResult.uninitializedVars; + if (onFailClause == null) { + updateUnInitVarsForOnFailClause(doResult.possibleFailureUnInitVars); return; } - if (whileResult.flowTerminated || constCondition == symTable.trueType) { - this.uninitializedVars = whileResult.uninitializedVars; + // Analyze the on-fail block + BranchResult onFailResult = analyzeOnFailBranch(onFailClause, doResult); + if (blockStmt.failureBreakMode == BLangBlockStmt.FailureBreakMode.NOT_BREAKABLE) { + // If the failureBreakMode is NOT_BREAKABLE, then the on-fail block is not reachable + this.uninitializedVars + = mergeUninitializedVars(doResult.uninitializedVars, doResult.possibleFailureUnInitVars); + removeEnclosingOnFail(true); return; } - this.uninitializedVars = mergeUninitializedVars(this.uninitializedVars, whileResult.uninitializedVars); + Map mergedUninitializedVars = + mergeUninitializedVars(doResult.uninitializedVars, onFailResult.uninitializedVars); + // If the control flow is interrupted inside the 'onfail' block, + // only the results of the 'do' block are relevant after the execution + // of the entire 'stmt-with-on-fail' statement. + if (onFailResult.flowTerminated || onFailResult.possibleFailureReached) { + this.uninitializedVars = doResult.uninitializedVars; + } else if (doResult.definiteFailureReached) { + this.uninitializedVars = onFailResult.uninitializedVars; + } else { + this.uninitializedVars = mergedUninitializedVars; + } + + updateEnclosingOnFailUnInits(mergedUninitializedVars); + removeEnclosingOnFail(true); } - @Override - public void visit(BLangDo doNode) { - analyzeNode(doNode.body, env); - if (doNode.onFailClause != null) { - analyzeNode(doNode.onFailClause, env); + private void updateEnclosingOnFailUnInits(Map possibleUninitializedVars) { + // Update the enclosing on-fail clause's possible failure uninitialized variables + int enclosingOnFailSize = this.enclosingOnFailClause.size(); + if (enclosingOnFailSize > 1) { + BLangOnFailClause enclosingOnFail = this.enclosingOnFailClause.get(enclosingOnFailSize - 2); + this.possibleFailureUnInitVars.put(enclosingOnFail, possibleUninitializedVars); } } + private BranchResult analyzeOnFailBranch(BLangOnFailClause onFailClause, BranchResult doResult) { + Map prevUninitializedVars = this.uninitializedVars; + if (doResult.possibleFailureUnInitVars != null) { + this.uninitializedVars = mergeUninitializedVars(this.uninitializedVars, doResult.possibleFailureUnInitVars); + } + this.possibleFailureUnInitVars.put(onFailClause, copyUninitializedVars()); + BranchResult onFailResult = analyzeBranch(onFailClause, env); + if (!onFailResult.possibleFailureUnInitVars.isEmpty()) { + onFailResult.uninitializedVars = mergeUninitializedVars(onFailResult.uninitializedVars, + onFailResult.possibleFailureUnInitVars); + } + this.uninitializedVars = prevUninitializedVars; + return onFailResult; + } + + private boolean isOnFailEnclosed() { + return !this.enclosingOnFailClause.isEmpty(); + } + + private boolean isDefiniteFailureCase(BranchResult ifResult, BranchResult elseResult) { + return ifResult.definiteFailureReached && elseResult.definiteFailureReached; + } + public void visit(BLangFail failNode) { + if (isOnFailEnclosed()) { + this.possibleFailureReached = true; + this.definiteFailureReached = true; + } + terminateFlow(); analyzeNode(failNode.expr, env); } @Override public void visit(BLangLock lockNode) { - analyzeNode(lockNode.body, this.env); - if (lockNode.onFailClause != null) { - analyzeNode(lockNode.onFailClause, env); - } + analyzeStmtWithOnFail(lockNode.body, lockNode.onFailClause); } @Override public void visit(BLangTransaction transactionNode) { - analyzeNode(transactionNode.transactionBody, env); - if (transactionNode.onFailClause != null) { - analyzeNode(transactionNode.onFailClause, env); - } + analyzeStmtWithOnFail(transactionNode.transactionBody, transactionNode.onFailClause); // marks the injected import as used Name transactionPkgName = names.fromString(Names.DOT.value + Names.TRANSACTION_PACKAGE.value); @@ -941,8 +1073,8 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { - analyzeNode(workerSendNode.expr, env); + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { + analyzeNode(asyncSendExpr.expr, env); } @Override @@ -1960,6 +2092,9 @@ public void visit(BLangIsAssignableExpr assignableExpr) { @Override public void visit(BLangCheckedExpr checkedExpr) { + if (isOnFailEnclosed()) { + this.possibleFailureReached = true; + } analyzeNode(checkedExpr.expr, env); } @@ -1988,10 +2123,7 @@ public void visit(BLangAnnotationAttachment annAttachmentNode) { @Override public void visit(BLangRetry retryNode) { - analyzeNode(retryNode.retryBody, env); - if (retryNode.onFailClause != null) { - analyzeNode(retryNode.onFailClause, env); - } + analyzeStmtWithOnFail(retryNode.retryBody, retryNode.onFailClause); } @Override @@ -2348,26 +2480,50 @@ public void visit(BLangRegExpTemplateLiteral regExpTemplateLiteral) { */ private BranchResult analyzeBranch(BLangNode node, SymbolEnv env) { Map prevUninitializedVars = this.uninitializedVars; + Map prevOnFailUninitializedVars = getPossibleFailureUnInitVars(); + if (node != null && isOnFailEnclosed()) { + BLangOnFailClause onFailClause = this.enclosingOnFailClause.peek(); + prevOnFailUninitializedVars = this.possibleFailureUnInitVars.get(onFailClause); + this.possibleFailureUnInitVars.put(onFailClause, copyOnFailUninitializedVars(onFailClause)); + } boolean prevFlowTerminated = this.flowTerminated; + boolean prevFailureReached = this.possibleFailureReached; + boolean prevDefiniteFailureReached = this.definiteFailureReached; // Get a snapshot of the current uninitialized vars before visiting the node. // This is done so that the original set of uninitialized vars will not be // updated/marked as initialized. this.uninitializedVars = copyUninitializedVars(); this.flowTerminated = false; + this.possibleFailureReached = false; + this.definiteFailureReached = false; analyzeNode(node, env); - BranchResult brachResult = new BranchResult(this.uninitializedVars, this.flowTerminated); + BranchResult branchResult = new BranchResult(this.uninitializedVars, getPossibleFailureUnInitVars(), + this.flowTerminated, this.possibleFailureReached, this.definiteFailureReached); // Restore the original set of uninitialized vars this.uninitializedVars = prevUninitializedVars; this.flowTerminated = prevFlowTerminated; - - return brachResult; + this.possibleFailureReached = prevFailureReached; + this.definiteFailureReached = prevDefiniteFailureReached; + updateUnInitVarsForOnFailClause(prevOnFailUninitializedVars); + return branchResult; } private Map copyUninitializedVars() { - return new HashMap<>(this.uninitializedVars); + return new LinkedHashMap<>(this.uninitializedVars); + } + + private Map copyOnFailUninitializedVars(BLangOnFailClause onFailClause) { + return new LinkedHashMap<>(this.possibleFailureUnInitVars.get(onFailClause)); + } + + private Map getPossibleFailureUnInitVars() { + if (isOnFailEnclosed()) { + return this.possibleFailureUnInitVars.get(this.enclosingOnFailClause.peek()); + } + return null; } private void analyzeNode(BLangNode node, SymbolEnv env) { @@ -2385,8 +2541,8 @@ private Map mergeUninitializedVars(Map intersection.retainAll(secondUninitVars.keySet()); return Stream.concat(firstUninitVars.entrySet().stream(), secondUninitVars.entrySet().stream()) - .collect(Collectors.toMap(entry -> entry.getKey(), - // If only one branch have uninitialized the var, then its a partial initialization + .collect(Collectors.toMap(Map.Entry::getKey, + // If only one branch have uninitialized the var, then it's a partial initialization entry -> intersection.contains(entry.getKey()) ? entry.getValue() : InitStatus.PARTIAL_INIT, (a, b) -> { // If atleast one of the branches have partially initialized the var, @@ -2396,7 +2552,7 @@ private Map mergeUninitializedVars(Map } return InitStatus.UN_INIT; - })); + }, LinkedHashMap::new)); } private void checkVarRef(BSymbol symbol, Location pos) { @@ -2530,7 +2686,13 @@ private void checkAssignment(BLangExpression varRef) { addFunctionToGlobalVarDependency(owner, ((BLangSimpleVarRef) varRef).symbol); } - this.uninitializedVars.remove(((BLangVariableReference) varRef).symbol); + BSymbol symbol = ((BLangVariableReference) varRef).symbol; + if (this.possibleFailureReached && this.uninitializedVars.containsKey(symbol)) { + getPossibleFailureUnInitVars().put(symbol, InitStatus.PARTIAL_INIT); + } else if (!this.possibleFailureUnInitVars.isEmpty() && !this.possibleFailureReached) { + getPossibleFailureUnInitVars().remove(symbol); + } + this.uninitializedVars.remove(symbol); } private void checkFinalObjectFieldUpdate(BLangFieldBasedAccess fieldAccess) { @@ -2773,11 +2935,19 @@ private enum InitStatus { private class BranchResult { Map uninitializedVars; + Map possibleFailureUnInitVars; boolean flowTerminated; + boolean definiteFailureReached; + boolean possibleFailureReached; + - BranchResult(Map uninitializedVars, boolean flowTerminated) { + BranchResult(Map uninitializedVars, Map possibleFailureUnInitVars, + boolean flowTerminated, boolean possibleFailureReached, boolean definiteFailureReached) { this.uninitializedVars = uninitializedVars; + this.possibleFailureUnInitVars = possibleFailureUnInitVars; this.flowTerminated = flowTerminated; + this.possibleFailureReached = possibleFailureReached; + this.definiteFailureReached = definiteFailureReached; } } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/IsolationAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/IsolationAnalyzer.java index 0e76a6dc2df8..f120d4e34108 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/IsolationAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/IsolationAnalyzer.java @@ -182,6 +182,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -237,7 +238,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1100,7 +1100,7 @@ public void visit(BLangForkJoin forkJoin) { } @Override - public void visit(BLangWorkerSend workerSendNode) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { } @Override diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/QueryTypeChecker.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/QueryTypeChecker.java index 026c4f5ec917..04dfd8b6eaa3 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/QueryTypeChecker.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/QueryTypeChecker.java @@ -189,6 +189,11 @@ public void checkQueryType(BLangQueryExpr queryExpr, TypeChecker.AnalyzerData da } BLangExpression finalClauseExpr = ((BLangCollectClause) finalClause).expression; BType queryType = checkExpr(finalClauseExpr, commonAnalyzerData.queryEnvs.peek(), data); + List collectionTypes = getCollectionTypes(clauses); + BType completionType = getCompletionType(collectionTypes, Types.QueryConstructType.DEFAULT, data); + if (completionType != null) { + queryType = BUnionType.create(null, queryType, completionType); + } actualType = types.checkType(finalClauseExpr.pos, queryType, data.expType, DiagnosticErrorCode.INCOMPATIBLE_TYPES); } @@ -497,14 +502,12 @@ private BType getCompletionType(List collectionTypes, Types.QueryConstruc } collectionType = Types.getReferredType(collectionType); switch (collectionType.tag) { - case TypeTags.STREAM: + case TypeTags.STREAM -> { completionType = ((BStreamType) collectionType).completionType; returnType = completionType; - break; - case TypeTags.OBJECT: - returnType = types.getVarTypeFromIterableObject((BObjectType) collectionType); - break; - default: + } + case TypeTags.OBJECT -> returnType = types.getVarTypeFromIterableObject((BObjectType) collectionType); + default -> { BSymbol itrSymbol = symResolver.lookupLangLibMethod(collectionType, Names.fromString(BLangCompilerConstants.ITERABLE_COLLECTION_ITERATOR_FUNC), data.env); if (itrSymbol == this.symTable.notFoundSymbol) { @@ -513,6 +516,7 @@ private BType getCompletionType(List collectionTypes, Types.QueryConstruc BInvokableSymbol invokableSymbol = (BInvokableSymbol) itrSymbol; returnType = types.getResultTypeOfNextInvocation( (BObjectType) Types.getReferredType(invokableSymbol.retType)); + } } if (returnType != null) { if (queryConstructType == Types.QueryConstructType.STREAM || diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ReachabilityAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ReachabilityAnalyzer.java index 1eeacd746f92..5447186e1f7a 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ReachabilityAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/ReachabilityAnalyzer.java @@ -94,7 +94,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangLetVariable; import org.wso2.ballerinalang.compiler.util.CompilerContext; @@ -745,11 +744,6 @@ public void visit(BLangDoClause doClause, AnalyzerData data) { resetLastStatement(data); } - @Override - public void visit(BLangWorkerSend workerSendNode, AnalyzerData data) { - checkStatementExecutionValidity(workerSendNode, data); - } - @Override public void visit(BLangLetExpression letExpression, AnalyzerData data) { // This is to support when let expressions are used in return statements diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/SemanticAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/SemanticAnalyzer.java index 3658f198326f..3e1d8cd92045 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/SemanticAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/SemanticAnalyzer.java @@ -193,7 +193,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -2838,9 +2837,7 @@ public void visit(BLangIf ifNode, AnalyzerData data) { Map existingNarrowedTypeInfo = ifNode.expr.narrowedTypeInfo; for (Map.Entry entry : data.narrowedTypeInfo.entrySet()) { BVarSymbol key = entry.getKey(); - if (!existingNarrowedTypeInfo.containsKey(key)) { - existingNarrowedTypeInfo.put(key, entry.getValue()); - } else { + if (existingNarrowedTypeInfo.containsKey(key)) { BType.NarrowedTypes existingNarrowTypes = existingNarrowedTypeInfo.get(key); BUnionType unionType = BUnionType.create(null, existingNarrowTypes.trueType, existingNarrowTypes.falseType); @@ -4221,24 +4218,6 @@ public void visit(BLangForkJoin forkJoin, AnalyzerData data) { } } - @Override - public void visit(BLangWorkerSend workerSendNode, AnalyzerData data) { - SymbolEnv currentEnv = data.env; - // TODO Need to remove this cached env - workerSendNode.env = currentEnv; - this.typeChecker.checkExpr(workerSendNode.expr, currentEnv, data.prevEnvs, data.commonAnalyzerData); - - BSymbol symbol = - symResolver.lookupSymbolInMainSpace(currentEnv, names.fromIdNode(workerSendNode.workerIdentifier)); - - if (symTable.notFoundSymbol.equals(symbol)) { - workerSendNode.setBType(symTable.semanticError); - } else { - workerSendNode.setBType(symbol.type); - workerSendNode.workerSymbol = symbol; - } - } - @Override public void visit(BLangReturn returnNode, AnalyzerData data) { SymbolEnv currentEnv = data.env; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java index 49729107ff97..837858616744 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/TypeChecker.java @@ -149,6 +149,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -2797,6 +2798,39 @@ public void visit(BLangWorkerSyncSendExpr syncSendExpr, AnalyzerData data) { data.resultType = data.expType == symTable.noType ? symTable.nilType : data.expType; } + @Override + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr, AnalyzerData data) { + BSymbol symbol = + symResolver.lookupSymbolInMainSpace(data.env, names.fromIdNode(asyncSendExpr.workerIdentifier)); + + if (symTable.notFoundSymbol.tag == symbol.tag) { + asyncSendExpr.workerType = symTable.semanticError; + } else { + asyncSendExpr.workerType = symbol.type; + asyncSendExpr.workerSymbol = symbol; + } + + // TODO Need to remove this cached env + asyncSendExpr.env = data.env; + checkExpr(asyncSendExpr.expr, data); + + // Validate if the send expression type is cloneableType + if (!types.isAssignable(asyncSendExpr.expr.getBType(), symTable.cloneableType)) { + this.dlog.error(asyncSendExpr.pos, DiagnosticErrorCode.INVALID_TYPE_FOR_SEND, + asyncSendExpr.expr.getBType()); + } + + String workerName = asyncSendExpr.workerIdentifier.getValue(); + if (!this.workerExists(data.env, workerName)) { + this.dlog.error(asyncSendExpr.pos, DiagnosticErrorCode.UNDEFINED_WORKER, workerName); + } + + asyncSendExpr.expectedType = data.expType; + + // Async-send-action always returns nil. + data.resultType = symTable.nilType; + } + @Override public void visit(BLangWorkerReceive workerReceiveExpr, AnalyzerData data) { BSymbol symbol = @@ -4687,7 +4721,12 @@ private void checkTypesForRecords(BLangWaitForAllExpr waitExpr, AnalyzerData dat for (BLangWaitForAllExpr.BLangWaitKeyValue keyVal : rhsFields) { String key = keyVal.key.value; - if (!lhsFields.containsKey(key)) { + BLangExpression valueExpr = keyVal.valueExpr; + if (valueExpr != null && isBinaryBitwiseOperatorExpr(valueExpr)) { + dlog.error(valueExpr.pos, + DiagnosticErrorCode.CANNOT_USE_ALTERNATE_WAIT_ACTION_WITHIN_MULTIPLE_WAIT_ACTION); + data.resultType = symTable.semanticError; + } else if (!lhsFields.containsKey(key)) { // Check if the field is sealed if so you cannot have dynamic fields if (((BRecordType) Types.getReferredType(data.expType)).sealed) { dlog.error(waitExpr.pos, DiagnosticErrorCode.INVALID_FIELD_NAME_RECORD_LITERAL, key, data.expType); @@ -4712,6 +4751,17 @@ private void checkTypesForRecords(BLangWaitForAllExpr waitExpr, AnalyzerData dat } } + private boolean isBinaryBitwiseOperatorExpr(BLangExpression valueExpr) { + if (valueExpr.getKind() == NodeKind.GROUP_EXPR) { + return isBinaryBitwiseOperatorExpr(((BLangGroupExpr) valueExpr).expression); + } + if (valueExpr.getKind() == NodeKind.BINARY_EXPR + && ((BLangBinaryExpr) valueExpr).opKind == OperatorKind.BITWISE_OR) { + return true; + } + return false; + } + private void checkMissingReqFieldsForWait(BRecordType type, List keyValPairs, Location pos) { type.fields.values().forEach(field -> { @@ -4749,7 +4799,14 @@ private void setEventualTypeForExpression(BLangExpression expression, if (isSimpleWorkerReference(expression, data)) { return; } - BFutureType futureType = (BFutureType) expression.expectedType; + + BType expectedType = expression.expectedType; + if (expectedType.tag != TypeTags.FUTURE) { + dlog.error(expression.pos, DiagnosticErrorCode.EXPRESSION_OF_FUTURE_TYPE_EXPECTED, expectedType); + return; + } + + BFutureType futureType = (BFutureType) expectedType; BType currentType = futureType.constraint; if (types.containsErrorType(currentType)) { return; @@ -6177,7 +6234,7 @@ private void rewriteWithEnsureTypeFunc(BLangCheckedExpr checkedExpr, BType type, rhsType = getCandidateType(checkedExpr, rhsType, data); } BType candidateLaxType = getCandidateLaxType(checkedExpr.expr, rhsType); - if (!types.isLax(candidateLaxType)) { + if (!types.isLaxFieldAccessAllowed(candidateLaxType)) { return; } ArrayList argExprs = new ArrayList<>(); @@ -8209,7 +8266,7 @@ private BType checkFieldAccessExpr(BLangFieldBasedAccess fieldAccessExpr, BType fieldName, varRefType.getKind() == TypeKind.UNION ? "union" : varRefType.getKind().typeName(), varRefType); } - } else if (types.isLax(varRefType)) { + } else if (types.isLaxFieldAccessAllowed(varRefType)) { if (fieldAccessExpr.isLValue) { dlog.error(fieldAccessExpr.pos, DiagnosticErrorCode.OPERATION_DOES_NOT_SUPPORT_FIELD_ACCESS_FOR_ASSIGNMENT, @@ -8267,7 +8324,7 @@ private void resolveXMLNamespace(BLangFieldBasedAccess.BLangNSPrefixedFieldBased } private boolean hasLaxOriginalType(BLangFieldBasedAccess fieldBasedAccess) { - return fieldBasedAccess.originalType != null && types.isLax(fieldBasedAccess.originalType); + return fieldBasedAccess.originalType != null && types.isLaxFieldAccessAllowed(fieldBasedAccess.originalType); } private BType getLaxFieldAccessType(BType exprType) { @@ -8331,7 +8388,7 @@ private BType checkOptionalFieldAccessExpr(BLangFieldBasedAccess fieldAccessExpr fieldAccessExpr.nilSafeNavigation = nillableExprType; fieldAccessExpr.originalType = fieldAccessExpr.leafNode || !nillableExprType ? actualType : types.getTypeWithoutNil(actualType); - } else if (types.isLax(effectiveType)) { + } else if (types.isLaxFieldAccessAllowed(effectiveType)) { BType laxFieldAccessType = getLaxFieldAccessType(effectiveType); actualType = accessCouldResultInError(effectiveType) ? BUnionType.create(null, laxFieldAccessType, symTable.errorType) : laxFieldAccessType; @@ -8617,24 +8674,25 @@ private BType checkArrayIndexBasedAccess(BLangIndexBasedAccess indexBasedAccess, actualType = arrayType.eType; break; case TypeTags.UNION: - // address the case where we have a union of finite types - List finiteTypes = ((BUnionType) indexExprType).getMemberTypes().stream() - .filter(memType -> Types.getReferredType(memType).tag == TypeTags.FINITE) - .map(matchedType -> (BFiniteType) Types.getReferredType(matchedType)) - .collect(Collectors.toList()); - - BFiniteType finiteType; - if (finiteTypes.size() == 1) { - finiteType = finiteTypes.get(0); - } else { - Set valueSpace = new LinkedHashSet<>(); - finiteTypes.forEach(constituent -> valueSpace.addAll(constituent.getValueSpace())); - finiteType = new BFiniteType(null, valueSpace); + // address the case where we have a union of types + List finiteTypes = new ArrayList<>(); + for (BType memType : ((BUnionType) indexExprType).getMemberTypes()) { + memType = Types.getReferredType(memType); + if (memType.tag == TypeTags.FINITE) { + finiteTypes.add((BFiniteType) memType); + } else { + BType possibleType = checkArrayIndexBasedAccess(indexBasedAccess, memType, arrayType); + if (possibleType == symTable.semanticError) { + return symTable.semanticError; + } + } } - - BType elementType = checkArrayIndexBasedAccess(indexBasedAccess, finiteType, arrayType); - if (elementType == symTable.semanticError) { - return symTable.semanticError; + if (!finiteTypes.isEmpty()) { + BFiniteType finiteType = createFiniteTypeFromFiniteTypeList(finiteTypes); + BType possibleType = checkArrayIndexBasedAccess(indexBasedAccess, finiteType, arrayType); + if (possibleType == symTable.semanticError) { + return symTable.semanticError; + } } actualType = arrayType.eType; break; @@ -8725,23 +8783,15 @@ private BType checkTupleIndexBasedAccess(BLangIndexBasedAccess accessExpr, BTupl } } }); - - BFiniteType finiteType; - if (finiteTypes.size() == 1) { - finiteType = finiteTypes.get(0); - } else { - Set valueSpace = new LinkedHashSet<>(); - finiteTypes.forEach(constituent -> valueSpace.addAll(constituent.getValueSpace())); - finiteType = new BFiniteType(null, valueSpace); - } - - BType possibleType = checkTupleIndexBasedAccess(accessExpr, tuple, finiteType); - if (possibleType.tag == TypeTags.UNION) { - possibleTypesByMember.addAll(((BUnionType) possibleType).getMemberTypes()); - } else { - possibleTypesByMember.add(possibleType); + if (!finiteTypes.isEmpty()) { + BFiniteType finiteType = createFiniteTypeFromFiniteTypeList(finiteTypes); + BType possibleType = checkTupleIndexBasedAccess(accessExpr, tuple, finiteType); + if (possibleType.tag == TypeTags.UNION) { + possibleTypesByMember.addAll(((BUnionType) possibleType).getMemberTypes()); + } else { + possibleTypesByMember.add(possibleType); + } } - if (possibleTypesByMember.contains(symTable.semanticError)) { return symTable.semanticError; } @@ -8912,23 +8962,15 @@ private BType checkRecordIndexBasedAccess(BLangIndexBasedAccess accessExpr, BRec } } }); - - BFiniteType finiteType; - if (finiteTypes.size() == 1) { - finiteType = finiteTypes.get(0); - } else { - Set valueSpace = new LinkedHashSet<>(); - finiteTypes.forEach(constituent -> valueSpace.addAll(constituent.getValueSpace())); - finiteType = new BFiniteType(null, valueSpace); - } - - BType possibleType = checkRecordIndexBasedAccess(accessExpr, record, finiteType, data); - if (possibleType.tag == TypeTags.UNION) { - possibleTypesByMember.addAll(((BUnionType) possibleType).getMemberTypes()); - } else { - possibleTypesByMember.add(possibleType); + if (!finiteTypes.isEmpty()) { + BFiniteType finiteType = createFiniteTypeFromFiniteTypeList(finiteTypes); + BType possibleType = checkRecordIndexBasedAccess(accessExpr, record, finiteType, data); + if (possibleType.tag == TypeTags.UNION) { + possibleTypesByMember.addAll(((BUnionType) possibleType).getMemberTypes()); + } else { + possibleTypesByMember.add(possibleType); + } } - if (possibleTypesByMember.contains(symTable.semanticError)) { return symTable.semanticError; } @@ -9452,6 +9494,16 @@ private LinkedHashSet getTypeWithoutNilForNonAnyTypeWithNil(BType type) { return memberTypes; } + private BFiniteType createFiniteTypeFromFiniteTypeList(List finiteTypes) { + if (finiteTypes.size() == 1) { + return finiteTypes.get(0); + } else { + Set valueSpace = new LinkedHashSet<>(); + finiteTypes.forEach(constituent -> valueSpace.addAll(constituent.getValueSpace())); + return new BFiniteType(null, valueSpace); + } + } + private static class FieldInfo { List types; boolean required; diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/Types.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/Types.java index 54f2a6d778b9..e760329b4838 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/Types.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/semantics/analyzer/Types.java @@ -273,13 +273,9 @@ public BType checkType(Location pos, return symTable.semanticError; } - public boolean isLax(BType type) { + public boolean isLaxFieldAccessAllowed(BType type) { Set visited = new HashSet<>(); - int result = isLaxType(type, visited); - if (result == 1) { - return true; - } - return false; + return isLaxType(type, visited) == 1 || type.tag == TypeTags.XML || type.tag == TypeTags.XML_ELEMENT; } // TODO : clean @@ -289,8 +285,6 @@ public int isLaxType(BType type, Set visited) { } switch (type.tag) { case TypeTags.JSON: - case TypeTags.XML: - case TypeTags.XML_ELEMENT: return 1; case TypeTags.MAP: return isLaxType(((BMapType) type).constraint, visited); @@ -323,8 +317,6 @@ public boolean isLaxType(BType type, Map visited) { } switch (type.tag) { case TypeTags.JSON: - case TypeTags.XML: - case TypeTags.XML_ELEMENT: visited.put(type, true); return true; case TypeTags.MAP: @@ -3504,6 +3496,11 @@ private boolean checkFieldEquivalency(BRecordType lhsType, BRecordType rhsType, if (!Symbols.isOptional(lhsField.symbol) || isInvalidNeverField(lhsField, rhsType)) { return false; } + + if (!rhsType.sealed && !isAssignable(rhsType.restFieldType, lhsField.type, unresolvedTypes)) { + return false; + } + continue; } if (hasIncompatibleReadOnlyFlags(lhsField.symbol.flags, rhsField.symbol.flags)) { diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeAnalyzer.java index dbcb6a308e7a..12bfd933e341 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeAnalyzer.java @@ -113,6 +113,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -167,7 +168,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -629,7 +629,7 @@ public abstract class BLangNodeAnalyzer { public abstract void visit(BLangWhile node, T data); - public abstract void visit(BLangWorkerSend node, T data); + public abstract void visit(BLangWorkerAsyncSendExpr node, T data); public abstract void visit(BLangXMLNSStatement node, T data); diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeTransformer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeTransformer.java index 8f99ed3e83f8..43c21c27b8fb 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeTransformer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeTransformer.java @@ -112,6 +112,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -166,7 +167,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1042,7 +1042,7 @@ public R transform(BLangWhile node, T data) { return transformNode(node, data); } - public R transform(BLangWorkerSend node, T data) { + public R transform(BLangWorkerAsyncSendExpr node, T data) { return transformNode(node, data); } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeVisitor.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeVisitor.java index 0f7b0e2e3c39..2ed8668730b1 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeVisitor.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/BLangNodeVisitor.java @@ -137,6 +137,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangUnaryExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -193,7 +194,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -570,7 +570,7 @@ public void visit(BLangForkJoin forkJoin) { throw new AssertionError(); } - public void visit(BLangWorkerSend workerSendNode) { + public void visit(BLangWorkerAsyncSendExpr asyncSendExpr) { throw new AssertionError(); } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/SimpleBLangNodeAnalyzer.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/SimpleBLangNodeAnalyzer.java index 0dfd36df04cb..f386a100f8be 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/SimpleBLangNodeAnalyzer.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/SimpleBLangNodeAnalyzer.java @@ -117,6 +117,7 @@ import org.wso2.ballerinalang.compiler.tree.expressions.BLangVariableReference; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWaitForAllExpr; +import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerAsyncSendExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerFlushExpr; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerReceive; import org.wso2.ballerinalang.compiler.tree.expressions.BLangWorkerSyncSendExpr; @@ -172,7 +173,6 @@ import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleDestructure; import org.wso2.ballerinalang.compiler.tree.statements.BLangTupleVariableDef; import org.wso2.ballerinalang.compiler.tree.statements.BLangWhile; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import org.wso2.ballerinalang.compiler.tree.statements.BLangXMLNSStatement; import org.wso2.ballerinalang.compiler.tree.types.BLangArrayType; import org.wso2.ballerinalang.compiler.tree.types.BLangBuiltInRefTypeNode; @@ -1373,7 +1373,7 @@ public void visit(BLangWhile node, T data) { visitNode(node.onFailClause, data); } - public void visit(BLangWorkerSend node, T data) { + public void visit(BLangWorkerAsyncSendExpr node, T data) { analyzeNode(node, data); visitNode(node.expr, data); visitNode(node.workerIdentifier, data); diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/statements/BLangWorkerSend.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerAsyncSendExpr.java similarity index 82% rename from compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/statements/BLangWorkerSend.java rename to compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerAsyncSendExpr.java index 8d52e745788b..e7d886d854bd 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/statements/BLangWorkerSend.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerAsyncSendExpr.java @@ -15,33 +15,36 @@ * specific language governing permissions and limitations * under the License. */ -package org.wso2.ballerinalang.compiler.tree.statements; +package org.wso2.ballerinalang.compiler.tree.expressions; import org.ballerinalang.model.tree.IdentifierNode; import org.ballerinalang.model.tree.NodeKind; -import org.ballerinalang.model.tree.statements.WorkerSendNode; +import org.ballerinalang.model.tree.expressions.WorkerSendExpressionNode; import org.wso2.ballerinalang.compiler.semantics.model.SymbolEnv; import org.wso2.ballerinalang.compiler.semantics.model.symbols.BSymbol; +import org.wso2.ballerinalang.compiler.semantics.model.types.BType; import org.wso2.ballerinalang.compiler.tree.BLangIdentifier; import org.wso2.ballerinalang.compiler.tree.BLangNodeAnalyzer; import org.wso2.ballerinalang.compiler.tree.BLangNodeTransformer; import org.wso2.ballerinalang.compiler.tree.BLangNodeVisitor; -import org.wso2.ballerinalang.compiler.tree.expressions.BLangExpression; /** * Models the async-send-action. * * @since 0.94 */ -public class BLangWorkerSend extends BLangStatement implements WorkerSendNode { +public class BLangWorkerAsyncSendExpr extends BLangExpression implements WorkerSendExpressionNode { // BLangNodes public BLangExpression expr; public BLangIdentifier workerIdentifier; // Semantic Data + public BLangWorkerReceive receive; public SymbolEnv env; public BSymbol workerSymbol; + public BType workerType; + public BType sendType; @Override public BLangExpression getExpression() { @@ -60,7 +63,7 @@ public void setWorkerName(IdentifierNode identifierNode) { @Override public NodeKind getKind() { - return NodeKind.WORKER_SEND; + return NodeKind.WORKER_ASYNC_SEND; } @Override @@ -84,6 +87,6 @@ public String toActionString() { @Override public String toString() { - return "BLangWorkerSend: " + this.toActionString(); + return "BLangWorkerAsyncSend: " + this.toActionString(); } } diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerFlushExpr.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerFlushExpr.java index cc4bc1839977..093260114e2b 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerFlushExpr.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerFlushExpr.java @@ -25,7 +25,6 @@ import org.wso2.ballerinalang.compiler.tree.BLangNodeAnalyzer; import org.wso2.ballerinalang.compiler.tree.BLangNodeTransformer; import org.wso2.ballerinalang.compiler.tree.BLangNodeVisitor; -import org.wso2.ballerinalang.compiler.tree.statements.BLangWorkerSend; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class BLangWorkerFlushExpr extends BLangExpression implements WorkerFlush // Semantic Data public BSymbol workerSymbol; public List workerIdentifierList = new ArrayList<>(); - public List cachedWorkerSendStmts = new ArrayList<>(); + public List cachedWorkerSendStmts = new ArrayList<>(); @Override public NodeKind getKind() { diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerSyncSendExpr.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerSyncSendExpr.java index 0ffdfef28efe..4b7f67adbd56 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerSyncSendExpr.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/tree/expressions/BLangWorkerSyncSendExpr.java @@ -20,7 +20,7 @@ import org.ballerinalang.model.tree.IdentifierNode; import org.ballerinalang.model.tree.NodeKind; import org.ballerinalang.model.tree.expressions.ExpressionNode; -import org.ballerinalang.model.tree.expressions.WorkerSendSyncExpressionNode; +import org.ballerinalang.model.tree.expressions.WorkerSendExpressionNode; import org.wso2.ballerinalang.compiler.semantics.model.SymbolEnv; import org.wso2.ballerinalang.compiler.semantics.model.symbols.BSymbol; import org.wso2.ballerinalang.compiler.semantics.model.types.BType; @@ -34,7 +34,7 @@ * * @since 0.985 */ -public class BLangWorkerSyncSendExpr extends BLangExpression implements WorkerSendSyncExpressionNode { +public class BLangWorkerSyncSendExpr extends BLangExpression implements WorkerSendExpressionNode { // BLangNodes public BLangIdentifier workerIdentifier; @@ -45,6 +45,7 @@ public class BLangWorkerSyncSendExpr extends BLangExpression implements WorkerSe public BSymbol workerSymbol; public SymbolEnv env; public BType workerType; + public BType sendType; @Override public NodeKind getKind() { diff --git a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/util/TypeDefBuilderHelper.java b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/util/TypeDefBuilderHelper.java index 1f4ecde6dc7f..6f5627115351 100644 --- a/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/util/TypeDefBuilderHelper.java +++ b/compiler/ballerina-lang/src/main/java/org/wso2/ballerinalang/compiler/util/TypeDefBuilderHelper.java @@ -331,12 +331,13 @@ public static void populateStructureFields(Types types, SymbolTable symTable, fieldType = origField.type; } - Name origFieldName = origField.name; + Name origFieldName = origField.symbol.originalName; + Name fieldName = origField.name; BVarSymbol fieldSymbol; BType referredType = Types.getReferredType(fieldType); if (referredType.tag == TypeTags.INVOKABLE && referredType.tsymbol != null) { fieldSymbol = new BInvokableSymbol(origField.symbol.tag, origField.symbol.flags | flag, - origFieldName, pkgID, fieldType, + fieldName, origFieldName, pkgID, fieldType, structureSymbol, origField.symbol.pos, SOURCE); BInvokableTypeSymbol tsymbol = (BInvokableTypeSymbol) referredType.tsymbol; BInvokableSymbol invokableSymbol = (BInvokableSymbol) fieldSymbol; @@ -347,16 +348,16 @@ public static void populateStructureFields(Types types, SymbolTable symTable, } else if (fieldType == symTable.semanticError) { // Can only happen for records. fieldSymbol = new BVarSymbol(origField.symbol.flags | flag | Flags.OPTIONAL, - origFieldName, pkgID, symTable.neverType, + fieldName, origFieldName, pkgID, symTable.neverType, structureSymbol, origField.symbol.pos, SOURCE); } else { - fieldSymbol = new BVarSymbol(origField.symbol.flags | flag, origFieldName, pkgID, + fieldSymbol = new BVarSymbol(origField.symbol.flags | flag, fieldName, origFieldName, pkgID, fieldType, structureSymbol, origField.symbol.pos, SOURCE); } - String nameString = origFieldName.value; - fields.put(nameString, new BField(origFieldName, null, fieldSymbol)); - structureSymbol.scope.define(origFieldName, fieldSymbol); + String nameString = fieldName.value; + fields.put(nameString, new BField(fieldName, null, fieldSymbol)); + structureSymbol.scope.define(fieldName, fieldSymbol); } structureType.fields = fields; diff --git a/compiler/ballerina-lang/src/main/resources/ballerina-toml-schema.json b/compiler/ballerina-lang/src/main/resources/ballerina-toml-schema.json index aa8e0db4dc3a..9a3d7d2f6463 100644 --- a/compiler/ballerina-lang/src/main/resources/ballerina-toml-schema.json +++ b/compiler/ballerina-lang/src/main/resources/ballerina-toml-schema.json @@ -252,11 +252,7 @@ } }, "repository": { - "type": "string", - "pattern": "^local$", - "message": { - "pattern": "invalid 'repository' under [dependency]: 'repository' can only have the value 'local'" - } + "type": "string" } }, "required": [ diff --git a/compiler/ballerina-lang/src/main/resources/compiler.properties b/compiler/ballerina-lang/src/main/resources/compiler.properties index 6f1afc4226e4..a31fa2c4899c 100644 --- a/compiler/ballerina-lang/src/main/resources/compiler.properties +++ b/compiler/ballerina-lang/src/main/resources/compiler.properties @@ -1971,6 +1971,12 @@ error.empty.regexp.string.disallowed=\ error.unsupported.empty.character.class=\ empty character class disallowed +error.cannot.use.alternate.wait.action.within.multiple.wait.action=\ + cannot use an alternate wait action within a multiple wait action + +error.future.expression.expected=\ + expected an expression of type ''future'', found ''{0}'' + error.cyclic.type.reference.not.yet.supported=\ cyclic type reference not yet supported for ''{0}'' diff --git a/compiler/ballerina-lang/src/main/resources/settings-toml-schema.json b/compiler/ballerina-lang/src/main/resources/settings-toml-schema.json index 1da84c4b3fa3..cdfe137cf774 100644 --- a/compiler/ballerina-lang/src/main/resources/settings-toml-schema.json +++ b/compiler/ballerina-lang/src/main/resources/settings-toml-schema.json @@ -31,6 +31,96 @@ "type": "string" } } + }, + "repository": { + "type": "object", + "additionalProperties": true, + "properties": { + "github": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "accesstoken": { + "type": "string" + } + } + } + }, + "nexus": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "accesstoken": { + "type": "string" + } + } + } + }, + "artifactory": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "accesstoken": { + "type": "string" + } + } + } + }, + "file-system": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": false, + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "accesstoken": { + "type": "string" + } + } + } + } + } } } } diff --git a/compiler/ballerina-lang/src/test/java/io/ballerina/projects/MavenPackageRepositoryTests.java b/compiler/ballerina-lang/src/test/java/io/ballerina/projects/MavenPackageRepositoryTests.java new file mode 100644 index 000000000000..b1e0fd6a445e --- /dev/null +++ b/compiler/ballerina-lang/src/test/java/io/ballerina/projects/MavenPackageRepositoryTests.java @@ -0,0 +1,250 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package io.ballerina.projects; + +import io.ballerina.projects.environment.Environment; +import io.ballerina.projects.environment.ResolutionOptions; +import io.ballerina.projects.environment.ResolutionRequest; +import io.ballerina.projects.internal.repositories.MavenPackageRepository; +import org.testng.Assert; +import org.testng.annotations.BeforeSuite; +import org.testng.annotations.Test; + +import java.io.File; +import java.io.IOException; +import java.nio.file.FileVisitResult; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.SimpleFileVisitor; +import java.nio.file.StandardCopyOption; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.Collection; +import java.util.Comparator; +import java.util.List; +import java.util.Map; +import java.util.Optional; + +/** + * Test maven package repository. + * + * @since 2.0.0 + */ +public class MavenPackageRepositoryTests { + + + class MockMavenPackageRepository extends MavenPackageRepository { + + public MockMavenPackageRepository(Environment environment, Path cacheDirectory, String distributionVersion) { + super(environment, cacheDirectory, distributionVersion, null, null); + } + + + @Override + public boolean getPackageFromRemoteRepo(String org, String name, String version) { + Path sourceFolderPath = RESOURCE_DIRECTORY.resolve("custom-repo-resources") + .resolve("remote-custom-repo").resolve(name); + Path destinationFolderPath = RESOURCE_DIRECTORY.resolve("custom-repo-resources") + .resolve("local-custom-repo") + .resolve("bala").resolve(org).resolve(name); + + try { + Files.walkFileTree(sourceFolderPath, new SimpleFileVisitor() { + @Override + public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException { + Path targetDir = destinationFolderPath.resolve(sourceFolderPath.relativize(dir)); + Files.createDirectories(targetDir); + return FileVisitResult.CONTINUE; + } + + @Override + public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException { + Files.copy(file, destinationFolderPath.resolve(sourceFolderPath.relativize(file)), + StandardCopyOption.REPLACE_EXISTING); + return FileVisitResult.CONTINUE; + } + }); + + } catch (IOException e) { + return false; + } + return true; + } + } + + private static final Path RESOURCE_DIRECTORY = Paths.get("src", "test", "resources"); + private static final Path TEST_REPO = RESOURCE_DIRECTORY.resolve("custom-repo-resources") + .resolve("local-custom-repo"); + private MavenPackageRepository customPackageRepository; + + @BeforeSuite + public void setup() { + customPackageRepository = new MockMavenPackageRepository(new Environment() { + @Override + public T getService(Class clazz) { + return null; + } + }, TEST_REPO, "1.2.3"); + } + + @Test(description = "Test package existence in custom repository - online") + public void testIsPackageExist() throws IOException { + boolean isPackageExists = customPackageRepository.isPackageExists( + PackageOrg.from("luheerathan"), PackageName.from("pact"), + PackageVersion.from("0.1.0"), false); + Assert.assertTrue(isPackageExists); + deleteRemotePackage(); + } + + @Test(description = "Test package existence in custom repository - offline") + public void testIsPackageExistOffline() throws IOException { + boolean isPackageExists = customPackageRepository.isPackageExists( + PackageOrg.from("luheerathan"), PackageName.from("pact"), + PackageVersion.from("0.1.0"), true); + Assert.assertFalse(isPackageExists); + deleteRemotePackage(); + } + + @Test(description = "Test non-existing package in custom repository - online") + public void testNonExistingPkg() { + boolean isPackageExists = customPackageRepository.isPackageExists( + PackageOrg.from("luheerathan"), + PackageName.from("pact1"), PackageVersion.from("0.1.0"), false); + Assert.assertTrue(!isPackageExists); + } + + @Test(description = "Test package version existence in custom repository") + public void testGetPackageVersionsOnline() throws IOException { + customPackageRepository.isPackageExists( + PackageOrg.from("luheerathan"), PackageName.from("pact"), + PackageVersion.from("0.1.0"), false); + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact"), PackageVersion.from("0.1.0")), + PackageDependencyScope.DEFAULT); + Collection versions = customPackageRepository.getPackageVersions(resolutionRequest, + ResolutionOptions.builder().setOffline(true).build()); + Assert.assertEquals(versions.size(), 1); + Assert.assertTrue(versions.contains(PackageVersion.from("0.1.0"))); + deleteRemotePackage(); + } + + + @Test(description = "Test getPackage (non existing package) in custom repository - offline") + public void testGetPackageNonExistingOffline() throws IOException { + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact1"), PackageVersion.from("0.1.0")), + PackageDependencyScope.DEFAULT); + Optional repositoryPackage = customPackageRepository.getPackage(resolutionRequest, + ResolutionOptions.builder().setOffline(true).build()); + Assert.assertTrue(repositoryPackage.isEmpty()); + deleteRemotePackage(); + } + + @Test(description = "Test getPackage (non existing package) in custom repository - online") + public void testGetPackageNonExistingOnline() throws IOException { + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact1"), PackageVersion.from("0.1.0")), + PackageDependencyScope.DEFAULT); + Optional repositoryPackage = customPackageRepository.getPackage(resolutionRequest, + ResolutionOptions.builder().setOffline(false).build()); + Assert.assertTrue(repositoryPackage.isEmpty()); + deleteRemotePackage(); + } + + @Test(description = "Test getPackage (existing package) in custom repository - online") + public void testGetPackageExistingOnline() throws IOException { + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact"), PackageVersion.from("0.1.0")), + PackageDependencyScope.DEFAULT); + Optional repositoryPackage = customPackageRepository.getPackage(resolutionRequest, + ResolutionOptions.builder().setOffline(false).build()); + Assert.assertFalse(repositoryPackage.isEmpty()); + deleteRemotePackage(); + } + + @Test(description = "Test getPackage (existing package) in custom repository - offline") + public void testGetPackageExistingOffline() throws IOException { + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact"), PackageVersion.from("0.1.0")), + PackageDependencyScope.DEFAULT); + Optional repositoryPackage = customPackageRepository.getPackage(resolutionRequest, + ResolutionOptions.builder().setOffline(true).build()); + Assert.assertTrue(repositoryPackage.isEmpty()); + deleteRemotePackage(); + } + + @Test(description = "Test getPackages") + public void testGetPackages() throws IOException { + Map> repositoryPackages = customPackageRepository.getPackages(); + Assert.assertEquals(repositoryPackages.keySet().size(), 1); + Assert.assertTrue(repositoryPackages.containsKey("luheerathan")); + Assert.assertEquals(repositoryPackages.get("luheerathan").size(), 2); + deleteRemotePackage(); + } + + @Test(description = "Test package version existence in custom repository") + public void testGetNonExistingPackageVersions1() throws IOException { + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact"), PackageVersion.from("0.2.0")), + PackageDependencyScope.DEFAULT); + Collection versions = customPackageRepository.getPackageVersions(resolutionRequest, + ResolutionOptions.builder().setOffline(true).build()); + Assert.assertEquals(versions.size(), 0); + deleteRemotePackage(); + } + + @Test(description = "Test non-existing package modules in custom repository") + public void testNonExistingPkgModules() throws IOException { + Collection modules = customPackageRepository.getModules( + PackageOrg.from("luheerathan"), + PackageName.from("pact1"), PackageVersion.from("0.1.0")); + Assert.assertTrue(modules.isEmpty()); + deleteRemotePackage(); + } + + + @Test(description = "Test package version existence in custom repository") + public void testGetNonExistingPackageVersions2() throws IOException { + ResolutionRequest resolutionRequest = ResolutionRequest.from( + PackageDescriptor.from(PackageOrg.from("luheerathan"), + PackageName.from("pact1"), PackageVersion.from("0.2.0")), + PackageDependencyScope.DEFAULT); + Collection versions = customPackageRepository.getPackageVersions(resolutionRequest, + ResolutionOptions.builder().setOffline(true).build()); + Assert.assertEquals(versions.size(), 0); + deleteRemotePackage(); + } + + + private static void deleteRemotePackage() throws IOException { + Path destinationFolderPath = RESOURCE_DIRECTORY.resolve("custom-repo-resources"). + resolve("local-custom-repo") + .resolve("bala").resolve("luheerathan").resolve("pact"); + if (Files.exists(destinationFolderPath)) { + Files.walk(destinationFolderPath) + .sorted(Comparator.reverseOrder()) + .map(Path::toFile) + .forEach(File::delete); + } + } +} diff --git a/compiler/ballerina-lang/src/test/java/io/ballerina/projects/test/resolution/packages/internal/PackageResolutionTestCaseBuilder.java b/compiler/ballerina-lang/src/test/java/io/ballerina/projects/test/resolution/packages/internal/PackageResolutionTestCaseBuilder.java index 894927196444..90ce85a624ec 100644 --- a/compiler/ballerina-lang/src/test/java/io/ballerina/projects/test/resolution/packages/internal/PackageResolutionTestCaseBuilder.java +++ b/compiler/ballerina-lang/src/test/java/io/ballerina/projects/test/resolution/packages/internal/PackageResolutionTestCaseBuilder.java @@ -44,6 +44,7 @@ import java.util.ArrayList; import java.util.Collection; import java.util.Collections; +import java.util.HashMap; import java.util.List; import java.util.Objects; import java.util.Set; @@ -87,7 +88,7 @@ public static PackageResolutionTestCase build(TestCaseFilePaths filePaths, boole filePaths.expectedGraphNoStickyPath().orElse(null)); BlendedManifest blendedManifest = BlendedManifest.from(dependencyManifest, - packageManifest, packageResolver.localRepo()); + packageManifest, packageResolver.localRepo(), new HashMap<>(), false); ModuleResolver moduleResolver = new ModuleResolver(rootPkgDes, getModulesInRootPackage(rootPkgDescWrapper, rootPkgDes), blendedManifest, packageResolver, ResolutionOptions.builder().setSticky(sticky).build()); diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/bala.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/bala.json new file mode 100644 index 000000000000..fd0a01921270 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/bala.json @@ -0,0 +1,4 @@ +{ + "bala_version": "2.0.0", + "built_by": "WSO2" +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/dependency-graph.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/dependency-graph.json new file mode 100644 index 000000000000..e5ed7c6b9a09 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/dependency-graph.json @@ -0,0 +1,88 @@ +{ + "packages": [ + { + "org": "ballerina", + "name": "lang.value", + "version": "0.0.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + }, + { + "org": "luheerathan", + "name": "packA", + "version": "0.1.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "io", + "version": "1.5.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + }, + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + }, + { + "org": "ballerina", + "name": "io", + "version": "1.5.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "lang.value", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + }, + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + } + ], + "modules": [ + { + "org": "luheerathan", + "package_name": "packA", + "version": "0.1.0", + "module_name": "packA", + "dependencies": [ + { + "org": "ballerina", + "package_name": "io", + "version": "1.5.0", + "module_name": "io", + "dependencies": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/docs/Package.md b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/docs/Package.md new file mode 100644 index 000000000000..9c3b9c65b2fd --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/docs/Package.md @@ -0,0 +1 @@ +jsjj \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/modules/packA/main.bal b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/modules/packA/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/modules/packA/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/package.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/package.json new file mode 100644 index 000000000000..a55dde2cf5e7 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packA/0.1.0/any/package.json @@ -0,0 +1,13 @@ +{ + "organization": "luheerathan", + "name": "packA", + "version": "0.1.0", + "export": [ + "packA" + ], + "ballerina_version": "2201.8.0-SNAPSHOT", + "implementation_vendor": "WSO2", + "language_spec_version": "2023R1", + "platform": "any", + "template": false +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/bala.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/bala.json new file mode 100644 index 000000000000..fd0a01921270 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/bala.json @@ -0,0 +1,4 @@ +{ + "bala_version": "2.0.0", + "built_by": "WSO2" +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/dependency-graph.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/dependency-graph.json new file mode 100644 index 000000000000..7e4a0cf53b5c --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/dependency-graph.json @@ -0,0 +1,88 @@ +{ + "packages": [ + { + "org": "ballerina", + "name": "lang.value", + "version": "0.0.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + }, + { + "org": "ballerina", + "name": "io", + "version": "1.5.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "lang.value", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + }, + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + }, + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + }, + { + "org": "luheerathan", + "name": "packd", + "version": "0.1.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "io", + "version": "1.5.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + } + ], + "modules": [ + { + "org": "luheerathan", + "package_name": "packd", + "version": "0.1.0", + "module_name": "packd", + "dependencies": [ + { + "org": "ballerina", + "package_name": "io", + "version": "1.5.0", + "module_name": "io", + "dependencies": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/docs/Package.md b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/docs/Package.md new file mode 100644 index 000000000000..9c3b9c65b2fd --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/docs/Package.md @@ -0,0 +1 @@ +jsjj \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/modules/packd/main.bal b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/modules/packd/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/modules/packd/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/package.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/package.json new file mode 100644 index 000000000000..1fa12a805bc8 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/local-custom-repo/bala/luheerathan/packD/0.1.0/any/package.json @@ -0,0 +1,13 @@ +{ + "organization": "luheerathan", + "name": "packd", + "version": "0.1.0", + "export": [ + "packd" + ], + "ballerina_version": "2201.8.0-SNAPSHOT", + "implementation_vendor": "WSO2", + "language_spec_version": "2023R1", + "platform": "any", + "template": false +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/bala.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/bala.json new file mode 100644 index 000000000000..fd0a01921270 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/bala.json @@ -0,0 +1,4 @@ +{ + "bala_version": "2.0.0", + "built_by": "WSO2" +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/dependency-graph.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/dependency-graph.json new file mode 100644 index 000000000000..44b51220658c --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/dependency-graph.json @@ -0,0 +1,88 @@ +{ + "packages": [ + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + }, + { + "org": "luheerathan", + "name": "pact", + "version": "0.1.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "io", + "version": "1.5.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + }, + { + "org": "ballerina", + "name": "lang.value", + "version": "0.0.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + }, + { + "org": "ballerina", + "name": "io", + "version": "1.5.0", + "transitive": false, + "dependencies": [ + { + "org": "ballerina", + "name": "jballerina.java", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + }, + { + "org": "ballerina", + "name": "lang.value", + "version": "0.0.0", + "transitive": false, + "dependencies": [], + "modules": [] + } + ], + "modules": [] + } + ], + "modules": [ + { + "org": "luheerathan", + "package_name": "pact", + "version": "0.1.0", + "module_name": "pact", + "dependencies": [ + { + "org": "ballerina", + "package_name": "io", + "version": "1.5.0", + "module_name": "io", + "dependencies": [] + } + ] + } + ] +} \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/docs/Package.md b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/docs/Package.md new file mode 100644 index 000000000000..9c3b9c65b2fd --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/docs/Package.md @@ -0,0 +1 @@ +jsjj \ No newline at end of file diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/modules/pact/main.bal b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/modules/pact/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/modules/pact/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/package.json b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/package.json new file mode 100644 index 000000000000..caa4e9a4a888 --- /dev/null +++ b/compiler/ballerina-lang/src/test/resources/custom-repo-resources/remote-custom-repo/pact/0.1.0/any/package.json @@ -0,0 +1,13 @@ +{ + "organization": "luheerathan", + "name": "pact", + "version": "0.1.0", + "export": [ + "pact" + ], + "ballerina_version": "2201.8.0-SNAPSHOT", + "implementation_vendor": "WSO2", + "language_spec_version": "2023R1", + "platform": "any", + "template": false +} \ No newline at end of file diff --git a/compiler/ballerina-parser/src/test/java/io/ballerinalang/compiler/parser/test/syntax/actions/StartActionTest.java b/compiler/ballerina-parser/src/test/java/io/ballerinalang/compiler/parser/test/syntax/actions/StartActionTest.java index 4f6ea5642ae8..7f4e17c14293 100644 --- a/compiler/ballerina-parser/src/test/java/io/ballerinalang/compiler/parser/test/syntax/actions/StartActionTest.java +++ b/compiler/ballerina-parser/src/test/java/io/ballerinalang/compiler/parser/test/syntax/actions/StartActionTest.java @@ -54,4 +54,9 @@ public void testStartActionWithAnnotsRecovery() { public void testStartActionWithInvalidExpr() { testFile("start-action/start_action_source_05.bal", "start-action/start_action_assert_05.json"); } + + @Test + public void testStartActionWithRemoteMtdRecovery() { + testFile("start-action/start_action_source_06.bal", "start-action/start_action_assert_06.json"); + } } diff --git a/compiler/ballerina-parser/src/test/resources/actions/start-action/start_action_assert_06.json b/compiler/ballerina-parser/src/test/resources/actions/start-action/start_action_assert_06.json new file mode 100644 index 000000000000..3f33e02f31a0 --- /dev/null +++ b/compiler/ballerina-parser/src/test/resources/actions/start-action/start_action_assert_06.json @@ -0,0 +1,283 @@ +{ + "kind": "FUNCTION_DEFINITION", + "hasDiagnostics": true, + "children": [ + { + "kind": "LIST", + "children": [ + { + "kind": "PUBLIC_KEYWORD", + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ] + } + ] + }, + { + "kind": "FUNCTION_KEYWORD", + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ] + }, + { + "kind": "IDENTIFIER_TOKEN", + "value": "main" + }, + { + "kind": "LIST", + "children": [] + }, + { + "kind": "FUNCTION_SIGNATURE", + "children": [ + { + "kind": "OPEN_PAREN_TOKEN" + }, + { + "kind": "LIST", + "children": [] + }, + { + "kind": "CLOSE_PAREN_TOKEN", + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ] + } + ] + }, + { + "kind": "FUNCTION_BODY_BLOCK", + "hasDiagnostics": true, + "children": [ + { + "kind": "OPEN_BRACE_TOKEN", + "trailingMinutiae": [ + { + "kind": "END_OF_LINE_MINUTIAE", + "value": "\n" + } + ] + }, + { + "kind": "LIST", + "hasDiagnostics": true, + "children": [ + { + "kind": "LOCAL_VAR_DECL", + "hasDiagnostics": true, + "children": [ + { + "kind": "LIST", + "children": [] + }, + { + "kind": "TYPED_BINDING_PATTERN", + "children": [ + { + "kind": "VAR_TYPE_DESC", + "children": [ + { + "kind": "VAR_KEYWORD", + "leadingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ], + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ] + } + ] + }, + { + "kind": "CAPTURE_BINDING_PATTERN", + "children": [ + { + "kind": "IDENTIFIER_TOKEN", + "value": "f", + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ] + } + ] + } + ] + }, + { + "kind": "EQUAL_TOKEN", + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + } + ] + }, + { + "kind": "START_ACTION", + "hasDiagnostics": true, + "children": [ + { + "kind": "LIST", + "children": [] + }, + { + "kind": "START_KEYWORD", + "hasDiagnostics": true, + "trailingMinutiae": [ + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + }, + { + "kind": "INVALID_NODE_MINUTIAE", + "invalidNode": { + "kind": "INVALID_TOKEN_MINUTIAE_NODE", + "hasDiagnostics": true, + "children": [ + { + "kind": "IDENTIFIER_TOKEN", + "hasDiagnostics": true, + "diagnostics": [ + "ERROR_INVALID_EXPRESSION_IN_START_ACTION" + ], + "value": "foo" + } + ] + } + }, + { + "kind": "INVALID_NODE_MINUTIAE", + "invalidNode": { + "kind": "INVALID_TOKEN_MINUTIAE_NODE", + "children": [ + { + "kind": "OPEN_PAREN_TOKEN" + } + ] + } + }, + { + "kind": "INVALID_NODE_MINUTIAE", + "invalidNode": { + "kind": "INVALID_TOKEN_MINUTIAE_NODE", + "children": [ + { + "kind": "CLOSE_PAREN_TOKEN" + } + ] + } + }, + { + "kind": "INVALID_NODE_MINUTIAE", + "invalidNode": { + "kind": "INVALID_TOKEN_MINUTIAE_NODE", + "children": [ + { + "kind": "RIGHT_ARROW_TOKEN" + } + ] + } + }, + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + }, + { + "kind": "INVALID_NODE_MINUTIAE", + "invalidNode": { + "kind": "INVALID_TOKEN_MINUTIAE_NODE", + "children": [ + { + "kind": "SLASH_TOKEN" + } + ] + } + }, + { + "kind": "WHITESPACE_MINUTIAE", + "value": " " + }, + { + "kind": "INVALID_NODE_MINUTIAE", + "invalidNode": { + "kind": "INVALID_TOKEN_MINUTIAE_NODE", + "children": [ + { + "kind": "IDENTIFIER_TOKEN", + "value": "w1" + } + ] + } + } + ] + }, + { + "kind": "FUNCTION_CALL", + "children": [ + { + "kind": "SIMPLE_NAME_REFERENCE", + "children": [ + { + "kind": "IDENTIFIER_TOKEN", + "isMissing": true + } + ] + }, + { + "kind": "OPEN_PAREN_TOKEN", + "isMissing": true + }, + { + "kind": "LIST", + "children": [] + }, + { + "kind": "CLOSE_PAREN_TOKEN", + "isMissing": true + } + ] + } + ] + }, + { + "kind": "SEMICOLON_TOKEN", + "trailingMinutiae": [ + { + "kind": "END_OF_LINE_MINUTIAE", + "value": "\n" + } + ] + } + ] + } + ] + }, + { + "kind": "CLOSE_BRACE_TOKEN", + "trailingMinutiae": [ + { + "kind": "END_OF_LINE_MINUTIAE", + "value": "\n" + } + ] + } + ] + } + ] +} diff --git a/compiler/ballerina-parser/src/test/resources/actions/start-action/start_action_source_06.bal b/compiler/ballerina-parser/src/test/resources/actions/start-action/start_action_source_06.bal new file mode 100644 index 000000000000..d8b80c2dac68 --- /dev/null +++ b/compiler/ballerina-parser/src/test/resources/actions/start-action/start_action_source_06.bal @@ -0,0 +1,3 @@ +public function main() { + var f = start foo()-> / w1; +} diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/AddModuleToBallerinaTomlCodeAction.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/AddModuleToBallerinaTomlCodeAction.java new file mode 100644 index 000000000000..e1ca20225bc4 --- /dev/null +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/AddModuleToBallerinaTomlCodeAction.java @@ -0,0 +1,168 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com) All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.ballerinalang.langserver.codeaction.providers.imports; + +import io.ballerina.projects.BallerinaToml; +import io.ballerina.projects.PackageVersion; +import io.ballerina.projects.Project; +import io.ballerina.projects.environment.PackageRepository; +import io.ballerina.projects.internal.environment.BallerinaUserHome; +import io.ballerina.projects.util.ProjectConstants; +import io.ballerina.toml.syntax.tree.DocumentNode; +import io.ballerina.toml.syntax.tree.SyntaxKind; +import io.ballerina.toml.syntax.tree.TableNode; +import io.ballerina.tools.diagnostics.Diagnostic; +import org.ballerinalang.annotation.JavaSPIService; +import org.ballerinalang.langserver.LSPackageLoader; +import org.ballerinalang.langserver.LSPackageLoader.ModuleInfo; +import org.ballerinalang.langserver.codeaction.CodeActionUtil; +import org.ballerinalang.langserver.common.constants.CommandConstants; +import org.ballerinalang.langserver.commons.CodeActionContext; +import org.ballerinalang.langserver.commons.codeaction.spi.DiagBasedPositionDetails; +import org.ballerinalang.langserver.commons.codeaction.spi.DiagnosticBasedCodeActionProvider; +import org.ballerinalang.langserver.commons.toml.common.TomlSyntaxTreeUtil; +import org.ballerinalang.util.diagnostic.DiagnosticErrorCode; +import org.eclipse.lsp4j.CodeAction; +import org.eclipse.lsp4j.CodeActionKind; +import org.eclipse.lsp4j.Position; +import org.eclipse.lsp4j.Range; +import org.eclipse.lsp4j.TextEdit; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Optional; + +/** + * Code Action for adding a dependency to Ballerina.toml file. + * + * @since 2201.8.0 + */ +@JavaSPIService("org.ballerinalang.langserver.commons.codeaction.spi.LSCodeActionProvider") +public class AddModuleToBallerinaTomlCodeAction implements DiagnosticBasedCodeActionProvider { + + public static final String NAME = "Add Module to Ballerina.toml"; + + @Override + public boolean validate(Diagnostic diagnostic, DiagBasedPositionDetails positionDetails, + CodeActionContext context) { + return diagnostic.diagnosticInfo().code().equals(DiagnosticErrorCode.MODULE_NOT_FOUND.diagnosticId()); + } + + @Override + public List getCodeActions(Diagnostic diagnostic, + DiagBasedPositionDetails positionDetails, + CodeActionContext context) { + Optional project = context.workspace().project(context.filePath()); + if (project.isEmpty()) { + return Collections.emptyList(); + } + Optional toml = project.get().currentPackage().ballerinaToml(); + if (toml.isEmpty()) { + return Collections.emptyList(); + } + + Optional msg = positionDetails.diagnosticProperty(0); + if (msg.isEmpty()) { + return Collections.emptyList(); + } + + // Consider orgname empty case + String[] orgAndRest = msg.get().split("/"); + if (orgAndRest.length != 2) { + return Collections.emptyList(); + } + String org = orgAndRest[0]; + String[] moduleAndPrefix = orgAndRest[1].split(" as "); + List loadedPackageVersions = new ArrayList<>(); + String pkg = resolvePackageVersionsAndName(LSPackageLoader.getInstance(context.languageServercontext()), + project.get(), org, moduleAndPrefix[0], loadedPackageVersions); + if (loadedPackageVersions.isEmpty()) { + return Collections.emptyList(); + } + + Position dependencyStart = new Position(getDependencyStartLine(toml.get()), 0); + String dependency = String.format("[[dependency]]%norg = \"%s\"%nname = \"%s\"%nversion = " + + "\"%s\"%nrepository = \"local\"%n%n", org, pkg, getLatestVersion(loadedPackageVersions)); + TextEdit textEdit = new TextEdit(new Range(dependencyStart, dependencyStart), dependency); + CodeAction action = CodeActionUtil.createCodeAction(CommandConstants.ADD_MODULE_TO_BALLERINA_TOML, + List.of(textEdit), project.get().sourceRoot().resolve(ProjectConstants.BALLERINA_TOML).toString(), + CodeActionKind.QuickFix); + return Collections.singletonList(action); + } + + private String resolvePackageVersionsAndName(LSPackageLoader lsPackageLoader, Project project, String org, + String moduleName, List versions) { + String packageName = moduleName; + while (true) { + int i = packageName.lastIndexOf("."); + if (i == -1) { + versions.addAll(getAvailablePackageVersionsFromLocalRepo(lsPackageLoader, project, org, packageName)); + if (!versions.isEmpty()) { + return packageName; + } + versions.addAll(getAvailablePackageVersionsFromLocalRepo(lsPackageLoader, project, org, moduleName)); + return moduleName; + } + packageName = packageName.substring(0, i); + versions.addAll(getAvailablePackageVersionsFromLocalRepo(lsPackageLoader, project, org, packageName)); + if (!versions.isEmpty()) { + return packageName; + } + } + } + + @Override + public String getName() { + return NAME; + } + + private List getAvailablePackageVersionsFromLocalRepo( + LSPackageLoader lsPackageLoader, Project project, String orgName, String pkgName) { + BallerinaUserHome ballerinaUserHome = + BallerinaUserHome.from(project.projectEnvironmentContext().environment()); + PackageRepository localRepository = ballerinaUserHome.localPackageRepository(); + List modules = lsPackageLoader.getLocalRepoPackages(localRepository); + List versions = new ArrayList<>(); + for (ModuleInfo mod : modules) { + if (mod.packageOrg().value().equals(orgName) && mod.packageName().value().equals(pkgName)) { + versions.add(mod.packageVersion()); + } + } + return versions; + } + + private String getLatestVersion(List versions) { + PackageVersion latestVersion = versions.get(0); + for (int i = 1; i < versions.size(); i++) { + PackageVersion version = versions.get(i); + if (version.value().greaterThanOrEqualTo(latestVersion.value())) { + latestVersion = version; + } + } + return latestVersion.toString(); + } + + private int getDependencyStartLine(BallerinaToml toml) { + DocumentNode tomlSyntaxTree = toml.tomlDocument().syntaxTree().rootNode(); + return tomlSyntaxTree.members().stream() + .filter(member -> member.kind().equals(SyntaxKind.TABLE) && + TomlSyntaxTreeUtil.toQualifiedName(((TableNode) member).identifier().value()).equals("package")) + .findFirst() + .map(member -> ((TableNode) member).lineRange().endLine().line() + 2) + .orElse(0); + } +} diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/ImportModuleCodeAction.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/ImportModuleCodeAction.java index 3bbc72cc924a..fa10cf60b3c4 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/ImportModuleCodeAction.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/codeaction/providers/imports/ImportModuleCodeAction.java @@ -18,14 +18,10 @@ import io.ballerina.compiler.api.symbols.ModuleSymbol; import io.ballerina.compiler.syntax.tree.ImportDeclarationNode; import io.ballerina.compiler.syntax.tree.ImportPrefixNode; -import io.ballerina.compiler.syntax.tree.Minutiae; -import io.ballerina.compiler.syntax.tree.ModulePartNode; -import io.ballerina.compiler.syntax.tree.NodeList; import io.ballerina.compiler.syntax.tree.NodeVisitor; import io.ballerina.compiler.syntax.tree.NonTerminalNode; import io.ballerina.compiler.syntax.tree.QualifiedNameReferenceNode; import io.ballerina.compiler.syntax.tree.SyntaxKind; -import io.ballerina.compiler.syntax.tree.SyntaxTree; import io.ballerina.compiler.syntax.tree.Token; import io.ballerina.tools.diagnostics.Diagnostic; import org.ballerinalang.annotation.JavaSPIService; @@ -148,7 +144,7 @@ public List getCodeActions(Diagnostic diagnostic, String orgName = pkgEntry.packageOrg().value(); String pkgName = pkgEntry.packageName().value(); String moduleName = ModuleUtil.escapeModuleName(pkgName); - Position insertPos = getImportPosition(context); + Position insertPos = CommonUtil.getImportPosition(context); String importText = orgName.isEmpty() ? String.format("%s %s;%n", ItemResolverConstants.IMPORT, moduleName) : String.format("%s %s/%s;%n", ItemResolverConstants.IMPORT, orgName, moduleName); @@ -169,39 +165,6 @@ public String getName() { return NAME; } - private static Position getImportPosition(CodeActionContext context) { - // Calculate initial import insertion line - Optional syntaxTree = context.currentSyntaxTree(); - ModulePartNode modulePartNode = syntaxTree.orElseThrow().rootNode(); - NodeList imports = modulePartNode.imports(); - // If there is already an import, add the new import after the last import - if (!imports.isEmpty()) { - ImportDeclarationNode lastImport = imports.get(imports.size() - 1); - return new Position(lastImport.lineRange().endLine().line() + 1, 0); - } - - // If the module part has no children, add the import at the beginning of the file - if (modulePartNode.members().isEmpty()) { - return new Position(0, 0); - } - - Position insertPosition = new Position(0, 0); - for (Minutiae minutiae : modulePartNode.leadingMinutiae()) { - if (minutiae.kind() == SyntaxKind.END_OF_LINE_MINUTIAE - && minutiae.lineRange().startLine().offset() == 0) { - // If we find a new line character with offset 0 (a blank line), add the import after that - // And no further processing is required - insertPosition = new Position(minutiae.lineRange().startLine().line(), 0); - break; - } else if (minutiae.kind() == SyntaxKind.COMMENT_MINUTIAE) { - // If we find a comment, consider the import's position to be the next line - insertPosition = new Position(minutiae.lineRange().endLine().line() + 1, 0); - } - } - - return insertPosition; - } - /** * A visitor to find the qualified name reference node within an expression. */ diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/constants/CommandConstants.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/constants/CommandConstants.java index a5854e2b18d5..e0fe98e787e7 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/constants/CommandConstants.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/constants/CommandConstants.java @@ -105,6 +105,8 @@ public class CommandConstants { public static final String CREATE_INITIALIZER_TITLE = "Create initializer"; public static final String PULL_MOD_TITLE = "Pull unresolved modules"; + + public static final String ADD_MODULE_TO_BALLERINA_TOML = "Add module to Ballerina.toml"; public static final String CHANGE_RETURN_TYPE_TITLE = "Change return type to '%s'"; diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/CommonUtil.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/CommonUtil.java index f1c0ee2139bc..76949b967db0 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/CommonUtil.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/CommonUtil.java @@ -36,6 +36,7 @@ import io.ballerina.compiler.syntax.tree.ModulePartNode; import io.ballerina.compiler.syntax.tree.ModuleVariableDeclarationNode; import io.ballerina.compiler.syntax.tree.Node; +import io.ballerina.compiler.syntax.tree.NodeList; import io.ballerina.compiler.syntax.tree.NonTerminalNode; import io.ballerina.compiler.syntax.tree.ObjectFieldNode; import io.ballerina.compiler.syntax.tree.ObjectTypeDescriptorNode; @@ -173,10 +174,6 @@ public static List getAutoImportTextEdits(@Nonnull String orgName, Str */ public static List getAutoImportTextEdits(@Nonnull String orgName, String pkgName, String alias, DocumentServiceContext context) { - Map currentDocImports = context.currentDocImportsMap(); - Optional last = CommonUtil.getLastItem(new ArrayList<>(currentDocImports.keySet())); - int endLine = last.map(node -> node.lineRange().endLine().line()).orElse(0); - Position start = new Position(endLine, 0); StringBuilder builder = new StringBuilder(ItemResolverConstants.IMPORT + " " + (!orgName.isEmpty() ? orgName + SLASH_KEYWORD_KEY : orgName) @@ -186,7 +183,38 @@ public static List getAutoImportTextEdits(@Nonnull String orgName, Str } builder.append(SEMI_COLON_SYMBOL_KEY).append(CommonUtil.LINE_SEPARATOR); - return Collections.singletonList(new TextEdit(new Range(start, start), builder.toString())); + Position insertPos = getImportPosition(context); + return Collections.singletonList(new TextEdit(new Range(insertPos, insertPos), builder.toString())); + } + + public static Position getImportPosition(DocumentServiceContext context) { + // Calculate initial import insertion line + Optional syntaxTree = context.currentSyntaxTree(); + ModulePartNode modulePartNode = syntaxTree.orElseThrow().rootNode(); + NodeList imports = modulePartNode.imports(); + // If there is already an import, add the new import after the last import + if (!imports.isEmpty()) { + ImportDeclarationNode lastImport = imports.get(imports.size() - 1); + return new Position(lastImport.lineRange().endLine().line() + 1, 0); + } + + // If the module part has no children, add the import at the beginning of the file + if (modulePartNode.members().isEmpty()) { + return new Position(0, 0); + } + + Position insertPosition = new Position(0, 0); + for (Minutiae minutiae : modulePartNode.leadingMinutiae()) { + if (minutiae.kind() == SyntaxKind.END_OF_LINE_MINUTIAE + && minutiae.lineRange().startLine().offset() == 0) { + // If we find a new line character with offset 0 (a blank line), add the import after that + // And no further processing is required + insertPosition = new Position(minutiae.lineRange().startLine().line(), 0); + break; + } + } + + return insertPosition; } /** diff --git a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/RecordUtil.java b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/RecordUtil.java index 6613f3eb1ab0..87b34cf25f81 100644 --- a/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/RecordUtil.java +++ b/language-server/modules/langserver-core/src/main/java/org/ballerinalang/langserver/common/utils/RecordUtil.java @@ -186,7 +186,7 @@ public static String getFillAllRecordFieldInsertText(Map getRecordFields(RawTypeSymbolWrapper wrapper, List existingFields) { return wrapper.getRawType().fieldDescriptors().entrySet().stream() - .filter(e -> !existingFields.contains(e.getKey())) + .filter(e -> !existingFields.contains(e.getValue().getName().get())) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); } diff --git a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/AddModuleToBallerinaTomlCodeActionTest.java b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/AddModuleToBallerinaTomlCodeActionTest.java new file mode 100644 index 000000000000..e83781031d9a --- /dev/null +++ b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/AddModuleToBallerinaTomlCodeActionTest.java @@ -0,0 +1,132 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com) All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.ballerinalang.langserver.codeaction; + +import io.ballerina.projects.Package; +import org.ballerinalang.langserver.BallerinaLanguageServer; +import org.ballerinalang.langserver.LSPackageLoader; +import org.ballerinalang.langserver.commons.LanguageServerContext; +import org.ballerinalang.langserver.commons.capability.InitializationOptions; +import org.ballerinalang.langserver.commons.workspace.WorkspaceDocumentException; +import org.ballerinalang.langserver.commons.workspace.WorkspaceManager; +import org.ballerinalang.langserver.contexts.LanguageServerContextImpl; +import org.ballerinalang.langserver.util.FileUtils; +import org.ballerinalang.langserver.util.TestUtil; +import org.eclipse.lsp4j.jsonrpc.Endpoint; +import org.mockito.Mockito; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.DataProvider; +import org.testng.annotations.Test; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * Test class to test module addition to Ballerina.toml. + * + * @since 2201.8.0 + */ +public class AddModuleToBallerinaTomlCodeActionTest extends AbstractCodeActionTest { + + protected void setupLanguageServer(TestUtil.LanguageServerBuilder builder) { + builder.withInitOption(InitializationOptions.KEY_POSITIONAL_RENAME_SUPPORT, true); + } + + @BeforeClass + @Override + public void setup() { + super.setup(); + + LanguageServerContext context = new LanguageServerContextImpl(); + BallerinaLanguageServer languageServer = new BallerinaLanguageServer(); + Endpoint endpoint = TestUtil.initializeLanguageSever(languageServer); + try { + Map localProjects = Map.of("pkg1", "main.bal", "pkg2", "main.bal", "x", "main.bal", + "x.y", "main.bal"); + List localPackages = getLocalPackages(localProjects, + languageServer.getWorkspaceManager(), context).stream().map(LSPackageLoader.ModuleInfo::new) + .collect(Collectors.toList()); + Mockito.when(getLSPackageLoader().getLocalRepoPackages(Mockito.any())).thenReturn(localPackages); + } catch (Exception e) { + //ignore + } finally { + TestUtil.shutdownLanguageServer(endpoint); + } + } + + @Test(dataProvider = "codeaction-data-provider") + @Override + public void test(String config) throws IOException, WorkspaceDocumentException { + super.test(config); + } + + @DataProvider(name = "codeaction-data-provider") + @Override + public Object[][] dataProvider() { + return new Object[][]{ + {"add_module1.json"}, + {"add_module2.json"}, + {"add_module3.json"}, + {"add_module4.json"}, + {"add_module5.json"}, + {"add_module6.json"}, + {"add_module7.json"}, + {"add_module8.json"}, + {"add_module9.json"}, + {"add_module10.json"}, + }; + } + + @Test(dataProvider = "negative-test-data-provider") + @Override + public void negativeTest(String config) throws IOException, WorkspaceDocumentException { + super.negativeTest(config); + } + + @DataProvider(name = "negative-test-data-provider") + public Object[][] negativeDataProvider() { + return new Object[][]{ + {"add_module_negative_1.json"}, + {"add_module_negative_2.json"} + }; + } + + @Override + public String getResourceDir() { + return "add-module-ballerina-toml"; + } + + @Override + public boolean loadMockedPackages() { + return true; + } + + private static List getLocalPackages(Map projects, WorkspaceManager workspaceManager, + LanguageServerContext context) + throws WorkspaceDocumentException, IOException { + List packages = new ArrayList<>(); + for (Map.Entry entry : projects.entrySet()) { + Path path = FileUtils.RES_DIR.resolve("local_projects").resolve(entry.getKey()) + .resolve(entry.getValue()); + TestUtil.compileAndGetPackage(path, workspaceManager, context).ifPresent(packages::add); + } + return packages; + } +} diff --git a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/FillRecordFieldsCodeActionTest.java b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/FillRecordFieldsCodeActionTest.java index 98f02334e2d1..08a45f146364 100644 --- a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/FillRecordFieldsCodeActionTest.java +++ b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/FillRecordFieldsCodeActionTest.java @@ -59,7 +59,12 @@ public Object[][] dataProvider() { {"fill_record_fields_config15.json"}, {"fill_record_fields_config16.json"}, {"fill_record_fields_config17.json"}, - {"fill_record_fields_config18.json"} + {"fill_record_fields_config18.json"}, + {"fill_record_fields_config19.json"}, + {"fill_record_fields_config20.json"}, + {"fill_record_fields_config21.json"}, + {"fill_record_fields_config22.json"}, + {"fill_record_fields_config23.json"} }; } } diff --git a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/ImportModuleCodeActionTest.java b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/ImportModuleCodeActionTest.java index 93f63e1d70d1..766cece200a1 100644 --- a/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/ImportModuleCodeActionTest.java +++ b/language-server/modules/langserver-core/src/test/java/org/ballerinalang/langserver/codeaction/ImportModuleCodeActionTest.java @@ -66,7 +66,8 @@ public Object[][] dataProvider() { {"importModuleWithMultipleModAliases2.json"}, {"importModuleWithLicenceHeader1.json"}, {"importModuleWithLicenceHeader2.json"}, - {"importModuleWithIgnoredImport.json"} + {"importModuleWithIgnoredImport.json"}, + {"importModuleWithTopLevelComment.json"} }; } diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module1.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module1.json new file mode 100644 index 000000000000..3272badd9fab --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module1.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 21 + }, + "source": "testproject1/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"pkg1\"\nversion = \"2.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module10.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module10.json new file mode 100644 index 000000000000..c49f60b5b685 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module10.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 31 + }, + "source": "testproject12/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x.y\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module2.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module2.json new file mode 100644 index 000000000000..83edf7cd5faa --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module2.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 20 + }, + "source": "testproject2/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"pkg1\"\nversion = \"2.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module3.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module3.json new file mode 100644 index 000000000000..61f69a8156ff --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module3.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 1, + "character": 20 + }, + "source": "testproject3/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"pkg2\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module4.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module4.json new file mode 100644 index 000000000000..502ea449d1d4 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module4.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 16 + }, + "source": "testproject6/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module5.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module5.json new file mode 100644 index 000000000000..771bdbecd4dd --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module5.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 16 + }, + "source": "testproject7/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module6.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module6.json new file mode 100644 index 000000000000..81f758442db2 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module6.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 16 + }, + "source": "testproject8/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module7.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module7.json new file mode 100644 index 000000000000..4f30ea142c84 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module7.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 16 + }, + "source": "testproject9/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module8.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module8.json new file mode 100644 index 000000000000..9d4b7140b5ca --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module8.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 16 + }, + "source": "testproject10/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x.y\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module9.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module9.json new file mode 100644 index 000000000000..2468c73400e1 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module9.json @@ -0,0 +1,29 @@ +{ + "position": { + "line": 0, + "character": 31 + }, + "source": "testproject11/main.bal", + "expected": [ + { + "title": "Add module to Ballerina.toml", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 5, + "character": 0 + }, + "end": { + "line": 5, + "character": 0 + } + }, + "newText": "[[dependency]]\norg = \"ballerina\"\nname = \"x.y\"\nversion = \"0.1.0\"\nrepository = \"local\"\n\n" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module_negative_1.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module_negative_1.json new file mode 100644 index 000000000000..8cdd0c3e7cb1 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module_negative_1.json @@ -0,0 +1,9 @@ +{ + "position": { + "line": 0, + "character": 20 + }, + "source": "testproject4/main.bal", + "expected": [ + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module_negative_2.json b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module_negative_2.json new file mode 100644 index 000000000000..7e1e4bb2358c --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/config/add_module_negative_2.json @@ -0,0 +1,9 @@ +{ + "position": { + "line": 0, + "character": 14 + }, + "source": "testproject5/main.bal", + "expected": [ + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject1/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject1/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject1/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject1/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject1/main.bal new file mode 100644 index 000000000000..73897eb90a58 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject1/main.bal @@ -0,0 +1,5 @@ +import ballerina/pkg1; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject10/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject10/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject10/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject10/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject10/main.bal new file mode 100644 index 000000000000..5c19c388b5b4 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject10/main.bal @@ -0,0 +1,5 @@ +import ballerina/x.y.mod1 + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject11/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject11/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject11/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject11/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject11/main.bal new file mode 100644 index 000000000000..19769fda7c88 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject11/main.bal @@ -0,0 +1,5 @@ +import ballerina/x.y.mod1 as mod1; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject12/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject12/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject12/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject12/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject12/main.bal new file mode 100644 index 000000000000..bd7815675591 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject12/main.bal @@ -0,0 +1,5 @@ +import ballerina/x.y.mod as mod1; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject2/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject2/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject2/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject2/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject2/main.bal new file mode 100644 index 000000000000..d21fe0e3d0ac --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject2/main.bal @@ -0,0 +1,5 @@ +import ballerina/pkg1 + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject3/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject3/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject3/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject3/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject3/main.bal new file mode 100644 index 000000000000..4b546b4127eb --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject3/main.bal @@ -0,0 +1,6 @@ +import ballerina/pkg1; +import ballerina/pkg2; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject4/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject4/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject4/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject4/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject4/main.bal new file mode 100644 index 000000000000..dd9df379bd0f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject4/main.bal @@ -0,0 +1,5 @@ +import ballerina/pkg; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject5/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject5/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject5/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject5/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject5/main.bal new file mode 100644 index 000000000000..afca773ca882 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject5/main.bal @@ -0,0 +1,5 @@ +import ballerina; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject6/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject6/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject6/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject6/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject6/main.bal new file mode 100644 index 000000000000..9ee208d30a84 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject6/main.bal @@ -0,0 +1,5 @@ +import ballerina/x; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject7/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject7/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject7/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject7/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject7/main.bal new file mode 100644 index 000000000000..1bb010d3a305 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject7/main.bal @@ -0,0 +1,5 @@ +import ballerina/x.y; + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject8/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject8/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject8/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject8/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject8/main.bal new file mode 100644 index 000000000000..a85e7f4fb8d2 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject8/main.bal @@ -0,0 +1,5 @@ +import ballerina/x.y as + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject9/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject9/Ballerina.toml new file mode 100644 index 000000000000..9e51f8993a35 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject9/Ballerina.toml @@ -0,0 +1,7 @@ +[package] +org = "lstest" +name = "testproject" +version = "0.1.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject9/main.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject9/main.bal new file mode 100644 index 000000000000..712d9bead5aa --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/add-module-ballerina-toml/source/testproject9/main.bal @@ -0,0 +1,5 @@ +import ballerina/x.y a y + +public function main() { + +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config19.json b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config19.json new file mode 100644 index 000000000000..33bb1d5aa158 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config19.json @@ -0,0 +1,30 @@ +{ + "position": { + "line": 16, + "character": 27 + }, + "source": "fill_record_fields_source16.bal", + "description": "Fill record fields in object field", + "expected": [ + { + "title": "Fill 'Foo' required fields", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 16, + "character": 27 + }, + "end": { + "line": 16, + "character": 27 + } + }, + "newText": ",id: 0" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config20.json b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config20.json new file mode 100644 index 000000000000..7cc091c592b1 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config20.json @@ -0,0 +1,30 @@ +{ + "position": { + "line": 18, + "character": 27 + }, + "source": "fill_record_fields_source16.bal", + "description": "Fill record fields in object field", + "expected": [ + { + "title": "Fill 'Bar' required fields", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 18, + "character": 27 + }, + "end": { + "line": 18, + "character": 27 + } + }, + "newText": ",id: 0" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config21.json b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config21.json new file mode 100644 index 000000000000..fa7b5540e5e9 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config21.json @@ -0,0 +1,30 @@ +{ + "position": { + "line": 20, + "character": 27 + }, + "source": "fill_record_fields_source16.bal", + "description": "Fill record fields in object field", + "expected": [ + { + "title": "Fill 'Baz' required fields", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 20, + "character": 27 + }, + "end": { + "line": 20, + "character": 27 + } + }, + "newText": ",id: 0" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config22.json b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config22.json new file mode 100644 index 000000000000..ae13570a40f8 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config22.json @@ -0,0 +1,30 @@ +{ + "position": { + "line": 22, + "character": 46 + }, + "source": "fill_record_fields_source16.bal", + "description": "Fill record fields in object field", + "expected": [ + { + "title": "Fill 'record {|readonly string 'type; readonly int id; anydata & readonly...;|}' required fields", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 22, + "character": 46 + }, + "end": { + "line": 22, + "character": 46 + } + }, + "newText": ",id: 0" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config23.json b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config23.json new file mode 100644 index 000000000000..7ec91e60b3c1 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/config/fill_record_fields_config23.json @@ -0,0 +1,30 @@ +{ + "position": { + "line": 27, + "character": 45 + }, + "source": "fill_record_fields_source16.bal", + "description": "Fill record fields in object field", + "expected": [ + { + "title": "Fill 'record {|readonly string 'type; readonly int id; anydata & readonly...;|}' required fields", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 27, + "character": 45 + }, + "end": { + "line": 27, + "character": 45 + } + }, + "newText": ",id: 0" + } + ], + "resolvable": false + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/source/fill_record_fields_source16.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/source/fill_record_fields_source16.bal new file mode 100644 index 000000000000..9832377fd6f3 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/fill-record-fields/source/fill_record_fields_source16.bal @@ -0,0 +1,29 @@ +type Foo record { + string 'type; + int id; +}; + +type Bar readonly & record { + string 'type; + int id; +}; + +type Baz record { + readonly string 'type; + int id; +}; + +function testFillRecordFields() { + Foo foo = {'type: "foo"}; + + Bar bar = {'type: "bar"}; + + Baz baz = {'type: "baz"}; + + Foo & readonly fooReadonly = {'type: "foo"}; + + record { + string 'type; + int id; + } & readonly fooReadonly2 = {'type: "foo"}; +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/import-module/config/importModuleWithTopLevelComment.json b/language-server/modules/langserver-core/src/test/resources/codeaction/import-module/config/importModuleWithTopLevelComment.json new file mode 100644 index 000000000000..40a354ad53fe --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/import-module/config/importModuleWithTopLevelComment.json @@ -0,0 +1,28 @@ +{ + "position": { + "line": 6, + "character": 24 + }, + "source": "importModuleWithTopLevelComment.bal", + "expected": [ + { + "title": "Import module 'ballerina/lang.array'", + "kind": "quickfix", + "edits": [ + { + "range": { + "start": { + "line": 0, + "character": 0 + }, + "end": { + "line": 0, + "character": 0 + } + }, + "newText": "import ballerina/lang.array;\n" + } + ] + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/codeaction/import-module/source/importModuleWithTopLevelComment.bal b/language-server/modules/langserver-core/src/test/resources/codeaction/import-module/source/importModuleWithTopLevelComment.bal new file mode 100644 index 000000000000..8e1cfcd22853 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/codeaction/import-module/source/importModuleWithTopLevelComment.bal @@ -0,0 +1,8 @@ +// Foo is a record +type Foo record {| + string name; +|}; + +public function main() { + int length = array:length([1,2,3]); +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_remote_action_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_remote_action_config1.json index 45d427d7a780..5cbef70cce12 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_remote_action_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/client_remote_action_config1.json @@ -4,6 +4,7 @@ "character": 13 }, "source": "action_node_context/source/client_remote_action_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -487,11 +488,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -511,11 +512,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -535,11 +536,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -559,11 +560,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -583,11 +584,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config8.json index 5ab0b9f09361..be2b6c10f3be 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/action_node_context/config/remote_action_config8.json @@ -4,6 +4,7 @@ "character": 18 }, "source": "action_node_context/source/remote_action_source8.bal", + "description": "", "items": [ { "label": "test/project2", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -65,11 +66,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -89,11 +90,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -170,11 +171,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -194,11 +195,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation1.json index 2966aad28495..ca91de50f91a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/annotationDeclAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation2.json index beea3355fbe7..5b1d98d25976 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/annotationDeclAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/annotationDeclAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation1.json index aa33188e9ee0..bd0b3ddce555 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation1.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "annotation_ctx/source/anonFuncExprAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation2.json index 942d6175ed25..fac37810333c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/anonFuncExprAnnotation2.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "annotation_ctx/source/anonFuncExprAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation1.json index 007d98df4829..26d0be9f3337 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/enumMemberAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation2.json index 17cf14adfaf0..80dd2c856e42 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/enumMemberAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/enumMemberAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation1.json index 0736e7dd16c2..611cad7857fa 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation1.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "annotation_ctx/source/externalFunctionAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -204,11 +205,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -228,11 +229,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -252,11 +253,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -276,11 +277,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -300,11 +301,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation2.json index c61ecf57df3d..e23f771bff30 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/externalFunctionAnnotation2.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "annotation_ctx/source/externalFunctionAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -204,11 +205,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -228,11 +229,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -252,11 +253,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -276,11 +277,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -300,11 +301,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/functionAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/functionAnnotation2.json index 0516dc04ec99..b0d0a003fc1b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/functionAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/functionAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/functionAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation1.json index f392fb86e6c3..7c783a67b3c8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation1.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "annotation_ctx/source/letVarAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation2.json index c10b62e94e36..fd7d93a7acda 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/letVarAnnotation2.json @@ -4,6 +4,7 @@ "character": 18 }, "source": "annotation_ctx/source/letVarAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation1.json index 32f7f597d4eb..099028d158c1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/listenerAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation2.json index a0df7c8cd302..713838784e32 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/listenerAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/listenerAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -204,11 +205,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -228,11 +229,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -252,11 +253,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -276,11 +277,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -300,11 +301,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation1.json index 62babb8a34a6..72387be7c66d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/localVarAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation2.json index 9180f828f0ef..605f629a769c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/localVarAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/localVarAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation1.json index 4cbf52c95304..6d3c55f6b341 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/methodDeclAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation2.json index a3c84ab95ca3..5cd9d0bc947e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDeclAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/methodDeclAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation1.json index 824ee47922f1..2f560381ac62 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation1.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "annotation_ctx/source/methodDefnAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation2.json index 2027a51daef1..6607b22edc2b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/methodDefnAnnotation2.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "annotation_ctx/source/methodDefnAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation1.json index 2126e12341ea..ad825727f77c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/moduleClassDefAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation2.json index cc8f6560f31e..ef8d80b2d397 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleClassDefAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/moduleClassDefAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation1.json index b1bd8ef4bd45..6a5dc1ccd02a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/moduleConstAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation2.json index 83ff54145dd8..ebf5e7f1dd25 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleConstAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/moduleConstAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation1.json index 6ca40c7afe55..c16e793b2d0d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/moduleEnumAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation2.json index 680251e2b906..4a01ce3d7085 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleEnumAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/moduleEnumAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation1.json index 276d2957344f..111f8e44a980 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/moduleTypeDefAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation2.json index d45265f305b2..0842f50f4701 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleTypeDefAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/moduleTypeDefAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation1.json index 3b6fa88d5eb1..005d80ce79b2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/moduleVarAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation2.json index b31e300a5934..382a24f0ea5b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/moduleVarAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/moduleVarAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation1.json index 561b9e3e32a7..b182e0f5923c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation1.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "annotation_ctx/source/objectFieldAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation2.json index 0bd8a6573a9a..8b7ca9a3d7ec 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldAnnotation2.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "annotation_ctx/source/objectFieldAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation1.json index 74a6dcc344e6..9c2b16b8024f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/objectFieldDescAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation2.json index b121b7c66fce..f92594fa415b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/objectFieldDescAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/objectFieldDescAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation1.json index 4f76ff97bab3..e22dbd11bbcf 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation1.json @@ -4,6 +4,7 @@ "character": 15 }, "source": "annotation_ctx/source/paramAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -249,11 +250,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -273,11 +274,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -297,11 +298,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -321,11 +322,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -345,11 +346,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation2.json index e7acd5f8e8bd..12587f1c4a79 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation2.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "annotation_ctx/source/paramAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -249,11 +250,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -273,11 +274,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -297,11 +298,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -321,11 +322,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -345,11 +346,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation5.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation5.json index 37a345bc13e5..b564f491e866 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation5.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "annotation_ctx/source/paramAnnotation5.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -249,11 +250,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -273,11 +274,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -297,11 +298,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -321,11 +322,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -345,11 +346,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation7.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation7.json index 3c3faa242e0a..9377910c6c2f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/paramAnnotation7.json @@ -4,6 +4,7 @@ "character": 34 }, "source": "annotation_ctx/source/paramAnnotation7.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -249,11 +250,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -273,11 +274,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -297,11 +298,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -321,11 +322,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -345,11 +346,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation1.json index 391769a18129..c2065cbb185f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/recordFieldAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation2.json index dca6b6aafcc8..5ab7dcd3cb9e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/recordFieldAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/recordFieldAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation1.json index 7d04881e0289..174fd807541d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/resourceAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation2.json index ae1c9a564085..a9d97af88a05 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/resourceAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/resourceAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation1.json index 4e7649f9b2c8..b4ba3fdc61ba 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation1.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "annotation_ctx/source/returnTypeDescAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation2.json index c48063382340..360974ad8d53 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/returnTypeDescAnnotation2.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "annotation_ctx/source/returnTypeDescAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation1.json index 1f1be50be06c..a96fe4e8919b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation1.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "annotation_ctx/source/serviceAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation2.json index fe313509d000..fa445e8074fb 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/serviceAnnotation2.json @@ -4,6 +4,7 @@ "character": 2 }, "source": "annotation_ctx/source/serviceAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation1.json index 0454eeacca7d..eaf621f46a1f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation1.json @@ -4,6 +4,7 @@ "character": 12 }, "source": "annotation_ctx/source/startActionAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation2.json index d00350b7ce99..b71fc0874085 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/startActionAnnotation2.json @@ -4,6 +4,7 @@ "character": 13 }, "source": "annotation_ctx/source/startActionAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation1.json index 79277da254e8..d1db67490b33 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation1.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "annotation_ctx/source/typeCastExprAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation2.json index 64f46b810b22..f30ffa375cff 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/typeCastExprAnnotation2.json @@ -4,6 +4,7 @@ "character": 18 }, "source": "annotation_ctx/source/typeCastExprAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation1.json index bdef377a8b89..ed4c5d941759 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation1.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "annotation_ctx/source/workerDeclAnnotation1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation2.json index 42bf92fb0a31..bac02a34004a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_ctx/config/workerDeclAnnotation2.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "annotation_ctx/source/workerDeclAnnotation2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config1.json index 04e6fda46681..216b34b38ba3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config1.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "annotation_decl/source/source1.bal", + "description": "", "items": [ { "label": "MapType", @@ -61,11 +62,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -85,11 +86,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -109,11 +110,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -239,11 +240,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -263,11 +264,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -287,11 +288,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -311,11 +312,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -335,11 +336,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config2.json index 0a61545c2882..f782f46c9952 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config2.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "annotation_decl/source/source2.bal", + "description": "", "items": [ { "label": "MapType", @@ -61,11 +62,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -85,11 +86,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -109,11 +110,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -239,11 +240,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -263,11 +264,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -287,11 +288,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -311,11 +312,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -335,11 +336,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config21.json b/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config21.json index e40966d34b62..7ac0a361c463 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/annotation_decl/config/config21.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "annotation_decl/source/source21.bal", + "description": "", "items": [ { "label": "type", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -659,11 +660,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config1.json index 991ae259c952..cd5cdc2c0f0b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config1.json @@ -207,11 +207,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +231,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +255,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +279,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config10.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config10.json index 7432fe32b535..e80b22dcbd3c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config10.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "class_def/source/source10.bal", + "description": "", "items": [ { "label": "testClass", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config16.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config16.json index b875a997632f..307b17f3f45b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config16.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config16.json @@ -207,11 +207,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +231,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +255,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +279,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -549,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config17.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config17.json index ffd7718e020f..71b9a30651ca 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config17.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config17.json @@ -207,11 +207,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +231,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +255,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +279,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config18.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config18.json index 173121e5a0b4..86bcd3c4b5de 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config18.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config18.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "class_def/source/source18.bal", + "description": "", "items": [ { "label": "testClass", @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -154,11 +155,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config19.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config19.json index 22ec8171d771..16ebf6f52591 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config19.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config19.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "class_def/source/source19.bal", + "description": "", "items": [ { "label": "testClass", @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -154,11 +155,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config2.json index a4b8e51ae332..68fa6b53ac35 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config2.json @@ -207,11 +207,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +231,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +255,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +279,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config25.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config25.json index 88efa4a8b4cf..a4a680a92096 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config25.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config25.json @@ -4,6 +4,7 @@ "character": 42 }, "source": "class_def/source/source25.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -435,11 +436,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -459,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -483,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -507,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config26.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config26.json index 188c10e8905a..26b7f505ec62 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config26.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config26.json @@ -4,6 +4,7 @@ "character": 46 }, "source": "class_def/source/source26.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -193,11 +194,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -217,11 +218,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -241,11 +242,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -265,11 +266,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -289,11 +290,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config28.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config28.json index f113027e91fe..d7f170fec847 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config28.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config28.json @@ -4,6 +4,7 @@ "character": 48 }, "source": "class_def/source/source28.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -435,11 +436,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -459,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -483,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -507,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config29.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config29.json index 9d488445d108..9a231f1b5cfb 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config29.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config29.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "class_def/source/source29.bal", + "description": "", "items": [ { "label": "StrandData", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config3.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config3.json index 55d98f77b489..c0cad6a09d11 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config3.json @@ -189,11 +189,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +213,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +237,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +261,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +285,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -349,11 +349,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -373,11 +373,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -397,11 +397,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -421,11 +421,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -454,11 +454,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config30.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config30.json index e73ff2aebeae..3eb15d054ea5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config30.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config30.json @@ -4,6 +4,7 @@ "character": 37 }, "source": "class_def/source/source30.bal", + "description": "", "items": [ { "label": "StrandData", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config4.json index 4fef871a991a..615980475d5d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config4.json @@ -207,11 +207,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +231,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +255,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +279,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config6.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config6.json index 3233b044a16b..b231e1645502 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config6.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "class_def/source/source6.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config8.json b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config8.json index 609bca34614c..56a848485a97 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/class_def/config/config8.json @@ -207,11 +207,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +231,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +255,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +279,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config3.json index 2281a7d59a5b..3db027abd0ff 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config3.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "comment_context/source/comment_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -712,11 +713,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -745,11 +746,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config4.json index 7b65ebcdfa8c..e30c3c7baa55 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config4.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "comment_context/source/comment_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -712,11 +713,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -745,11 +746,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config5.json index a68b091b105d..e2a03b0e69cf 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/comment_context/config/comment_config5.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "comment_context/source/comment_source1.bal", + "description": "", "items": [ { "label": "start", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -459,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -483,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -507,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -531,11 +532,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -555,11 +556,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/enum_decl_ctx/config/config5.json b/language-server/modules/langserver-core/src/test/resources/completion/enum_decl_ctx/config/config5.json index 793ea8627991..5a5654844a61 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/enum_decl_ctx/config/config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/enum_decl_ctx/config/config5.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "enum_decl_ctx/source/source3.bal", + "description": "", "items": [ { "label": "import", @@ -385,11 +386,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -409,11 +410,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -433,11 +434,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -457,11 +458,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +482,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -579,11 +580,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -603,11 +604,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -627,11 +628,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -651,11 +652,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -684,11 +685,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config1.json index 7a220f54eef7..e453a0e11208 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config1.json @@ -4,6 +4,7 @@ "character": 72 }, "source": "expression_context/source/annotation_access_ctx_source1.bal", + "description": "", "items": [ { "label": "display", @@ -42,11 +43,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -66,11 +67,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -90,11 +91,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -114,11 +115,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -138,11 +139,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -162,11 +163,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config13.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config13.json index d27be2a580d5..779c37b38f1a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config13.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config13.json @@ -4,6 +4,7 @@ "character": 37 }, "source": "expression_context/source/annotation_access_ctx_source13.bal", + "description": "", "items": [ { "label": "typeParam", @@ -90,11 +91,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -114,11 +115,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -138,11 +139,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -162,11 +163,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -306,11 +307,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config5.json index 6329d502282b..49fc0d0b4df0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/annotation_access_ctx_config5.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "expression_context/source/annotation_access_ctx_source5.bal", + "description": "", "items": [ { "label": "tainted", @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -154,11 +155,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -178,11 +179,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -202,11 +203,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -226,11 +227,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -250,11 +251,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -274,11 +275,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -298,11 +299,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config1.json index b9c5018332d1..d36ad88cccfd 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config1.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "expression_context/source/anon_func_expr_ctx_source1.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -277,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -301,11 +302,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -325,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -349,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -382,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config10.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config10.json index bfa524a1d476..002fd7c41506 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config10.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "expression_context/source/anon_func_expr_ctx_source10.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -563,11 +564,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -684,11 +685,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -708,11 +709,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -732,11 +733,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -756,11 +757,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -789,11 +790,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config2.json index 991759a749e7..3ce82bc600cb 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "expression_context/source/anon_func_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -277,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -301,11 +302,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -325,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -349,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -382,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config5.json index b14a2a48f550..8f782b488524 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config5.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "expression_context/source/anon_func_expr_ctx_source5.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -304,11 +305,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -328,11 +329,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -352,11 +353,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +377,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -409,11 +410,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config7.json index 2d50cec2594a..0cf87c9bb825 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config7.json @@ -4,6 +4,7 @@ "character": 43 }, "source": "expression_context/source/anon_func_expr_ctx_source7.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -567,11 +568,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config8.json index d8ff934bfbf4..7af89dd6b5ec 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/anon_func_expr_ctx_config8.json @@ -4,6 +4,7 @@ "character": 56 }, "source": "expression_context/source/anon_func_expr_ctx_source8.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -438,11 +439,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -487,11 +488,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -511,11 +512,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -535,11 +536,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -559,11 +560,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -583,11 +584,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config1.json index 032412dc7c85..9a661e3d5cbd 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config1.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "expression_context/source/check_expression_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -442,11 +443,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -475,11 +476,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -499,11 +500,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -523,11 +524,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -547,11 +548,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -571,11 +572,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config2.json index db48e2ec508a..ad25d2d60c24 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/check_expression_ctx_config2.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "expression_context/source/check_expression_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -434,11 +435,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -467,11 +468,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -491,11 +492,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -515,11 +516,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -539,11 +540,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -563,11 +564,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config1.json index 249a10fc6717..13f79c75ea85 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config1.json @@ -4,6 +4,7 @@ "character": 19 }, "source": "expression_context/source/conditional_expr_ctx_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config10.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config10.json index ba3073b2af05..a7c8d1d2e3b0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config10.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "expression_context/source/conditional_expr_ctx_source10.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -377,11 +378,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -428,11 +429,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -452,11 +453,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -476,11 +477,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -500,11 +501,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -524,11 +525,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config2.json index 48e49727b736..45165b5fc751 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "expression_context/source/conditional_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config3.json index 71e41e33eb10..2bd617447fe4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config3.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "expression_context/source/conditional_expr_ctx_source3.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config4.json index 6fb02bf08b07..d6158e5e5a9a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config4.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "expression_context/source/conditional_expr_ctx_source4.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config8.json index e2e0fa94abae..ad59e29ae932 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/conditional_expr_ctx_config8.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "expression_context/source/conditional_expr_ctx_source8.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config1.json index 97ab0423f713..6f779235efa4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config1.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "expression_context/source/error_constructor_expr_ctx_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -475,11 +476,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -499,11 +500,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -523,11 +524,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -547,11 +548,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -571,11 +572,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config2.json index b56b71850e55..3013ba2ddc2c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "expression_context/source/error_constructor_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -475,11 +476,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -499,11 +500,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -523,11 +524,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -547,11 +548,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -571,11 +572,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config3.json index 0e415234551b..15930d81cb6e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config3.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "expression_context/source/error_constructor_expr_ctx_source3.bal", + "description": "", "items": [ { "label": "ErrorTwo", @@ -42,11 +43,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -66,11 +67,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -90,11 +91,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -114,11 +115,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -138,11 +139,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -202,11 +203,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -226,11 +227,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -250,11 +251,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -274,11 +275,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -298,11 +299,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config4.json index e8bf354cc42c..a4b4d27353db 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config4.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "expression_context/source/error_constructor_expr_ctx_source4.bal", + "description": "", "items": [ { "label": "ErrorThree", @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -306,11 +307,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config7.json index 6d8e842dc6b0..8fd8115ceffa 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config7.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "expression_context/source/error_constructor_expr_ctx_source7.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -484,11 +485,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -508,11 +509,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -532,11 +533,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -556,11 +557,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -580,11 +581,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config8.json index d1e890d7d03e..c5ec644bc445 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/error_constructor_expr_ctx_config8.json @@ -4,6 +4,7 @@ "character": 40 }, "source": "expression_context/source/error_constructor_expr_ctx_source8.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -484,11 +485,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -508,11 +509,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -532,11 +533,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -556,11 +557,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -580,11 +581,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config1.json index 1a2dfe2211e5..c44863cc6e12 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config1.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "expression_context/source/fail_expr_ctx_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config2.json index 8bb84a3e90ce..f8eef9ab8eb4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/fail_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "expression_context/source/fail_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config1.json index f5615160b7e9..ff8d7aa717ed 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config1.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "expression_context/source/function_call_expression_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -489,11 +490,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -513,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -537,11 +538,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -561,11 +562,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -585,11 +586,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config2.json index 35953ad37522..0be30814f225 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config2.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "expression_context/source/function_call_expression_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -489,11 +490,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -513,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -537,11 +538,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -561,11 +562,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -585,11 +586,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config3.json index e7b51fbd445c..3b225ece05b2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config3.json @@ -4,6 +4,7 @@ "character": 35 }, "source": "expression_context/source/function_call_expression_ctx_source3.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +553,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -576,11 +577,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config4.json index e11761a17858..0cf8093e4a41 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config4.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "expression_context/source/function_call_expression_ctx_source4.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +553,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -576,11 +577,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config7.json index c23e3544d1a1..05e6fecd2011 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config7.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "expression_context/source/function_call_expression_ctx_source7.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -679,11 +680,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -703,11 +704,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -727,11 +728,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -751,11 +752,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -784,11 +785,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config8.json index 75af16db3921..273ef5127a18 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/function_call_expression_ctx_config8.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "expression_context/source/function_call_expression_ctx_source8.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -691,11 +692,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -715,11 +716,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -739,11 +740,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -763,11 +764,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -796,11 +797,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config10.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config10.json new file mode 100644 index 000000000000..2c4ea2562919 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config10.json @@ -0,0 +1,36 @@ +{ + "position": { + "line": 20, + "character": 28 + }, + "source": "expression_context/source/mapping_constructor_expr_ctx_source8.bal", + "description": "", + "items": [ + { + "label": "readonly", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "U", + "filterText": "readonly", + "insertText": "readonly ", + "insertTextFormat": "Snippet" + }, + { + "label": "Fill Bar Required Fields", + "kind": "Property", + "detail": "Bar", + "sortText": "R", + "filterText": "fill", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + }, + { + "label": "id", + "kind": "Field", + "detail": "Bar.id", + "sortText": "K", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config11.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config11.json new file mode 100644 index 000000000000..8ebbb978ea9a --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config11.json @@ -0,0 +1,36 @@ +{ + "position": { + "line": 22, + "character": 28 + }, + "source": "expression_context/source/mapping_constructor_expr_ctx_source8.bal", + "description": "", + "items": [ + { + "label": "readonly", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "U", + "filterText": "readonly", + "insertText": "readonly ", + "insertTextFormat": "Snippet" + }, + { + "label": "Fill Baz Required Fields", + "kind": "Property", + "detail": "Baz", + "sortText": "R", + "filterText": "fill", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + }, + { + "label": "id", + "kind": "Field", + "detail": "Baz.id", + "sortText": "K", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config12.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config12.json new file mode 100644 index 000000000000..42e7a29a2106 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config12.json @@ -0,0 +1,36 @@ +{ + "position": { + "line": 24, + "character": 47 + }, + "source": "expression_context/source/mapping_constructor_expr_ctx_source8.bal", + "description": "", + "items": [ + { + "label": "readonly", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "U", + "filterText": "readonly", + "insertText": "readonly ", + "insertTextFormat": "Snippet" + }, + { + "label": "Fill record {|readonly string 'type; readonly int id; anydata & readonly...;|} Required Fields", + "kind": "Property", + "detail": "record {|readonly string 'type; readonly int id; anydata & readonly...;|}", + "sortText": "R", + "filterText": "fill", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + }, + { + "label": "id", + "kind": "Field", + "detail": "(record {|readonly string 'type; readonly int id; anydata & readonly...;|}).id", + "sortText": "K", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config13.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config13.json new file mode 100644 index 000000000000..ab98c109a13f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config13.json @@ -0,0 +1,36 @@ +{ + "position": { + "line": 29, + "character": 46 + }, + "source": "expression_context/source/mapping_constructor_expr_ctx_source8.bal", + "description": "", + "items": [ + { + "label": "readonly", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "U", + "filterText": "readonly", + "insertText": "readonly ", + "insertTextFormat": "Snippet" + }, + { + "label": "Fill record {|readonly string 'type; readonly int id; anydata & readonly...;|} Required Fields", + "kind": "Property", + "detail": "record {|readonly string 'type; readonly int id; anydata & readonly...;|}", + "sortText": "R", + "filterText": "fill", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + }, + { + "label": "id", + "kind": "Field", + "detail": "(record {|readonly string 'type; readonly int id; anydata & readonly...;|}).id", + "sortText": "K", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config14.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config14.json new file mode 100644 index 000000000000..c82c055b1afc --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config14.json @@ -0,0 +1,36 @@ +{ + "position": { + "line": 31, + "character": 24 + }, + "source": "expression_context/source/mapping_constructor_expr_ctx_source8.bal", + "description": "", + "items": [ + { + "label": "readonly", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "U", + "filterText": "readonly", + "insertText": "readonly ", + "insertTextFormat": "Snippet" + }, + { + "label": "Fill A Required Fields", + "kind": "Property", + "detail": "A", + "sortText": "R", + "filterText": "fill", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + }, + { + "label": "id", + "kind": "Field", + "detail": "A.id", + "sortText": "K", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config9.json new file mode 100644 index 000000000000..a4bbb2723f6b --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_constructor_expr_ctx_config9.json @@ -0,0 +1,36 @@ +{ + "position": { + "line": 18, + "character": 28 + }, + "source": "expression_context/source/mapping_constructor_expr_ctx_source8.bal", + "description": "", + "items": [ + { + "label": "readonly", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "U", + "filterText": "readonly", + "insertText": "readonly ", + "insertTextFormat": "Snippet" + }, + { + "label": "Fill Foo Required Fields", + "kind": "Property", + "detail": "Foo", + "sortText": "R", + "filterText": "fill", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + }, + { + "label": "id", + "kind": "Field", + "detail": "Foo.id", + "sortText": "K", + "insertText": "id: ${1:0}", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config1.json index ca837d7f69e5..1b53f9242cac 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config1.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -429,11 +429,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -462,11 +462,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -486,11 +486,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -510,11 +510,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -534,11 +534,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -558,11 +558,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config2.json index 7ea16539d108..8989fe035da4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config2.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -429,11 +429,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -462,11 +462,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -486,11 +486,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -510,11 +510,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -534,11 +534,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -558,11 +558,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config5.json index efb734252a8a..0a3bb17ec281 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config5.json @@ -103,11 +103,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -127,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -151,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -175,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -359,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config55.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config55.json index 5dc3e6e6a95b..0357f2b23f88 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config55.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config55.json @@ -67,11 +67,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -91,11 +91,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -115,11 +115,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +139,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -163,11 +163,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -525,11 +525,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -549,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -573,11 +573,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -597,11 +597,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -621,11 +621,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config56.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config56.json index 726a317bdc1d..979ad5ff7f57 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config56.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config56.json @@ -67,11 +67,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -91,11 +91,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -115,11 +115,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +139,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -163,11 +163,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -525,11 +525,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -549,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -573,11 +573,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -597,11 +597,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -621,11 +621,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config6.json index 39f85b1692ac..237ef3b4d313 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config6.json @@ -103,11 +103,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -127,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -151,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -175,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -359,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config7.json index bca74d43d977..254505768546 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/mapping_expr_ctx_config7.json @@ -103,11 +103,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -127,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -151,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -175,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -359,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config1.json index 7d580cd0e47d..cfbd4ccff78b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config1.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "expression_context/source/member_access_expr_ctx_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config2.json index 1fe3c5392364..648e84b1cdce 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/member_access_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "expression_context/source/member_access_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config1.json index d391e5d1e6cd..3f62caa9a17d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config1.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "expression_context/source/method_call_expression_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -388,11 +389,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -567,11 +568,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -591,11 +592,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config2.json index d82fff6f3084..736627b89aca 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config2.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "expression_context/source/method_call_expression_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -388,11 +389,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -538,11 +539,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -562,11 +563,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -586,11 +587,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -610,11 +611,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -634,11 +635,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config5.json index 47cf48092688..cbbc8f46fb59 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config5.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "expression_context/source/method_call_expression_ctx_source5.bal", + "description": "", "items": [ { "label": "start", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -388,11 +389,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -567,11 +568,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -591,11 +592,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config6.json index c3a1e16ad2a8..3a0f15cec51e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/method_call_expression_ctx_config6.json @@ -4,6 +4,7 @@ "character": 37 }, "source": "expression_context/source/method_call_expression_ctx_source6.bal", + "description": "", "items": [ { "label": "start", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -388,11 +389,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -567,11 +568,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -591,11 +592,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config1.json index 0390ba2f5140..d364e6a59908 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config1.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "expression_context/source/module_ctx_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -533,11 +534,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -557,11 +558,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -581,11 +582,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -605,11 +606,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -678,11 +679,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -717,11 +718,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -741,11 +742,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -765,11 +766,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -789,11 +790,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -822,11 +823,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config2.json index 50560f5a72ae..4ce9cdb89a76 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config2.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "expression_context/source/module_ctx_source2.bal", + "description": "", "items": [ { "label": "module1:TestObject1", @@ -209,11 +210,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -233,11 +234,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -257,11 +258,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -281,11 +282,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -305,11 +306,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -474,11 +475,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config3.json index d78da17e285d..8840bc9793d6 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config3.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "expression_context/source/module_ctx_source3.bal", + "description": "", "items": [ { "label": "xmlns", @@ -542,11 +543,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -566,11 +567,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -590,11 +591,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -614,11 +615,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -638,11 +639,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -662,11 +663,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -686,11 +687,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -710,11 +711,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -734,11 +735,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -822,11 +823,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config4.json index ba5e7de83ecb..f97a1a5a9015 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config4.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "expression_context/source/module_ctx_source4.bal", + "description": "", "items": [ { "label": "xmlns", @@ -542,11 +543,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -566,11 +567,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -590,11 +591,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -614,11 +615,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -638,11 +639,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -662,11 +663,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -686,11 +687,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -710,11 +711,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -734,11 +735,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -822,11 +823,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config5.json index 39f0c461c34b..c044ceee339d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/module_ctx_config5.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "expression_context/source/module_ctx_source5.bal", + "description": "", "items": [ { "label": "xmlns", @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -536,11 +537,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -560,11 +561,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -584,11 +585,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -608,11 +609,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -632,11 +633,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -656,11 +657,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -744,11 +745,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10.json index a64a411da210..21a6ef977f3a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "expression_context/source/new_expr_ctx_source10.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10a.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10a.json index 73bf0c0f9def..6e186c0dbe23 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10a.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config10a.json @@ -4,6 +4,7 @@ "character": 30 }, "source": "expression_context/source/new_expr_ctx_source10a.bal", + "description": "", "items": [ { "label": "TestObject2()", @@ -40,11 +41,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -64,11 +65,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -88,11 +89,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -112,11 +113,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -136,11 +137,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config11.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config11.json index b66440d7479f..725ac0ca9b45 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config11.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "expression_context/source/new_expr_ctx_source11.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config12.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config12.json index 22dc5e04ac49..08437a1e206b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config12.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "expression_context/source/new_expr_ctx_source12.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config14.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config14.json index 899b8f2c1444..dc59dfec35d3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config14.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "expression_context/source/new_expr_ctx_source14.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config15.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config15.json index c4e1da35f5ed..cb66c5d6f31c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config15.json @@ -4,6 +4,7 @@ "character": 40 }, "source": "expression_context/source/new_expr_ctx_source15.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config17.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config17.json index cb4962819c2a..6176cfc419f3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config17.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config17.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "expression_context/source/new_expr_ctx_source17.bal", + "description": "", "items": [ { "label": "testMod", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config18.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config18.json index 8a0fc93801a9..c9e05789ba96 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config18.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config18.json @@ -4,6 +4,7 @@ "character": 19 }, "source": "expression_context/source/new_expr_ctx_source18.bal", + "description": "", "items": [ { "label": "testMod", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -207,11 +208,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -231,11 +232,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -255,11 +256,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -279,11 +280,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -303,11 +304,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -327,11 +328,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config19.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config19.json index a1db423162b1..2c10081e8160 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config19.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config19.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "expression_context/source/new_expr_ctx_source19.bal", + "description": "", "items": [ { "label": "testMod", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -220,11 +221,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -244,11 +245,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -268,11 +269,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -292,11 +293,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -316,11 +317,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -340,11 +341,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config20.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config20.json index e4c5283bf861..923eb8832088 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config20.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config20.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "expression_context/source/new_expr_ctx_source20.bal", + "description": "", "items": [ { "label": "testMod", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -362,11 +363,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -490,11 +491,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -514,11 +515,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -538,11 +539,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -562,11 +563,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -586,11 +587,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config21.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config21.json index f296530fe7b9..dd09bf6c209b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config21.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "expression_context/source/new_expr_ctx_source21.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -490,11 +491,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -514,11 +515,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -538,11 +539,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -562,11 +563,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -586,11 +587,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config5.json index 2d2d43b54693..96072fe59af3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config5.json @@ -4,6 +4,7 @@ "character": 30 }, "source": "expression_context/source/new_expr_ctx_source5.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -478,11 +479,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -502,11 +503,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -526,11 +527,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -550,11 +551,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -574,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config6.json index 64a5fc8cf2c9..7a6789069808 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config6.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "expression_context/source/new_expr_ctx_source6.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -478,11 +479,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -502,11 +503,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -526,11 +527,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -550,11 +551,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -574,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config7.json index a94394044bd2..3c455db9ff69 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config7.json @@ -4,6 +4,7 @@ "character": 34 }, "source": "expression_context/source/new_expr_ctx_source7.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config8.json index e4c23dce77fe..0af18abd529a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config8.json @@ -4,6 +4,7 @@ "character": 15 }, "source": "expression_context/source/new_expr_ctx_source8.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config9.json index 0ddfc5d33b3f..6dec98f89ec8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/new_expr_ctx_config9.json @@ -4,6 +4,7 @@ "character": 15 }, "source": "expression_context/source/new_expr_ctx_source9.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -266,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -290,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -314,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config13.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config13.json index 0558406751d0..0544224f466b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config13.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config13.json @@ -4,6 +4,7 @@ "character": 43 }, "source": "expression_context/source/object_constructor_expr_ctx_source13.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -304,11 +305,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -328,11 +329,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -352,11 +353,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +377,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -409,11 +410,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config15.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config15.json index 498b84432e16..dfa3c0b669b5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config15.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "expression_context/source/object_constructor_expr_ctx_source15.bal", + "description": "", "items": [ { "label": "StrandData", @@ -126,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -150,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -174,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -198,11 +199,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -436,11 +437,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config2.json index 58e862c80cb3..eb72145a2e85 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "expression_context/source/object_constructor_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -162,11 +163,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config4.json index 6b93364294e9..44a1e50f641a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config4.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "expression_context/source/object_constructor_expr_ctx_source4.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -307,11 +308,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -331,11 +332,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -355,11 +356,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -379,11 +380,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -403,11 +404,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -436,11 +437,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config5.json index 8727a540d405..77efb64e29a3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config5.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "expression_context/source/object_constructor_expr_ctx_source5.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -307,11 +308,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -331,11 +332,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -355,11 +356,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -379,11 +380,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -403,11 +404,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -436,11 +437,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config7.json index d90add7216cf..159cf252b249 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config7.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "expression_context/source/object_constructor_expr_ctx_source7.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -307,11 +308,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -331,11 +332,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -355,11 +356,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -379,11 +380,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -403,11 +404,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -436,11 +437,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config9.json index 47d8bf35e9e3..36db05c5e5ce 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/object_constructor_expr_ctx_config9.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "expression_context/source/object_constructor_expr_ctx_source9.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -397,11 +398,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -446,11 +447,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -470,11 +471,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -494,11 +495,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -518,11 +519,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -542,11 +543,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config1.json index a25fee04cdc6..06ba17030d67 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config1.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "expression_context/source/trap_expression_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -442,11 +443,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -475,11 +476,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -499,11 +500,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -523,11 +524,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -547,11 +548,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -571,11 +572,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config2.json index b011efc15ec4..767e2ceb5deb 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/trap_expression_ctx_config2.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "expression_context/source/trap_expression_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -434,11 +435,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -467,11 +468,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -491,11 +492,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -515,11 +516,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -539,11 +540,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -563,11 +564,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config1.json index 8305c53dcd82..561324f783a9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config1.json @@ -4,6 +4,7 @@ "character": 32 }, "source": "expression_context/source/type_test_expression_ctx_source1.bal", + "description": "", "items": [ { "label": "Thread", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config2.json index ff28ba637511..47d23d78ce30 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config2.json @@ -4,6 +4,7 @@ "character": 33 }, "source": "expression_context/source/type_test_expression_ctx_source2.bal", + "description": "", "items": [ { "label": "Thread", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config5.json index 2b3351f24db5..2f2f1fbbdc51 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config5.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "expression_context/source/type_test_expression_ctx_source5.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -34,11 +35,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config8.json index 61ce7651eb46..603008170cb3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config8.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "expression_context/source/type_test_expression_ctx_source8.bal", + "description": "", "items": [ { "label": "StrandData", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -381,11 +382,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -405,11 +406,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -438,11 +439,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config9.json index 409959a9d995..f1db7bf9ea9c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/type_test_expression_ctx_config9.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "expression_context/source/projectls/modules/lsmod4/lsmod4.bal", + "description": "", "items": [ { "label": "StrandData", @@ -126,11 +127,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -150,11 +151,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -174,11 +175,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -198,11 +199,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -286,11 +287,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -310,11 +311,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -334,11 +335,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -398,11 +399,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -446,11 +447,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -479,11 +480,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config1.json index 5e165584abe3..2958e6541877 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config1.json @@ -4,6 +4,7 @@ "character": 18 }, "source": "expression_context/source/typecast_expr_ctx_source1.bal", + "description": "", "items": [ { "label": "ErrorName", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -398,11 +399,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config2.json index 6d780358a09f..6e677dfe5b10 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config2.json @@ -4,6 +4,7 @@ "character": 19 }, "source": "expression_context/source/typecast_expr_ctx_source2.bal", + "description": "", "items": [ { "label": "ErrorName", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -398,11 +399,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config4.json index 268d6169b3c1..920e1452c33b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config4.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "expression_context/source/typecast_expr_ctx_source4.bal", + "description": "", "items": [ { "label": "ErrorName", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -398,11 +399,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config5.json index fa21aee6d5f9..0212529175f6 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config5.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "expression_context/source/typecast_expr_ctx_source5.bal", + "description": "", "items": [ { "label": "ErrorName", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -398,11 +399,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config6.json index e5fb35db108b..b861a5ba0701 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typecast_expr_ctx_config6.json @@ -4,6 +4,7 @@ "character": 32 }, "source": "expression_context/source/typecast_expr_ctx_source6.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -435,11 +436,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -468,11 +469,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -492,11 +493,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -516,11 +517,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -540,11 +541,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -564,11 +565,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config1.json index 1c2ea7bbeb4d..df6b1c9c4277 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config1.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "expression_context/source/typeof_expression_ctx_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config2.json index 0291cf2f062e..e289ace0a5d1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/typeof_expression_ctx_config2.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "expression_context/source/typeof_expression_ctx_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config1.json index 4b9afc5c842d..26082e58d7ae 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config1.json @@ -49,11 +49,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -73,11 +73,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -97,11 +97,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -121,11 +121,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -145,11 +145,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -627,11 +627,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -651,11 +651,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -675,11 +675,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -699,11 +699,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -723,11 +723,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config2.json index d9523b4ecda9..ac3fa173cbfc 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/config/xml_attribute_access_expr_ctx_config2.json @@ -49,11 +49,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -73,11 +73,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -97,11 +97,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -121,11 +121,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -145,11 +145,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -627,11 +627,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -651,11 +651,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -675,11 +675,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -699,11 +699,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -723,11 +723,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/expression_context/source/mapping_constructor_expr_ctx_source8.bal b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/source/mapping_constructor_expr_ctx_source8.bal new file mode 100644 index 000000000000..18ba350a4215 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/expression_context/source/mapping_constructor_expr_ctx_source8.bal @@ -0,0 +1,33 @@ +type Foo record { + string 'type; + int id; +}; + +type Bar readonly & record { + string 'type; + int id; +}; + +type Baz record { + readonly string 'type; + int id; +}; + +type A Baz; + +function testFillRecordFields() { + Foo foo = {'type: "foo",}; + + Bar bar = {'type: "bar",}; + + Baz baz = {'type: "baz",}; + + Foo & readonly fooReadonly = {'type: "foo",}; + + record { + string 'type; + int id; + } & readonly fooReadonly2 = {'type: "foo",}; + + A a = {'type: "baz",}; +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config21.json b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config21.json index 28d78f8da352..ee2765cfedd1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config21.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "field_access_expression_context/source/field_access_ctx_source20.bal", + "description": "", "items": [ { "label": "xmlns", @@ -376,11 +377,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +401,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -653,11 +654,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -677,11 +678,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -701,11 +702,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -725,11 +726,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -758,11 +759,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config38.json b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config38.json index fb6337ff5a56..9b659c3a9a16 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config38.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config38.json @@ -128,11 +128,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -152,11 +152,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -176,11 +176,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +200,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +224,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -575,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -599,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -623,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -647,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -671,11 +671,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config39.json b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config39.json index 44a7574de310..f68c4f120435 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config39.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config39.json @@ -128,11 +128,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -152,11 +152,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -176,11 +176,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +200,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +224,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -575,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -599,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -623,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -647,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -671,11 +671,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config40.json b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config40.json index 39d1dbd932bf..fb691613763c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config40.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config40.json @@ -128,11 +128,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -152,11 +152,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -176,11 +176,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +200,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +224,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -575,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -599,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -623,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -647,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -671,11 +671,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config41.json b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config41.json index 36d303670bdb..720ded45b4a7 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config41.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/field_access_expression_context/config/field_access_ctx_config41.json @@ -128,11 +128,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -152,11 +152,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -176,11 +176,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +200,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +224,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -575,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -599,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -623,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -647,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -671,11 +671,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config1.json index eae29afa94bd..2cd51d352900 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config1.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "function_body/source/source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -625,11 +626,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -649,11 +650,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -673,11 +674,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -697,11 +698,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -730,11 +731,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config12.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config12.json index 73350b9f2e98..91b54c4404ef 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config12.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "function_body/source/source12.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -660,11 +661,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -684,11 +685,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -708,11 +709,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -732,11 +733,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -765,11 +766,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config13.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config13.json index d282d9d372a0..472b4c8deaff 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config13.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config13.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "function_body/source/source13.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -660,11 +661,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -684,11 +685,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -708,11 +709,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -732,11 +733,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -857,11 +858,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config2.json index fbc43e6c7aa6..7643f15916da 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config2.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "function_body/source/source2.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -625,11 +626,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -649,11 +650,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -673,11 +674,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -697,11 +698,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -730,11 +731,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config3.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config3.json index aafd803ef785..0a580870ce0e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config3.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "function_body/source/source3.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -616,11 +617,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -721,11 +722,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config4.json index 144fda7df98c..0fa0a79e6097 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config4.json @@ -4,6 +4,7 @@ "character": 12 }, "source": "function_body/source/source4.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -627,11 +628,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -651,11 +652,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -675,11 +676,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -699,11 +700,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -732,11 +733,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config5.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config5.json index 7b266a129127..0075996e0d9f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config5.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "function_body/source/source5.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -540,11 +541,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -645,11 +646,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -669,11 +670,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -693,11 +694,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -717,11 +718,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -750,11 +751,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config6.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config6.json index 1233cb036ea2..caf71926d751 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config6.json @@ -361,11 +361,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -385,11 +385,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -409,11 +409,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -433,11 +433,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -541,11 +541,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -646,11 +646,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -670,11 +670,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -694,11 +694,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -718,11 +718,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -751,11 +751,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config7.json b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config7.json index 3ad0f020bd51..b8a7ecce552b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_body/config/config7.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "function_body/source/source7.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -567,11 +568,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -591,11 +592,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config10.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config10.json index 72c770e0bdd6..7da4f38993b1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config10.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "function_def/source/source10.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config11.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config11.json index e5910a3c4fec..724e6eb90ef7 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config11.json @@ -4,6 +4,7 @@ "character": 40 }, "source": "function_def/source/source11.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config14.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config14.json index e12fdc7e795e..feff9d150390 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config14.json @@ -4,6 +4,7 @@ "character": 56 }, "source": "function_def/source/source14.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -494,11 +495,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -518,11 +519,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -542,11 +543,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -566,11 +567,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -590,11 +591,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config15.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config15.json index b3dbb2c14611..9e347bfa6ade 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config15.json @@ -4,6 +4,7 @@ "character": 57 }, "source": "function_def/source/source15.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -479,11 +480,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -503,11 +504,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -527,11 +528,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -551,11 +552,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -575,11 +576,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config18.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config18.json index e7ef87db09de..1f992172e814 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config18.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config18.json @@ -4,6 +4,7 @@ "character": 15 }, "source": "function_def/source/source18.bal", + "description": "", "items": [ { "label": "record", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config19.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config19.json index 5772942fd962..cbb7a16806b6 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config19.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config19.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "function_def/source/source19.bal", + "description": "", "items": [ { "label": "record", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config23.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config23.json index 73b53420720b..df190ab3e499 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config23.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config23.json @@ -4,6 +4,7 @@ "character": 30 }, "source": "function_def/source/projectls/defaultable_param.bal", + "description": "", "items": [ { "label": "start", @@ -53,11 +54,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -77,11 +78,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -101,11 +102,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -550,11 +551,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -574,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -598,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -622,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -646,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config3.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config3.json index 3ece32f4f72c..3ca4b46871c4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config3.json @@ -4,6 +4,7 @@ "character": 33 }, "source": "function_def/source/source3.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config4.json index bfe9342a5ef8..e7ef7fd1ff11 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config4.json @@ -4,6 +4,7 @@ "character": 34 }, "source": "function_def/source/source4.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -509,11 +510,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config9.json b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config9.json index 4fb02e4eb56d..200cbda05f26 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/function_def/config/config9.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "function_def/source/source9.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config11.json b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config11.json index d6f704e8997c..677c52cc4575 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config11.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "import_decl/source/lsproject/modules/module3/main2.bal", + "description": "", "items": [ { "label": "xmlns", @@ -400,11 +401,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -583,11 +584,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -607,11 +608,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -631,11 +632,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -655,11 +656,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -679,11 +680,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -703,11 +704,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -727,11 +728,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -751,11 +752,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -775,11 +776,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -799,11 +800,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -832,11 +833,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config12.json b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config12.json index a8e4185f1e85..572db56cc0ed 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config12.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "import_decl/source/lsproject/modules/module3/main3.bal", + "description": "", "items": [ { "label": "xmlns", @@ -400,11 +401,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -583,11 +584,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -607,11 +608,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -631,11 +632,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -655,11 +656,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -679,11 +680,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -703,11 +704,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -727,11 +728,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -751,11 +752,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -775,11 +776,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -799,11 +800,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -832,11 +833,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config21.json b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config21.json index 6f5c6510854b..ee14a88af507 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config21.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "import_decl/source/lsproject/modules/module3/main8.bal", + "description": "", "items": [ { "label": "xmlns", @@ -400,11 +401,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -607,11 +608,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -631,11 +632,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -655,11 +656,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -679,11 +680,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -703,11 +704,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -727,11 +728,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -751,11 +752,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -775,11 +776,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -799,11 +800,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -832,11 +833,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config27.json b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config27.json new file mode 100644 index 000000000000..cbb078f94c96 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/config/config27.json @@ -0,0 +1,907 @@ +{ + "position": { + "line": 3, + "character": 11 + }, + "source": "import_decl/source/source15.bal", + "description": "", + "items": [ + { + "label": "xmlns", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "xmlns", + "insertText": "xmlns \"${1}\" as ${2:ns};", + "insertTextFormat": "Snippet" + }, + { + "label": "xmlns", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "xmlns", + "insertText": "xmlns ", + "insertTextFormat": "Snippet" + }, + { + "label": "var", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "var", + "insertText": "var ", + "insertTextFormat": "Snippet" + }, + { + "label": "wait", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "wait", + "insertText": "wait ", + "insertTextFormat": "Snippet" + }, + { + "label": "start", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "start", + "insertText": "start ", + "insertTextFormat": "Snippet" + }, + { + "label": "flush", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "flush", + "insertText": "flush ", + "insertTextFormat": "Snippet" + }, + { + "label": "isolated", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "isolated", + "insertText": "isolated ", + "insertTextFormat": "Snippet" + }, + { + "label": "transactional", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "transactional", + "insertText": "transactional", + "insertTextFormat": "Snippet" + }, + { + "label": "checkpanic", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "checkpanic", + "insertText": "checkpanic ", + "insertTextFormat": "Snippet" + }, + { + "label": "check", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "check", + "insertText": "check ", + "insertTextFormat": "Snippet" + }, + { + "label": "final", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "final", + "insertText": "final ", + "insertTextFormat": "Snippet" + }, + { + "label": "fail", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "fail", + "insertText": "fail ", + "insertTextFormat": "Snippet" + }, + { + "label": "from", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "from", + "insertText": "from ", + "insertTextFormat": "Snippet" + }, + { + "label": "if", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "if", + "insertText": "if ${1:true} {\n\t${2}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "while", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "while", + "insertText": "while ${1:true} {\n\t${2}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "do", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "do", + "insertText": "do {\n\t${1}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "lock", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "lock", + "insertText": "lock {\n\t${1}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "foreach", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "foreach", + "insertText": "foreach ${1:var} ${2:item} in ${3:itemList} {\n\t${4}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "foreach i", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "foreach", + "insertText": "foreach ${1:int} ${2:i} in ${3:0}...${4:9} {\n\t${5}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "fork", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "fork", + "insertText": "fork {\n\t${1}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "transaction", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "transaction", + "insertText": "transaction {\n\t${1}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "retry", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "retry", + "insertText": "retry {\n\t${1}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "retry transaction", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "retry_transaction", + "insertText": "retry transaction {\n\t${1}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "match", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "match", + "insertText": "match ", + "insertTextFormat": "Snippet" + }, + { + "label": "panic", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "panic", + "insertText": "panic ", + "insertTextFormat": "Snippet" + }, + { + "label": "stream<> streamName = new;", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "stream", + "insertText": "stream<${1}> ${2:streamName} = new;", + "insertTextFormat": "Snippet" + }, + { + "label": "return;", + "kind": "Snippet", + "detail": "Statement", + "sortText": "P", + "filterText": "return;", + "insertText": "return;", + "insertTextFormat": "Snippet" + }, + { + "label": "StrandData", + "kind": "Struct", + "detail": "Record", + "documentation": { + "left": "Describes Strand execution details for the runtime.\n" + }, + "sortText": "M", + "insertText": "StrandData", + "insertTextFormat": "Snippet" + }, + { + "label": "Thread", + "kind": "TypeParameter", + "detail": "Union", + "sortText": "N", + "insertText": "Thread", + "insertTextFormat": "Snippet" + }, + { + "label": "record", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "record", + "insertText": "record ", + "insertTextFormat": "Snippet" + }, + { + "label": "function", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "function", + "insertText": "function ", + "insertTextFormat": "Snippet" + }, + { + "label": "record {}", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "record", + "insertText": "record {${1}}", + "insertTextFormat": "Snippet" + }, + { + "label": "record {||}", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "record", + "insertText": "record {|${1}|}", + "insertTextFormat": "Snippet" + }, + { + "label": "distinct", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "distinct", + "insertText": "distinct", + "insertTextFormat": "Snippet" + }, + { + "label": "object constructor", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "object", + "insertText": "object {${1}}", + "insertTextFormat": "Snippet" + }, + { + "label": "true", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "true", + "insertText": "true", + "insertTextFormat": "Snippet" + }, + { + "label": "false", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "false", + "insertText": "false", + "insertTextFormat": "Snippet" + }, + { + "label": "map", + "kind": "Unit", + "detail": "type", + "sortText": "R", + "insertText": "map", + "insertTextFormat": "Snippet" + }, + { + "label": "object", + "kind": "Unit", + "detail": "type", + "sortText": "R", + "insertText": "object", + "insertTextFormat": "Snippet" + }, + { + "label": "stream", + "kind": "Unit", + "detail": "type", + "sortText": "R", + "insertText": "stream", + "insertTextFormat": "Snippet" + }, + { + "label": "table", + "kind": "Unit", + "detail": "type", + "sortText": "R", + "insertText": "table", + "insertTextFormat": "Snippet" + }, + { + "label": "transaction", + "kind": "Unit", + "detail": "type", + "sortText": "R", + "insertText": "transaction", + "insertTextFormat": "Snippet" + }, + { + "label": "worker", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "worker", + "insertText": "worker ${1:name} {\n\t${2}\n}", + "insertTextFormat": "Snippet" + }, + { + "label": "new", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "new", + "insertText": "new ", + "insertTextFormat": "Snippet" + }, + { + "label": "let", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "let", + "insertText": "let", + "insertTextFormat": "Snippet" + }, + { + "label": "typeof", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "typeof", + "insertText": "typeof ", + "insertTextFormat": "Snippet" + }, + { + "label": "trap", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "trap", + "insertText": "trap", + "insertTextFormat": "Snippet" + }, + { + "label": "client", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "client", + "insertText": "client ", + "insertTextFormat": "Snippet" + }, + { + "label": "error constructor", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "error", + "insertText": "error(\"${1}\")", + "insertTextFormat": "Snippet" + }, + { + "label": "base16", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "base16", + "insertText": "base16 `${1}`", + "insertTextFormat": "Snippet" + }, + { + "label": "base64", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "base64", + "insertText": "base64 `${1}`", + "insertTextFormat": "Snippet" + }, + { + "label": "object {}", + "kind": "Snippet", + "detail": "Snippet", + "sortText": "P", + "filterText": "object", + "insertText": "object {${1}}", + "insertTextFormat": "Snippet" + }, + { + "label": "test/project2", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "project2", + "insertText": "project2", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import test/project2;\n" + } + ] + }, + { + "label": "test/project1", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "project1", + "insertText": "project1", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import test/project1;\n" + } + ] + }, + { + "label": "test/local_project2", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "local_project2", + "insertText": "local_project2", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import test/local_project2;\n" + } + ] + }, + { + "label": "test/local_project1", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "local_project1", + "insertText": "local_project1", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import test/local_project1;\n" + } + ] + }, + { + "label": "ballerina/lang.runtime", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "runtime", + "insertText": "runtime", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/lang.runtime;\n" + } + ] + }, + { + "label": "ballerina/lang.value", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "value", + "insertText": "value", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/lang.value;\n" + } + ] + }, + { + "label": "ballerina/module1", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "module1", + "insertText": "module1", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/module1;\n" + } + ] + }, + { + "label": "ballerina/lang.array", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "array", + "insertText": "array", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/lang.array;\n" + } + ] + }, + { + "label": "ballerina/jballerina.java", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "java", + "insertText": "java", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/jballerina.java;\n" + } + ] + }, + { + "label": "ballerina/lang.test", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "test", + "insertText": "test", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/lang.test;\n" + } + ] + }, + { + "label": "null", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "null", + "insertText": "null", + "insertTextFormat": "Snippet" + }, + { + "label": "ballerina/lang.regexp", + "kind": "Module", + "detail": "Module", + "sortText": "R", + "filterText": "regexp", + "insertText": "regexp", + "insertTextFormat": "Snippet", + "additionalTextEdits": [ + { + "range": { + "start": { + "line": 1, + "character": 0 + }, + "end": { + "line": 1, + "character": 0 + } + }, + "newText": "import ballerina/lang.regexp;\n" + } + ] + }, + { + "label": "readonly", + "kind": "TypeParameter", + "detail": "Readonly", + "sortText": "N", + "insertText": "readonly", + "insertTextFormat": "Snippet" + }, + { + "label": "handle", + "kind": "TypeParameter", + "detail": "Handle", + "sortText": "N", + "insertText": "handle", + "insertTextFormat": "Snippet" + }, + { + "label": "never", + "kind": "TypeParameter", + "detail": "Never", + "sortText": "N", + "insertText": "never", + "insertTextFormat": "Snippet" + }, + { + "label": "json", + "kind": "TypeParameter", + "detail": "Json", + "sortText": "N", + "insertText": "json", + "insertTextFormat": "Snippet" + }, + { + "label": "anydata", + "kind": "TypeParameter", + "detail": "Anydata", + "sortText": "N", + "insertText": "anydata", + "insertTextFormat": "Snippet" + }, + { + "label": "any", + "kind": "TypeParameter", + "detail": "Any", + "sortText": "N", + "insertText": "any", + "insertTextFormat": "Snippet" + }, + { + "label": "byte", + "kind": "TypeParameter", + "detail": "Byte", + "sortText": "N", + "insertText": "byte", + "insertTextFormat": "Snippet" + }, + { + "label": "service", + "kind": "Keyword", + "detail": "Keyword", + "sortText": "Q", + "filterText": "service", + "insertText": "service", + "insertTextFormat": "Snippet" + }, + { + "label": "decimal", + "kind": "TypeParameter", + "detail": "Decimal", + "sortText": "N", + "insertText": "decimal", + "insertTextFormat": "Snippet" + }, + { + "label": "error", + "kind": "Event", + "detail": "Error", + "sortText": "L", + "insertText": "error", + "insertTextFormat": "Snippet" + }, + { + "label": "xml", + "kind": "TypeParameter", + "detail": "Xml", + "sortText": "N", + "insertText": "xml", + "insertTextFormat": "Snippet" + }, + { + "label": "boolean", + "kind": "TypeParameter", + "detail": "Boolean", + "sortText": "N", + "insertText": "boolean", + "insertTextFormat": "Snippet" + }, + { + "label": "future", + "kind": "TypeParameter", + "detail": "Future", + "sortText": "N", + "insertText": "future", + "insertTextFormat": "Snippet" + }, + { + "label": "int", + "kind": "TypeParameter", + "detail": "Int", + "sortText": "N", + "insertText": "int", + "insertTextFormat": "Snippet" + }, + { + "label": "float", + "kind": "TypeParameter", + "detail": "Float", + "sortText": "N", + "insertText": "float", + "insertTextFormat": "Snippet" + }, + { + "label": "function", + "kind": "TypeParameter", + "detail": "Function", + "sortText": "N", + "insertText": "function", + "insertTextFormat": "Snippet" + }, + { + "label": "string", + "kind": "TypeParameter", + "detail": "String", + "sortText": "N", + "insertText": "string", + "insertTextFormat": "Snippet" + }, + { + "label": "typedesc", + "kind": "TypeParameter", + "detail": "Typedesc", + "sortText": "N", + "insertText": "typedesc", + "insertTextFormat": "Snippet" + }, + { + "label": "testFunction()", + "kind": "Function", + "detail": "()", + "documentation": { + "right": { + "kind": "markdown", + "value": "**Package:** _._ \n \n \n" + } + }, + "sortText": "C", + "filterText": "testFunction", + "insertText": "testFunction()", + "insertTextFormat": "Snippet" + } + ] +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/import_decl/source/source15.bal b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/source/source15.bal new file mode 100644 index 000000000000..8f8a429c1f6a --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/completion/import_decl/source/source15.bal @@ -0,0 +1,5 @@ +// License header + +function testFunction() { + module1 +} diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config1.json index 9e4426fb42ce..6d02e02364be 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config1.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -187,11 +187,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -211,11 +211,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -235,11 +235,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -259,11 +259,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -283,11 +283,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config11.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config11.json index 1fd702444777..1b0a3705867d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config11.json @@ -4,6 +4,7 @@ "character": 45 }, "source": "listener_decl/source/source11.bal", + "description": "", "items": [ { "label": "getInt()", @@ -72,11 +73,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -96,11 +97,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -120,11 +121,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -144,11 +145,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -168,11 +169,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -286,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -310,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -334,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -358,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -382,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config12.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config12.json index aa4f41ae886f..255a6fd21dac 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config12.json @@ -4,6 +4,7 @@ "character": 46 }, "source": "listener_decl/source/source12.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -277,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -301,11 +302,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -325,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -349,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -382,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config2.json index e58e8909daf0..20e64e7bdec1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config2.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -187,11 +187,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -211,11 +211,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -235,11 +235,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -259,11 +259,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -283,11 +283,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3b.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3b.json index ab2b4e248f0d..2fa82a6c7088 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3b.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3b.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -187,11 +187,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -211,11 +211,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -235,11 +235,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -259,11 +259,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -283,11 +283,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3c.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3c.json index b07307fe1caa..852193d58493 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3c.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config3c.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -187,11 +187,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -211,11 +211,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -235,11 +235,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -259,11 +259,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -283,11 +283,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config4.json index c23cbc68c51c..2e09ab42fc64 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config4.json @@ -35,11 +35,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -59,11 +59,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -83,11 +83,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -107,11 +107,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -131,11 +131,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -241,11 +241,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -265,11 +265,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -289,11 +289,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -313,11 +313,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -337,11 +337,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config5.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config5.json index d0a84acdfc1b..b885f7946479 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config5.json @@ -35,11 +35,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -59,11 +59,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -83,11 +83,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -107,11 +107,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -131,11 +131,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -241,11 +241,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -265,11 +265,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -289,11 +289,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -313,11 +313,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -337,11 +337,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config7.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config7.json index 76f8c6748bab..bdb681bf5793 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config7.json @@ -35,11 +35,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -59,11 +59,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -83,11 +83,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -107,11 +107,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -131,11 +131,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -223,11 +223,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -247,11 +247,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -271,11 +271,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -295,11 +295,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -319,11 +319,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config8.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config8.json index ad4588884457..72c2e980507c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config8.json @@ -35,11 +35,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -59,11 +59,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -83,11 +83,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -107,11 +107,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -131,11 +131,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -223,11 +223,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -247,11 +247,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -271,11 +271,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -295,11 +295,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -319,11 +319,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config9.json b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config9.json index 5d1943843913..e2cbb15ebf18 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/listener_decl/config/config9.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -179,11 +179,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -203,11 +203,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -227,11 +227,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -251,11 +251,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -275,11 +275,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config1.json index 41663864f417..b7ab514d6976 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config1.json @@ -4,6 +4,7 @@ "character": 13 }, "source": "module_const_context/source/source1.bal", + "description": "", "items": [ { "label": "StrandData", @@ -117,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -277,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -301,11 +302,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -325,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -349,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -391,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config10.json b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config10.json index 4817c90d335c..b58e56fd1623 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config10.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -219,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -243,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +267,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +291,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +315,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config2.json index 79abfd21c1a6..d868608fde3f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config2.json @@ -118,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -142,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -166,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -190,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -214,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -278,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +302,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config4.json index 534529ce9ff7..1e7561f0584a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config4.json @@ -118,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -142,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -166,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -190,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -214,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -278,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +302,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config6.json b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config6.json index d2f797226d57..4343c2763e6d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config6.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -233,11 +233,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -257,11 +257,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -281,11 +281,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -305,11 +305,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -329,11 +329,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config7.json b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config7.json index 15d353cd7d4b..acabac212753 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_const_context/config/config7.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -99,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -123,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -233,11 +233,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -257,11 +257,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -281,11 +281,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -305,11 +305,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -329,11 +329,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config10.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config10.json index 6867084500fc..3c9603bbd1ce 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config10.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "module_part_context/source/source10.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -246,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -270,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -294,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -318,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config14.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config14.json index 88042f271374..204192e14f1c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config14.json @@ -370,11 +370,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -394,11 +394,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -418,11 +418,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -442,11 +442,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -466,11 +466,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -530,11 +530,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -604,11 +604,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -628,11 +628,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -652,11 +652,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -676,11 +676,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, @@ -717,11 +717,11 @@ { "range": { "start": { - "line": 2, + "line": 3, "character": 0 }, "end": { - "line": 2, + "line": 3, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config15.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config15.json index e4130a96ad4c..ccbb9d295ad2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config15.json @@ -368,11 +368,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +416,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +440,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +464,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -562,11 +562,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -586,11 +586,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -610,11 +610,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -634,11 +634,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -667,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config16.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config16.json index 102c7ac32332..98cbee0331fd 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config16.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config16.json @@ -352,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +512,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -570,11 +570,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -594,11 +594,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -618,11 +618,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +642,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +666,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -699,11 +699,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config6.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config6.json index 488f69e0b3fc..c7f0b2f57b2b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config6.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/source6.bal", + "description": "", "items": [ { "label": "type", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -659,11 +660,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config8.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config8.json index bc22ca1fa38b..97b7c4e185a9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config8.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "module_part_context/source/source8.bal", + "description": "", "items": [ { "label": "client", @@ -153,11 +154,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -177,11 +178,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -201,11 +202,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -225,11 +226,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -249,11 +250,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -331,11 +332,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -355,11 +356,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -379,11 +380,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -403,11 +404,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -436,11 +437,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config9.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config9.json index c7a3d9c2c823..3261c02e0286 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/config9.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "module_part_context/source/source9.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +265,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +289,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_annotation_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_annotation_decl_config.json index 62b381c319d0..bcfd320df6e2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_annotation_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_annotation_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_class_defn_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_class_defn_config.json index 74cf2fcde08e..47f5686d05a8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_class_defn_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_class_defn_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_configurable_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_configurable_config1.json index bb5461697f1b..538a01947f62 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_configurable_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_configurable_config1.json @@ -127,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -151,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -175,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -199,11 +199,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -223,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -383,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_const_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_const_decl_config.json index 3d9cb2101f9a..9391ac23ad6b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_const_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_const_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_enum_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_enum_decl_config.json index 8a5a3e60a4c4..6406b85e8c53 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_enum_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_enum_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_funciton_defn_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_funciton_defn_config.json index 87440bf56d76..297111a5201c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_funciton_defn_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_funciton_defn_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_import_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_import_decl_config.json index b08f82f7136f..37c69f178ad5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_import_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_import_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "import", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -563,11 +564,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -587,11 +588,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -611,11 +612,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -635,11 +636,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -716,11 +717,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_listener_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_listener_decl_config.json index 89690798d3dc..6a7d948dc08c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_listener_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_listener_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_service_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_service_decl_config.json index 0b681d05c20b..96a00194b7e4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_service_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_service_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_type_defn_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_type_defn_config.json index b9be95cdc1e4..e9784aab5e91 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_type_defn_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_type_defn_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_var_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_var_decl_config.json index a84924aac19f..d7ed86247519 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_var_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_var_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_xmlns_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_xmlns_decl_config.json index 3b04ee33dd70..4b6b77b29299 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_xmlns_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_after_xmlns_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_annotation_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_annotation_decl_config.json index 72702371a20c..a1a94f785233 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_annotation_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_annotation_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_class_defn_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_class_defn_config.json index 3dca99e2aa51..3980119cc409 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_class_defn_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_class_defn_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_const_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_const_decl_config.json index 37f4f7aabd2d..e92a4fe360e8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_const_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_const_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_enum_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_enum_decl_config.json index 2bd21271590b..dda1782efb57 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_enum_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_enum_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_function_defn_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_function_defn_config.json index 8dd3d9ed2d13..dd5fcd901eb9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_function_defn_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_function_defn_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_import_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_import_decl_config.json index 09ed36e6ee95..e22e83b41350 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_import_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_import_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "import", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -563,11 +564,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -587,11 +588,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -611,11 +612,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -635,11 +636,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -716,11 +717,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_listener_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_listener_decl_config.json index e0dfc5cd0f0d..49479f0d9060 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_listener_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_listener_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "import", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -563,11 +564,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -587,11 +588,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -611,11 +612,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -635,11 +636,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -716,11 +717,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_service_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_service_decl_config.json index 9f354124369a..a3a26c93b86c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_service_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_service_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_type_defn_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_type_defn_config.json index 750889ed0b33..fc01aabb8a59 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_type_defn_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_type_defn_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_var_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_var_decl_config.json index cebaa8d90d95..a2084d95f5ab 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_var_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_var_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_xmlns_decl_config.json b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_xmlns_decl_config.json index ce9578057df1..e5ddffb5a505 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_xmlns_decl_config.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_part_context/config/module_level_before_xmlns_decl_config.json @@ -4,6 +4,7 @@ "character": 0 }, "source": "module_part_context/source/module_part_start_and_end_of_decls_and_defns.bal", + "description": "", "items": [ { "label": "type", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -554,11 +555,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -578,11 +579,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -602,11 +603,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -626,11 +627,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 1, + "line": 2, "character": 0 }, "end": { - "line": 1, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config1.json index 1bbcd895a97d..0bc5b152930f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config1.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "module_var_context/source/source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config16.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config16.json index fe2523cf14c4..58a4d9930a24 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config16.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config16.json @@ -127,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -151,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -175,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -199,11 +199,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -223,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -383,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config18.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config18.json index 86a2eec5e9ad..ee0ec0620e92 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config18.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config18.json @@ -127,11 +127,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -151,11 +151,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -175,11 +175,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -199,11 +199,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -223,11 +223,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +247,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +271,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +295,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +319,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -383,11 +383,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config2.json index 8ddb18336e1d..1346cb9ce3f0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config2.json @@ -4,6 +4,7 @@ "character": 29 }, "source": "module_var_context/source/source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config20.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config20.json index 5887e56a4a1e..665b2029ef6f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config20.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config20.json @@ -192,11 +192,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -216,11 +216,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +240,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +264,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +288,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +312,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +336,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +360,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +384,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config21.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config21.json index af34fc9ae6fd..71134fe1c96a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config21.json @@ -192,11 +192,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -216,11 +216,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +240,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +264,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +288,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +312,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +336,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +360,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +384,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config5.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config5.json index b0ffa5fa743c..9e88c6fc517e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config5.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "module_var_context/source/source5.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -471,11 +472,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -495,11 +496,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -519,11 +520,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -543,11 +544,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config6.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config6.json index 925023ac38d3..7ce0b2729c7d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config6.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "module_var_context/source/source6.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -462,11 +463,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -486,11 +487,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -510,11 +511,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -534,11 +535,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -558,11 +559,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config7.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config7.json index d1d6f42fcba4..2b56cc18ff1c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config7.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "module_var_context/source/source7.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config9.json b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config9.json index 9e2c97303d2a..c876206c8c21 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_var_context/config/config9.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "module_var_context/source/source9.bal", + "description": "", "items": [ { "label": "function", @@ -171,11 +172,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -195,11 +196,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -219,11 +220,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -243,11 +244,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -331,11 +332,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -355,11 +356,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -379,11 +380,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -403,11 +404,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config1.json index 3b80057a735a..e5f37d89e979 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config1.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "module_xml_namespace_decl/source/source1.bal", + "description": "", "items": [ { "label": "STRING_CONST", @@ -40,11 +41,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -64,11 +65,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -88,11 +89,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -112,11 +113,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -136,11 +137,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +201,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config2.json index f7205906f36f..3d0fe36c5747 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config2.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "module_xml_namespace_decl/source/source2.bal", + "description": "", "items": [ { "label": "STRING_CONST", @@ -40,11 +41,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -64,11 +65,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -88,11 +89,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -112,11 +113,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -136,11 +137,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +201,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config8.json b/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config8.json index 7217bc743e22..f5e7a347377d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/module_xml_namespace_decl/config/config8.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "module_xml_namespace_decl/source/source8.bal", + "description": "", "items": [ { "label": "STRING_CONST", @@ -40,11 +41,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -64,11 +65,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -88,11 +89,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -112,11 +113,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -136,11 +137,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +201,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/performance_completion/config/performance_completion.json b/language-server/modules/langserver-core/src/test/resources/completion/performance_completion/config/performance_completion.json index 12a959e48946..6d16fd4be776 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/performance_completion/config/performance_completion.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/performance_completion/config/performance_completion.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "statement_context/source/assignment_stmt_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -452,11 +453,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -476,11 +477,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -500,11 +501,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -524,11 +525,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -548,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config14.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config14.json index e1d875a059ee..99043c0898f0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config14.json @@ -27,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -51,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -75,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -379,11 +379,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -403,11 +403,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -436,11 +436,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -460,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -484,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -508,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -532,11 +532,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config22.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config22.json index 9088e7848daf..47c9992e6e20 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config22.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config22.json @@ -4,6 +4,7 @@ "character": 42 }, "source": "query_expression/source/query_expr_ctx_source22.bal", + "description": "", "items": [ { "label": "from", @@ -44,11 +45,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -68,11 +69,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -92,11 +93,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -116,11 +117,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -140,11 +141,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config23.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config23.json index 9bf6c1dadbf7..3620634d93df 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config23.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config23.json @@ -4,6 +4,7 @@ "character": 43 }, "source": "query_expression/source/query_expr_ctx_source23.bal", + "description": "", "items": [ { "label": "from", @@ -44,11 +45,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -68,11 +69,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -92,11 +93,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -116,11 +117,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -140,11 +141,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config24.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config24.json index 7b6ca254f8b1..ffe182f0c0ea 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config24.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config24.json @@ -4,6 +4,7 @@ "character": 50 }, "source": "query_expression/source/query_expr_ctx_source24.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -170,11 +171,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -194,11 +195,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config25.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config25.json index 45ca9717b37e..f10356be98f8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config25.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config25.json @@ -4,6 +4,7 @@ "character": 38 }, "source": "query_expression/source/query_expr_ctx_source25.bal", + "description": "", "items": [ { "label": "from", @@ -44,11 +45,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -68,11 +69,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -92,11 +93,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -116,11 +117,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -140,11 +141,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config26.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config26.json index 471b9d6d57cd..8bf3e8a704c0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config26.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config26.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "query_expression/source/query_expr_ctx_source26.bal", + "description": "", "items": [ { "label": "from", @@ -44,11 +45,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -68,11 +69,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -92,11 +93,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -116,11 +117,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -140,11 +141,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config7.json index 1a7a586ef3ed..419311642445 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config7.json @@ -118,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -142,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -166,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -368,11 +368,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config8.json index bfd1db31669f..3a2f9d4987bf 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_config8.json @@ -118,11 +118,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -142,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -166,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -359,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config1.json index 01756505034d..14821702edbf 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config1.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "query_expression/source/query_expr_ctx_join_clause_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +327,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +351,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -407,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config12.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config12.json index 6fa629ccd70c..8d163233a0da 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config12.json @@ -4,6 +4,7 @@ "character": 38 }, "source": "query_expression/source/query_expr_ctx_join_clause_source12.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config2.json index 15b85174c89e..8f98a02859c4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config2.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "query_expression/source/query_expr_ctx_join_clause_source2.bal", + "description": "", "items": [ { "label": "Thread", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +327,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +351,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -407,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config5.json index c75150dbcff9..b5f524dd972e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_join_clause_config5.json @@ -4,6 +4,7 @@ "character": 37 }, "source": "query_expression/source/query_expr_ctx_join_clause_source5.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config1.json index 95dd548d6f0f..c5e6591bfc34 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config1.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "query_expression/source/query_expr_ctx_let_clause_source1.bal", + "description": "", "items": [ { "label": "Thread", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +327,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +351,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -407,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config10.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config10.json index 78311c25be41..9ce7ed8dc407 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config10.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "query_expression/source/query_expr_ctx_let_clause_source10.bal", + "description": "", "items": [ { "label": "Thread", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +327,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +351,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -418,11 +419,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config11.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config11.json index d2f0c82aad1a..4364b681468b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config11.json @@ -4,6 +4,7 @@ "character": 46 }, "source": "query_expression/source/query_expr_ctx_let_clause_source11.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -463,11 +464,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config2.json index e689367d18b3..11fdb021354b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config2.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "query_expression/source/query_expr_ctx_let_clause_source2.bal", + "description": "", "items": [ { "label": "Thread", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +327,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +351,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -407,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config4.json index 2e852f54934b..dee5c828db0d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config4.json @@ -4,6 +4,7 @@ "character": 31 }, "source": "query_expression/source/query_expr_ctx_let_clause_source4.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -463,11 +464,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config5.json index 8a7f83560d27..2e3f0ec7e775 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config5.json @@ -4,6 +4,7 @@ "character": 32 }, "source": "query_expression/source/query_expr_ctx_let_clause_source5.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -463,11 +464,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config6.json index ad64987c1427..fe321b3e59a1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config6.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "query_expression/source/query_expr_ctx_let_clause_source6.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -170,11 +171,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -194,11 +195,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config7.json index fc160a5fe1ce..713d5ded8eb1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config7.json @@ -4,6 +4,7 @@ "character": 40 }, "source": "query_expression/source/query_expr_ctx_let_clause_source7.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -170,11 +171,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -194,11 +195,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config8.json index a31c2175f2d8..0e3d4084932f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config8.json @@ -4,6 +4,7 @@ "character": 40 }, "source": "query_expression/source/query_expr_ctx_let_clause_source8.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -170,11 +171,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -194,11 +195,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -242,11 +243,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config9.json index 02ccefc6dad4..5801ee36f753 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_let_clause_config9.json @@ -4,6 +4,7 @@ "character": 35 }, "source": "query_expression/source/query_expr_ctx_let_clause_source9.bal", + "description": "", "items": [ { "label": "Thread", @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -302,11 +303,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -326,11 +327,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -350,11 +351,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -374,11 +375,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -407,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config1.json index a6e8a75344fe..fbb60fc968f1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config1.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "query_expression/source/query_expr_ctx_limit_clause_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -536,11 +537,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -560,11 +561,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -584,11 +585,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config2.json index af056eef3cc8..1148c797d4e5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config2.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "query_expression/source/query_expr_ctx_limit_clause_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -536,11 +537,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -560,11 +561,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -584,11 +585,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config4.json index 1c7acb9e359c..e1f8ab3ea509 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_limit_clause_config4.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "query_expression/source/query_expr_ctx_limit_clause_source4.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -146,11 +147,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -170,11 +171,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -194,11 +195,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -218,11 +219,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -595,11 +596,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_onconflict_clause_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_onconflict_clause_config2.json index 12a45baae409..a21d5eff97a9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_onconflict_clause_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_onconflict_clause_config2.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "query_expression/source/query_expr_ctx_onconflict_clause_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -536,11 +537,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -560,11 +561,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config1.json index ae2e36caf6b5..9c9dd2947f23 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config1.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "query_expression/source/query_expr_ctx_orderby_clause_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config2.json index 410f2463057f..10a13cb3b8aa 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_orderby_clause_config2.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "query_expression/source/query_expr_ctx_orderby_clause_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -496,11 +497,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -520,11 +521,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config1.json index 85ce79b18d3a..1d25d9dbebb4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config1.json @@ -4,6 +4,7 @@ "character": 19 }, "source": "query_expression/source/query_expr_ctx_select_clause_source1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -489,11 +490,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -513,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -537,11 +538,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -561,11 +562,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -585,11 +586,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config2.json index 7242f43344d8..ded35f4a8cca 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/query_expression/config/query_expr_ctx_select_clause_config2.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "query_expression/source/query_expr_ctx_select_clause_source2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -489,11 +490,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -513,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -537,11 +538,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -561,11 +562,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -585,11 +586,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config1.json index be58feffc8c2..dda35feac364 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config1.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "record_type_desc/source/source1.bal", + "description": "", "items": [ { "label": "StrandData", @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -245,11 +246,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -381,11 +382,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -414,11 +415,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config10.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config10.json index d6c70cc789b7..428c623339c3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config10.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "record_type_desc/source/source10.bal", + "description": "", "items": [ { "label": "T5", @@ -61,11 +62,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -85,11 +86,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -109,11 +110,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -245,11 +246,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config15.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config15.json index b7cc81d8983d..839d2a95ded8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config15.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "record_type_desc/source/source15.bal", + "description": "", "items": [ { "label": "StrandData", @@ -199,11 +200,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -223,11 +224,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +248,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +272,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +296,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +320,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -343,11 +344,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -367,11 +368,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -391,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -415,11 +416,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config2.json index 0dc54c5f5d2b..5eb4882478a8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config2.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "record_type_desc/source/source2.bal", + "description": "", "items": [ { "label": "StrandData", @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -245,11 +246,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -381,11 +382,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -506,11 +507,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config5.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config5.json index d5cd37a47923..cc987e970c4c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config5.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "record_type_desc/source/source5.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -616,11 +617,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config6.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config6.json index fa28ae0287be..6daf02ef4014 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config6.json @@ -4,6 +4,7 @@ "character": 24 }, "source": "record_type_desc/source/source6.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -544,11 +545,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -568,11 +569,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -592,11 +593,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -616,11 +617,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config7.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config7.json index 5c1e85820142..28b36c69384f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config7.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "record_type_desc/source/source7.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -526,11 +527,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -550,11 +551,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -574,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -598,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -622,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config8.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config8.json index cb71a093e744..ff1d3b68dab9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config8.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "record_type_desc/source/source8.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -526,11 +527,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -550,11 +551,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -574,11 +575,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -598,11 +599,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -622,11 +623,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config9.json b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config9.json index b140adbbf9eb..babfb98d0ba3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/record_type_desc/config/config9.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "record_type_desc/source/source9.bal", + "description": "", "items": [ { "label": "T5", @@ -61,11 +62,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -85,11 +86,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -109,11 +110,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -245,11 +246,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config4.json index 876a1717d278..a875e842a52b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config4.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "service_body/source/source4.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -712,11 +713,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -745,11 +746,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config5.json b/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config5.json index 2e06ff36a914..2084795a78d2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_body/config/config5.json @@ -145,11 +145,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -169,11 +169,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -193,11 +193,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -217,11 +217,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -241,11 +241,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -368,11 +368,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +392,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +416,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +440,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -473,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config1.json index 356cfa6a4bfc..d01d3e1126a8 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config1.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "service_decl/source/source1.bal", + "description": "", "items": [ { "label": "TestObject", @@ -34,11 +35,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -320,11 +321,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -344,11 +345,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config10.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config10.json index 0121f1ca0fca..e31daae3d3c6 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config10.json @@ -126,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -150,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -174,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -198,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config11.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config11.json index 185aaf002081..5dbb2f8a8a15 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config11.json @@ -126,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -150,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -174,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -198,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -481,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config12.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config12.json index dbfb9d7f5113..f2c9ebb84b0e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config12.json @@ -4,6 +4,7 @@ "character": 15 }, "source": "service_decl/source/source12.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -488,11 +489,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -512,11 +513,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config14.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config14.json index f10b3765045a..173b99ae6c17 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config14.json @@ -126,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -150,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -174,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -198,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -549,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config15.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config15.json index 3986d2438676..50b630a0474c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config15.json @@ -126,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -150,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -174,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -198,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -222,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -514,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config16.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config16.json index e25c84aa83a0..0262f684afde 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config16.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config16.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "service_decl/source/source16.bal", + "description": "", "items": [ { "label": "xmlns", @@ -359,11 +360,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -383,11 +384,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -407,11 +408,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -431,11 +432,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -455,11 +456,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -712,11 +713,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -745,11 +746,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config17.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config17.json index b0a1e5e02185..4d0104648e52 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config17.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config17.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "service_decl/source/source17.bal", + "description": "", "items": [ { "label": "type", @@ -368,11 +369,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -562,11 +563,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -586,11 +587,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -610,11 +611,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -634,11 +635,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -667,11 +668,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config18.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config18.json index 79a2f355fbfc..13b0c3cd9e09 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config18.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config18.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "service_decl/source/source18.bal", + "description": "", "items": [ { "label": "type", @@ -368,11 +369,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -562,11 +563,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -586,11 +587,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -610,11 +611,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -634,11 +635,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, @@ -667,11 +668,11 @@ { "range": { "start": { - "line": 0, + "line": 2, "character": 0 }, "end": { - "line": 0, + "line": 2, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config2.json index 833797ce01fc..8af9aae4efac 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config2.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "service_decl/source/source2.bal", + "description": "", "items": [ { "label": "TestObject", @@ -34,11 +35,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -320,11 +321,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -344,11 +345,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config3.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config3.json index c17c4a7e6696..56b7edc9e3db 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config3.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "service_decl/source/source3.bal", + "description": "", "items": [ { "label": "TestObject", @@ -34,11 +35,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -320,11 +321,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -344,11 +345,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config4.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config4.json index 0c4a6ac45d1d..bb09d14f6fac 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config4.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "service_decl/source/source4.bal", + "description": "", "items": [ { "label": "TestObject", @@ -43,11 +44,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -67,11 +68,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -91,11 +92,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -115,11 +116,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +140,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -212,11 +213,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -236,11 +237,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -260,11 +261,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -284,11 +285,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -308,11 +309,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6c.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6c.json index 2878285984c6..c08219919c34 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6c.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6c.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "service_decl/source/source6c.bal", + "description": "", "items": [ { "label": "l1", @@ -34,11 +35,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -299,11 +300,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6d.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6d.json index 9f38ff75b791..5810815e5bec 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6d.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6d.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "service_decl/source/source6d.bal", + "description": "", "items": [ { "label": "l1", @@ -34,11 +35,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -58,11 +59,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -82,11 +83,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -106,11 +107,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -130,11 +131,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -299,11 +300,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6g.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6g.json index 373866bfe905..ce11d30ede0d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6g.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config6g.json @@ -4,6 +4,7 @@ "character": 26 }, "source": "service_decl/source/source6g.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config7.json b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config7.json index 6157d4226130..83e92a2fd5c5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/service_decl/config/config7.json @@ -4,6 +4,7 @@ "character": 1 }, "source": "service_decl/source/source7.bal", + "description": "", "items": [ { "label": "type", @@ -368,11 +369,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -440,11 +441,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -464,11 +465,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -562,11 +563,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -586,11 +587,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -610,11 +611,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -634,11 +635,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -667,11 +668,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config1.json index 12a959e48946..6d16fd4be776 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config1.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "statement_context/source/assignment_stmt_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -452,11 +453,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -476,11 +477,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -500,11 +501,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -524,11 +525,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -548,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config2.json index c7075dbe3498..37e8d8c02bac 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config2.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "statement_context/source/assignment_stmt_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -452,11 +453,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -476,11 +477,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -500,11 +501,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -524,11 +525,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -548,11 +549,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config3.json index 218b52c6fbd1..37f002ec38b5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config3.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "statement_context/source/assignment_stmt_ctx_source3.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -470,11 +471,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -494,11 +495,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -518,11 +519,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -542,11 +543,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -566,11 +567,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config8.json index 6c7a008200a7..e69fab20339b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config8.json @@ -4,6 +4,7 @@ "character": 16 }, "source": "statement_context/source/assignment_stmt_ctx_source8.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -477,11 +478,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -501,11 +502,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -525,11 +526,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -549,11 +550,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -573,11 +574,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config9.json index 31823670e336..d11411fb10ef 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/assignment_stmt_ctx_config9.json @@ -63,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -87,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +480,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +504,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +528,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +552,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -576,11 +576,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/do_stmt_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/do_stmt_ctx_config1.json index 1fedaf566fdf..19c4d357269c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/do_stmt_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/do_stmt_ctx_config1.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "statement_context/source/do_stmt_ctx_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -542,11 +543,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -647,11 +648,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -671,11 +672,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -695,11 +696,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -719,11 +720,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -752,11 +753,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config14.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config14.json index 9dc8d5edec44..a36e7308ddb4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config14.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config14.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "statement_context/source/match_stmt_ctx_source14.bal", + "description": "", "items": [ { "label": "ballerina/lang.runtime", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -241,11 +242,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -265,11 +266,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -289,11 +290,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -313,11 +314,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -337,11 +338,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config15.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config15.json index 634d42a79aa9..c9073f3a10f2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config15.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "statement_context/source/match_stmt_ctx_source15.bal", + "description": "", "items": [ { "label": "ballerina/lang.runtime", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -241,11 +242,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -265,11 +266,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -289,11 +290,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -313,11 +314,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -337,11 +338,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config16.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config16.json index afb7b7501e4b..425263813e28 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config16.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config16.json @@ -4,6 +4,7 @@ "character": 13 }, "source": "statement_context/source/match_stmt_ctx_source16.bal", + "description": "", "items": [ { "label": "ballerina/lang.runtime", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -241,11 +242,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -265,11 +266,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -289,11 +290,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -313,11 +314,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -337,11 +338,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config2.json index f4b193ab3f65..61670b3bb524 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config2.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "statement_context/source/match_stmt_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +553,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -576,11 +577,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config20.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config20.json index 44ecfe3501be..53bd223f7f09 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config20.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config20.json @@ -4,6 +4,7 @@ "character": 19 }, "source": "statement_context/source/match_stmt_ctx_source20.bal", + "description": "", "items": [ { "label": "ballerina/lang.runtime", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +553,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config21.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config21.json index 91d765a49a2e..1b95cf1e6827 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config21.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config21.json @@ -4,6 +4,7 @@ "character": 20 }, "source": "statement_context/source/match_stmt_ctx_source21.bal", + "description": "", "items": [ { "label": "ballerina/lang.runtime", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +553,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config22.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config22.json index 24b0e323fd00..03708757cbf9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config22.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config22.json @@ -4,6 +4,7 @@ "character": 31 }, "source": "statement_context/source/match_stmt_ctx_source22.bal", + "description": "", "items": [ { "label": "ballerina/lang.runtime", @@ -17,11 +18,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -41,11 +42,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -480,11 +481,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -504,11 +505,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -528,11 +529,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -552,11 +553,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config4.json index 133d454427f8..34bac637b05d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config4.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "statement_context/source/match_stmt_ctx_source4.bal", + "description": "", "items": [ { "label": "true", @@ -109,11 +110,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config5.json index 4b25f517eae7..9d83746e8eba 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/match_stmt_ctx_config5.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "statement_context/source/match_stmt_ctx_source5.bal", + "description": "", "items": [ { "label": "true", @@ -109,11 +110,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -133,11 +134,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -269,11 +270,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -293,11 +294,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1.json index 8354acd3d9b9..576ba4860e40 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "statement_context/source/onfail_clause_ctx_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1a.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1a.json index 03d529593d51..446f5fa3fdd9 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1a.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config1a.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "statement_context/source/onfail_clause_ctx_source1a.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2.json index f43f2fd795a4..6fbcb790bf1f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "statement_context/source/onfail_clause_ctx_source2.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2a.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2a.json index 62e1dcacc1af..483133dca87b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2a.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2a.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "statement_context/source/onfail_clause_ctx_source2a.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2c.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2c.json index ab164a23b3a9..3502d99aa1b7 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2c.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config2c.json @@ -4,6 +4,7 @@ "character": 14 }, "source": "statement_context/source/onfail_clause_ctx_source2c.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -195,11 +196,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -219,11 +220,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -243,11 +244,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config3.json index ecdb89c7b3c7..f465947955d4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config3.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "statement_context/source/onfail_clause_ctx_source3.bal", + "description": "", "items": [ { "label": "xmlns", @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -435,11 +436,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -459,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -483,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -659,11 +660,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -683,11 +684,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -707,11 +708,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -731,11 +732,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -764,11 +765,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config4.json index 9a747c7a57d6..516cd2d0a391 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config4.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "statement_context/source/onfail_clause_ctx_source4.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5.json index b8828f6e6eca..4bf20c5c99ba 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "statement_context/source/onfail_clause_ctx_source5.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5a.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5a.json index 8419376c453d..f481413bed72 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5a.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config5a.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "statement_context/source/onfail_clause_ctx_source5a.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -642,11 +643,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -666,11 +667,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -690,11 +691,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -714,11 +715,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -747,11 +748,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6.json index 97f979c5bbdd..ab17a3f2d6cc 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "statement_context/source/onfail_clause_ctx_source6.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -532,7 +533,7 @@ "documentation": { "right": { "kind": "markdown", - "value": "**Package:** _._ \n \n \n**Params** \n- `$CompilationError$` varToMatch" + "value": "**Package:** _._ \n \n \n**Params** \n- `` varToMatch" } }, "sortText": "C", @@ -646,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -670,11 +671,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -694,11 +695,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -718,11 +719,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -751,11 +752,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6a.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6a.json index 418af73ddee4..4672219172c4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6a.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/onfail_clause_ctx_config6a.json @@ -4,6 +4,7 @@ "character": 7 }, "source": "statement_context/source/onfail_clause_ctx_source6a.bal", + "description": "", "items": [ { "label": "xmlns", @@ -369,11 +370,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -393,11 +394,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -532,7 +533,7 @@ "documentation": { "right": { "kind": "markdown", - "value": "**Package:** _._ \n \n \n**Params** \n- `$CompilationError$` varToMatch" + "value": "**Package:** _._ \n \n \n**Params** \n- `` varToMatch" } }, "sortText": "C", @@ -646,11 +647,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -670,11 +671,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -694,11 +695,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -718,11 +719,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -751,11 +752,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config1.json index b19f24b189bf..758b96546353 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config1.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "statement_context/source/return_stmt_ctx_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -625,11 +626,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -649,11 +650,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -673,11 +674,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -697,11 +698,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -730,11 +731,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config12.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config12.json index 66ae48d1301b..960d6c376d6b 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config12.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "statement_context/source/return_stmt_ctx_source12.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -617,11 +618,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -641,11 +642,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -665,11 +666,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -689,11 +690,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -755,11 +756,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config13.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config13.json index 923fa42d0681..f52b771d7bd0 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config13.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config13.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "statement_context/source/return_stmt_ctx_source13.bal", + "description": "", "items": [ { "label": "xmlns", @@ -351,11 +352,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -375,11 +376,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -399,11 +400,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -423,11 +424,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -447,11 +448,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -617,11 +618,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -641,11 +642,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -665,11 +666,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -689,11 +690,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -755,11 +756,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config2.json index c2bf3d6f11fa..730d3c1a9ffb 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config2.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "statement_context/source/return_stmt_ctx_source2.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -625,11 +626,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -649,11 +650,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -673,11 +674,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -697,11 +698,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -763,11 +764,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config3.json index f46d0d7c6282..5b412ddcf34c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config3.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "statement_context/source/return_stmt_ctx_source3.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -624,11 +625,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -648,11 +649,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -672,11 +673,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -696,11 +697,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -729,11 +730,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config4.json index 505ec5bbf89b..732a546a44de 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config4.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "statement_context/source/return_stmt_ctx_source4.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -616,11 +617,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -721,11 +722,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config5.json index a6af548c1819..299598275ed4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/return_stmt_ctx_config5.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "statement_context/source/return_stmt_ctx_source5.bal", + "description": "", "items": [ { "label": "xmlns", @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -432,11 +433,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -456,11 +457,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -616,11 +617,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -640,11 +641,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -664,11 +665,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -688,11 +689,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -754,11 +755,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config1.json index 97200ddace8b..7cdef1b0de41 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config1.json @@ -4,6 +4,7 @@ "character": 12 }, "source": "statement_context/source/transaction_source1.bal", + "description": "", "items": [ { "label": "xmlns", @@ -378,11 +379,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -402,11 +403,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -426,11 +427,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -450,11 +451,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -474,11 +475,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -657,11 +658,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -681,11 +682,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -705,11 +706,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -729,11 +730,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -762,11 +763,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config2.json index 21f185eb4318..08ec88103ddb 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config2.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "statement_context/source/transaction_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -468,11 +469,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -492,11 +493,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -516,11 +517,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -540,11 +541,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -564,11 +565,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config3.json index 80f3f9bdf3f9..be40b2e65f22 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/transaction_config3.json @@ -4,6 +4,7 @@ "character": 18 }, "source": "statement_context/source/transaction_source3.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -468,11 +469,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -492,11 +493,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -516,11 +517,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -540,11 +541,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -564,11 +565,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config11.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config11.json index 5b3076fec98b..53615c1721d2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config11.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "statement_context/source/wait_action_ctx_source11.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -489,11 +490,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -513,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config12.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config12.json index 8dbd38b4d9cf..bb199ee630e2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/wait_action_ctx_config12.json @@ -4,6 +4,7 @@ "character": 12 }, "source": "statement_context/source/wait_action_ctx_source12.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -465,11 +466,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -489,11 +490,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -513,11 +514,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config3.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config3.json index 8383a8d0a702..76b5b9710caa 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config3.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "statement_context/source/xmlns_ctx_source3.bal", + "description": "", "items": [ { "label": "CONST1", @@ -40,11 +41,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -64,11 +65,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -88,11 +89,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -112,11 +113,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -136,11 +137,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +201,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config4.json index f2e94ed23594..9906ab862843 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/statement_context/config/xmlns_ctx_config4.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "statement_context/source/xmlns_ctx_source4.bal", + "description": "", "items": [ { "label": "CONST1", @@ -40,11 +41,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -64,11 +65,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -88,11 +89,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -112,11 +113,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -136,11 +137,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -200,11 +201,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config4.json b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config4.json index c04ab450f30b..1e6e9851b5d5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config4.json @@ -4,6 +4,7 @@ "character": 34 }, "source": "template_expression/source/string_template_expression_source4.bal", + "description": "", "items": [ { "label": "error constructor", @@ -115,11 +116,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +140,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -163,11 +164,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -187,11 +188,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -211,11 +212,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -486,11 +487,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -510,11 +511,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -534,11 +535,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -558,11 +559,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -582,11 +583,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config5.json b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config5.json index 6a32596ca36e..8366deac47c2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/string_template_expression_config5.json @@ -4,6 +4,7 @@ "character": 35 }, "source": "template_expression/source/string_template_expression_source5.bal", + "description": "", "items": [ { "label": "error constructor", @@ -115,11 +116,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +140,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -163,11 +164,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -187,11 +188,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -211,11 +212,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -486,11 +487,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -510,11 +511,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -534,11 +535,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -558,11 +559,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -582,11 +583,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config1.json index f92db43b1afb..39d1177f72af 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config1.json @@ -4,6 +4,7 @@ "character": 41 }, "source": "template_expression/source/xml_template_expression_source1.bal", + "description": "", "items": [ { "label": "error constructor", @@ -115,11 +116,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +140,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -163,11 +164,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -187,11 +188,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -211,11 +212,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -516,11 +517,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -540,11 +541,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -564,11 +565,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -588,11 +589,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -612,11 +613,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config2.json index 36ff2c72e68c..4033e08b2822 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/template_expression/config/xml_template_expression_config2.json @@ -4,6 +4,7 @@ "character": 42 }, "source": "template_expression/source/xml_template_expression_source2.bal", + "description": "", "items": [ { "label": "error constructor", @@ -115,11 +116,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -139,11 +140,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -163,11 +164,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -187,11 +188,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -211,11 +212,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -516,11 +517,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -540,11 +541,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -564,11 +565,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -588,11 +589,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -612,11 +613,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config1.json b/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config1.json index ea19b5098299..6a35b985a974 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config1.json @@ -4,6 +4,7 @@ "character": 22 }, "source": "type_def/source/source1.bal", + "description": "", "items": [ { "label": "TestEnum", @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -245,11 +246,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -408,11 +409,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -441,11 +442,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config2.json b/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config2.json index 7d5ebf43a65f..10be4bbc5dad 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/type_def/config/config2.json @@ -4,6 +4,7 @@ "character": 23 }, "source": "type_def/source/source2.bal", + "description": "", "items": [ { "label": "TestEnum", @@ -141,11 +142,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -328,11 +329,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -352,11 +353,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -376,11 +377,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +401,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -466,11 +467,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/array_typedesc5.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/array_typedesc5.json index d6b976e0640f..31c40bc02c22 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/array_typedesc5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/array_typedesc5.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "typedesc_context/source/array_typedesc5.bal", + "description": "", "items": [ { "label": "xmlns", @@ -376,11 +377,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -400,11 +401,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -424,11 +425,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -448,11 +449,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -472,11 +473,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -655,11 +656,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -679,11 +680,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -703,11 +704,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -727,11 +728,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -776,11 +777,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc1.json index 38498ec68958..505d27161f27 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc1.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "typedesc_context/source/distinct_typedesc1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -243,11 +244,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc2.json index c6013febd0dd..ad9763047c63 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/distinct_typedesc2.json @@ -4,6 +4,7 @@ "character": 28 }, "source": "typedesc_context/source/distinct_typedesc2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -243,11 +244,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -267,11 +268,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -291,11 +292,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -315,11 +316,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc1.json index 238866c181a1..5cb70bfc980f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc1.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "typedesc_context/source/error_typedesc1.bal", + "description": "", "items": [ { "label": "record {}", @@ -87,11 +88,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +112,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +136,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +160,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -183,11 +184,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +248,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +272,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +296,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +320,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -343,11 +344,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc2.json index 777e34cb93b4..d5cc37741e22 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc2.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "typedesc_context/source/error_typedesc2.bal", + "description": "", "items": [ { "label": "record {}", @@ -87,11 +88,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +112,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +136,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +160,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -183,11 +184,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +248,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +272,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +296,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +320,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -343,11 +344,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc5.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc5.json index c4c8a83e0a5d..bdf7075e632f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/error_typedesc5.json @@ -4,6 +4,7 @@ "character": 12 }, "source": "typedesc_context/source/error_typedesc5.bal", + "description": "", "items": [ { "label": "record {}", @@ -87,11 +88,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +112,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +136,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +160,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -183,11 +184,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -247,11 +248,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -271,11 +272,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -295,11 +296,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -319,11 +320,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -343,11 +344,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc1.json index 91e346f45891..764974257757 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc1.json @@ -4,6 +4,7 @@ "character": 31 }, "source": "typedesc_context/source/function_typedesc1.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -165,11 +166,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -189,11 +190,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -213,11 +214,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -237,11 +238,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -261,11 +262,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -325,11 +326,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -349,11 +350,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -373,11 +374,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -397,11 +398,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -430,11 +431,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc12.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc12.json index e28ba03075b4..8c8e6de6b8d1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc12.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc12.json @@ -4,6 +4,7 @@ "character": 13 }, "source": "typedesc_context/source/function_typedesc12.bal", + "description": "", "items": [ { "label": "TestMap2", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15.json index 5bd1b6b65b2c..60c1c6312a4e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15.json @@ -4,6 +4,7 @@ "character": 35 }, "source": "typedesc_context/source/function_typedesc15.bal", + "description": "", "items": [ { "label": "TestMap2", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -344,11 +345,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -368,11 +369,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -449,11 +450,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15a.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15a.json index 4193e12331c4..cc35b2c0c2a2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15a.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15a.json @@ -63,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -87,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -498,11 +498,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -522,11 +522,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -546,11 +546,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -570,11 +570,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -594,11 +594,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15b.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15b.json index a7ef0369d066..a25869cb7c01 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15b.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc15b.json @@ -63,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -87,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -498,11 +498,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -522,11 +522,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -546,11 +546,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -570,11 +570,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -594,11 +594,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc3.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc3.json index 4c5056df5184..c1fcea4d8e1f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc3.json @@ -4,6 +4,7 @@ "character": 32 }, "source": "typedesc_context/source/function_typedesc3.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -430,11 +431,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc4.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc4.json index d59158d9a556..e195ac008d95 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc4.json @@ -4,6 +4,7 @@ "character": 36 }, "source": "typedesc_context/source/function_typedesc4.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -430,11 +431,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc5.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc5.json index c77b706d89a3..d6d1be552f60 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc5.json @@ -4,6 +4,7 @@ "character": 37 }, "source": "typedesc_context/source/function_typedesc5.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -430,11 +431,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc8.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc8.json index acc7389ac74f..92edf5db15be 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc8.json @@ -4,6 +4,7 @@ "character": 52 }, "source": "typedesc_context/source/function_typedesc8.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -344,11 +345,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -368,11 +369,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -457,11 +458,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc9.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc9.json index f9145e42b856..d8189862f04d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/function_typedesc9.json @@ -4,6 +4,7 @@ "character": 53 }, "source": "typedesc_context/source/function_typedesc9.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -344,11 +345,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -368,11 +369,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -392,11 +393,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -416,11 +417,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -457,11 +458,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/future_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/future_typedesc1.json index 299c9d5ca095..fd6ab462f9d5 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/future_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/future_typedesc1.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "typedesc_context/source/future_typedesc1.bal", + "description": "", "items": [ { "label": "TestMap3", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc1.json index 201538c2d18c..fb7bdb4be6db 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc1.json @@ -4,6 +4,7 @@ "character": 33 }, "source": "typedesc_context/source/intersection_type_typedesc1.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc2.json index 3f18767913b4..7a01424e1ca6 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/intersection_type_typedesc2.json @@ -4,6 +4,7 @@ "character": 34 }, "source": "typedesc_context/source/intersection_type_typedesc2.bal", + "description": "", "items": [ { "label": "TestRecord1", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc1.json index a8d5faee3762..38bdf8210a9f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc1.json @@ -4,6 +4,7 @@ "character": 8 }, "source": "typedesc_context/source/map_typedesc1.bal", + "description": "", "items": [ { "label": "TEST_CONST", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc2.json index d9b50fc08d2e..f2ea2d06c073 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/map_typedesc2.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "typedesc_context/source/map_typedesc2.bal", + "description": "", "items": [ { "label": "TEST_CONST", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc11.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc11.json index 18da1058c7a5..1b555dfaba5e 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc11.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc11.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "typedesc_context/source/object_typedesc11.bal", + "description": "", "items": [ { "label": "ObjectName", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +313,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +337,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -360,11 +361,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -384,11 +385,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -417,11 +418,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc3.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc3.json index bf5f1bde57af..7e14c4a4c674 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc3.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc3.json @@ -4,6 +4,7 @@ "character": 4 }, "source": "typedesc_context/source/object_typedesc3.bal", + "description": "", "items": [ { "label": "public", @@ -179,11 +180,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -444,11 +445,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc4.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc4.json index a3dc911de26f..faca70036299 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc4.json @@ -4,6 +4,7 @@ "character": 5 }, "source": "typedesc_context/source/object_typedesc4.bal", + "description": "", "items": [ { "label": "public", @@ -179,11 +180,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -444,11 +445,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc5.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc5.json index 37f8007bc8bc..e13c1fab5e18 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc5.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "typedesc_context/source/object_typedesc5.bal", + "description": "", "items": [ { "label": "public", @@ -179,11 +180,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -444,11 +445,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc6.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc6.json index 9154d2614184..bdb5babcf6fe 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc6.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc6.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "typedesc_context/source/object_typedesc6.bal", + "description": "", "items": [ { "label": "public", @@ -179,11 +180,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -444,11 +445,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc7.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc7.json index 2041fea73e2c..d5e8ffed51e2 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc7.json @@ -4,6 +4,7 @@ "character": 25 }, "source": "typedesc_context/source/object_typedesc7.bal", + "description": "", "items": [ { "label": "public", @@ -179,11 +180,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -444,11 +445,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc8.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc8.json index cbe848035d70..bf7cb6ebc9ef 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/object_typedesc8.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "typedesc_context/source/object_typedesc8.bal", + "description": "", "items": [ { "label": "public", @@ -179,11 +180,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -203,11 +204,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -227,11 +228,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -251,11 +252,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -275,11 +276,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -339,11 +340,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -363,11 +364,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -387,11 +388,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -411,11 +412,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -444,11 +445,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc1.json index 303b085cbdf3..8296014082db 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc1.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "typedesc_context/source/stream_typedesc1.bal", + "description": "", "items": [ { "label": "TestMap3", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc4.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc4.json index e460eeca1b1e..4514cd2ef980 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc4.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/stream_typedesc4.json @@ -4,6 +4,7 @@ "character": 15 }, "source": "typedesc_context/source/stream_typedesc4.bal", + "description": "", "items": [ { "label": "TestMap3", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc1.json index 56ed8dfda7cf..791d81d5ed6c 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc1.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "typedesc_context/source/table_typedesc1.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -320,11 +321,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc10.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc10.json index 0ed7c50aadf3..70314e8b16c7 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc10.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc10.json @@ -4,6 +4,7 @@ "character": 21 }, "source": "typedesc_context/source/table_typedesc10.bal", + "description": "", "items": [ { "label": "EmployeeId", @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -277,11 +278,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -413,11 +414,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -446,11 +447,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc2.json index 80be0fb65cdf..1012bdf980d3 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/table_typedesc2.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "typedesc_context/source/table_typedesc2.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -224,11 +225,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -248,11 +249,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -272,11 +273,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -296,11 +297,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -320,11 +321,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc1.json index 20055222dd48..f2a813c0df70 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc1.json @@ -4,6 +4,7 @@ "character": 6 }, "source": "typedesc_context/source/tuple_typedesc1.bal", + "description": "", "items": [ { "label": "StrandData", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc2.json index bd8a11defda8..f05e17cb252a 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc2.json @@ -4,6 +4,7 @@ "character": 10 }, "source": "typedesc_context/source/tuple_typedesc2.bal", + "description": "", "items": [ { "label": "StrandData", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc5.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc5.json index 4c8f372b1e51..828b9ff2f77d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc5.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/tuple_typedesc5.json @@ -4,6 +4,7 @@ "character": 17 }, "source": "typedesc_context/source/tuple_typedesc5.bal", + "description": "", "items": [ { "label": "StrandData", @@ -125,11 +126,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -149,11 +150,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -173,11 +174,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -197,11 +198,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -221,11 +222,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -285,11 +286,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -309,11 +310,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -333,11 +334,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -357,11 +358,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -390,11 +391,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc1.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc1.json index 331a381df678..284f6f58e86f 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc1.json @@ -4,6 +4,7 @@ "character": 9 }, "source": "typedesc_context/source/union_typedesc1.bal", + "description": "", "items": [ { "label": "TestMap2", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -422,11 +423,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc2.json b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc2.json index 25635709bef3..c2138a9022da 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/typedesc_context/config/union_typedesc2.json @@ -4,6 +4,7 @@ "character": 11 }, "source": "typedesc_context/source/union_typedesc2.bal", + "description": "", "items": [ { "label": "TestMap2", @@ -157,11 +158,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -181,11 +182,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -205,11 +206,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -229,11 +230,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -253,11 +254,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -317,11 +318,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -341,11 +342,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -365,11 +366,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -389,11 +390,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -490,11 +491,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config1.json index 24f0f7c10ba1..e2a0dc4fa7f4 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config1.json @@ -4,6 +4,7 @@ "character": 14 }, "source": "variable-declaration/source/lsproject/main.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -182,11 +183,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -547,11 +548,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -571,11 +572,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -595,11 +596,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -619,11 +620,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -643,11 +644,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config2.json index 7854b58bad3c..135f6f926d85 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/project_var_def_ctx_config2.json @@ -4,6 +4,7 @@ "character": 27 }, "source": "variable-declaration/source/lsproject/main.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -182,11 +183,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -555,11 +556,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -579,11 +580,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -603,11 +604,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -627,11 +628,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -651,11 +652,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config1.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config1.json index dfcfe90f0533..b09e8e0d5aa1 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config1.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config1.json @@ -4,6 +4,7 @@ "character": 12 }, "source": "variable-declaration/source/var_def_ctx_source1.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -459,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -483,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -507,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -531,11 +532,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -555,11 +556,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config2.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config2.json index 0ee35e062bd5..da34e7196b79 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config2.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config2.json @@ -4,6 +4,7 @@ "character": 13 }, "source": "variable-declaration/source/var_def_ctx_source2.bal", + "description": "", "items": [ { "label": "start", @@ -62,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -86,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -110,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -134,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -158,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -459,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -483,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -507,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -531,11 +532,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -555,11 +556,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config7.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config7.json index 46bbe0b285b1..87fec939cedf 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config7.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config7.json @@ -63,11 +63,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -87,11 +87,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -111,11 +111,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -135,11 +135,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -159,11 +159,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -460,11 +460,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -484,11 +484,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -508,11 +508,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -532,11 +532,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -556,11 +556,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config8.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config8.json index b4a2dbaa3d3a..f5c65903322d 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config8.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config8.json @@ -4,6 +4,7 @@ "character": 38 }, "source": "variable-declaration/source/var_def_ctx_source8.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config9.json b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config9.json index 1ead73bbbaa6..778a949814cc 100644 --- a/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config9.json +++ b/language-server/modules/langserver-core/src/test/resources/completion/variable-declaration/config/var_def_ctx_config9.json @@ -4,6 +4,7 @@ "character": 39 }, "source": "variable-declaration/source/var_def_ctx_source9.bal", + "description": "", "items": [ { "label": "module1", @@ -26,11 +27,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -50,11 +51,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -74,11 +75,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -98,11 +99,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -122,11 +123,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -186,11 +187,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -210,11 +211,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -234,11 +235,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -258,11 +259,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -282,11 +283,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/Ballerina.toml new file mode 100644 index 000000000000..f460bc58c06c --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/Ballerina.toml @@ -0,0 +1,9 @@ +[package] +org = "ballerina" +name = "pkg1" +version = "2.1.0" +distribution = "2201.7.0" +export = ["pkg1", "pkg1.mod1"] + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/main.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/modules/mod1/mod1.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/modules/mod1/mod1.bal new file mode 100644 index 000000000000..7a0681e5344c --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg1/modules/mod1/mod1.bal @@ -0,0 +1,10 @@ +# Returns the string `Hello` with the input string name. +# +# + name - name as a string +# + return - "Hello, " with the input string name +public function hello(string name) returns string { + if !(name is "") { + return "Hello, " + name; + } + return "Hello, World!"; +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/Ballerina.toml new file mode 100644 index 000000000000..377acff969c3 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/Ballerina.toml @@ -0,0 +1,8 @@ +[package] +org = "ballerina" +name = "pkg2" +version = "0.1.0" +distribution = "2201.7.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/main.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/modules/mod1/mod1.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/modules/mod1/mod1.bal new file mode 100644 index 000000000000..7a0681e5344c --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/pkg2/modules/mod1/mod1.bal @@ -0,0 +1,10 @@ +# Returns the string `Hello` with the input string name. +# +# + name - name as a string +# + return - "Hello, " with the input string name +public function hello(string name) returns string { + if !(name is "") { + return "Hello, " + name; + } + return "Hello, World!"; +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/Ballerina.toml new file mode 100644 index 000000000000..76e73ce69c19 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/Ballerina.toml @@ -0,0 +1,8 @@ +[package] +org = "ballerina" +name = "x.y" +version = "0.1.0" +distribution = "2201.7.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/main.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/modules/mod1/mod1.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/modules/mod1/mod1.bal new file mode 100644 index 000000000000..7a0681e5344c --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/x.y/modules/mod1/mod1.bal @@ -0,0 +1,10 @@ +# Returns the string `Hello` with the input string name. +# +# + name - name as a string +# + return - "Hello, " with the input string name +public function hello(string name) returns string { + if !(name is "") { + return "Hello, " + name; + } + return "Hello, World!"; +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/x/Ballerina.toml b/language-server/modules/langserver-core/src/test/resources/local_projects/x/Ballerina.toml new file mode 100644 index 000000000000..723de2889bb8 --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/x/Ballerina.toml @@ -0,0 +1,8 @@ +[package] +org = "ballerina" +name = "x" +version = "0.1.0" +distribution = "2201.7.0" + +[build-options] +observabilityIncluded = false diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/x/main.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/x/main.bal new file mode 100644 index 000000000000..31e8785bf98f --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/x/main.bal @@ -0,0 +1,5 @@ +import ballerina/io; + +public function main() { + io:println("Hello, World!"); +} diff --git a/language-server/modules/langserver-core/src/test/resources/local_projects/x/modules/y/y.bal b/language-server/modules/langserver-core/src/test/resources/local_projects/x/modules/y/y.bal new file mode 100644 index 000000000000..7a0681e5344c --- /dev/null +++ b/language-server/modules/langserver-core/src/test/resources/local_projects/x/modules/y/y.bal @@ -0,0 +1,10 @@ +# Returns the string `Hello` with the input string name. +# +# + name - name as a string +# + return - "Hello, " with the input string name +public function hello(string name) returns string { + if !(name is "") { + return "Hello, " + name; + } + return "Hello, World!"; +} diff --git a/misc/maven-resolver/spotbugs-exclude.xml b/misc/maven-resolver/spotbugs-exclude.xml index e73b354e61d5..7b687f3ecf2e 100644 --- a/misc/maven-resolver/spotbugs-exclude.xml +++ b/misc/maven-resolver/spotbugs-exclude.xml @@ -2,4 +2,7 @@ + + + diff --git a/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/MavenResolverClient.java b/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/MavenResolverClient.java new file mode 100644 index 000000000000..0f5fb2b49351 --- /dev/null +++ b/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/MavenResolverClient.java @@ -0,0 +1,204 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.ballerinalang.maven.bala.client; + + +import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Writer; +import org.apache.maven.repository.internal.MavenRepositorySystemUtils; +import org.codehaus.plexus.util.IOUtil; +import org.codehaus.plexus.util.WriterFactory; +import org.eclipse.aether.DefaultRepositorySystemSession; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.artifact.Artifact; +import org.eclipse.aether.artifact.DefaultArtifact; +import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory; +import org.eclipse.aether.deployment.DeployRequest; +import org.eclipse.aether.deployment.DeploymentException; +import org.eclipse.aether.impl.DefaultServiceLocator; +import org.eclipse.aether.repository.Authentication; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.Proxy; +import org.eclipse.aether.repository.RemoteRepository; +import org.eclipse.aether.resolution.ArtifactRequest; +import org.eclipse.aether.resolution.ArtifactResolutionException; +import org.eclipse.aether.spi.connector.RepositoryConnectorFactory; +import org.eclipse.aether.spi.connector.transport.TransporterFactory; +import org.eclipse.aether.transport.file.FileTransporterFactory; +import org.eclipse.aether.transport.http.HttpTransporterFactory; +import org.eclipse.aether.util.artifact.SubArtifact; +import org.eclipse.aether.util.repository.AuthenticationBuilder; + +import java.io.File; +import java.io.IOException; +import java.io.Writer; +import java.nio.file.Path; + + +/** + * Maven bala dependency resolving. + * + * @since 2201.8.0 + */ + +public class MavenResolverClient { + public static final String PLATFORM = "platform"; + public static final String BALA_EXTENSION = "bala"; + public static final String POM = "pom"; + public static final String DEFAULT_REPO = "default"; + public static final String ARTIFACT_SEPERATOR = "-"; + RepositorySystem system; + DefaultRepositorySystemSession session; + + RemoteRepository.Builder repository; + + /** + * Resolver will be initialized to specified to location. + */ + public MavenResolverClient() { + DefaultServiceLocator locator = MavenRepositorySystemUtils.newServiceLocator(); + locator.addService(RepositoryConnectorFactory.class, BasicRepositoryConnectorFactory.class); + locator.addService(TransporterFactory.class, FileTransporterFactory.class); + locator.addService(TransporterFactory.class, HttpTransporterFactory.class); + system = locator.getService(RepositorySystem.class); + session = MavenRepositorySystemUtils.newSession(); + } + + /** + * Resolves provided artifact into resolver location. + * + * @param groupId group ID of the dependency + * @param artifactId artifact ID of the dependency + * @param version version of the dependency + * @throws MavenResolverClientException when specified dependency cannot be resolved + */ + public void pullPackage(String groupId, String artifactId, String version, String targetLocation) throws + MavenResolverClientException { + + LocalRepository localRepo = new LocalRepository(targetLocation); + session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); + Artifact artifact = new DefaultArtifact(groupId, artifactId, BALA_EXTENSION, version); + try { + session.setTransferListener(new TransferListenerForClient()); + ArtifactRequest artifactRequest = new ArtifactRequest(); + artifactRequest.setArtifact(artifact); + artifactRequest.addRepository(repository.build()); + system.resolveArtifact(session, artifactRequest); + } catch (ArtifactResolutionException e) { + throw new MavenResolverClientException(e.getMessage()); + } + } + + + /** + * Deploys provided artifact into the repository. + * @param balaPath path to the bala + * @param orgName organization name + * @param packageName package name + * @param version version of the package + * @throws MavenResolverClientException when deployment fails + */ + public void pushPackage(Path balaPath, String orgName, String packageName, String version, Path localRepoPath) + throws MavenResolverClientException { + LocalRepository localRepo = new LocalRepository(localRepoPath.toAbsolutePath().toString()); + session.setLocalRepositoryManager(system.newLocalRepositoryManager(session, localRepo)); + DeployRequest deployRequest = new DeployRequest(); + deployRequest.setRepository(this.repository.build()); + Artifact mainArtifact = new DefaultArtifact( + orgName, packageName, BALA_EXTENSION, version).setFile(balaPath.toFile()); + deployRequest.addArtifact(mainArtifact); + try { + File temporaryPom = generatePomFile(orgName, packageName, version); + deployRequest.addArtifact(new SubArtifact(mainArtifact, "", POM, temporaryPom)); + system.deploy(session, deployRequest); + } catch (DeploymentException | IOException e) { + throw new MavenResolverClientException(e.getMessage()); + } + } + + /** + * Specified repository will be added to remote repositories. + * + * @param id identifier of the repository + * @param url url of the repository + */ + public void addRepository(String id, String url) { + this.repository = new RemoteRepository.Builder(id, DEFAULT_REPO, url); + } + + /** + * Specified repository will be added to remote repositories. + * + * @param id identifier of the repository + * @param url url of the repository + * @param username username which has authentication access + * @param password password which has authentication access + */ + public void addRepository(String id, String url, String username, String password) { + Authentication authentication = + new AuthenticationBuilder() + .addUsername(username) + .addPassword(password) + .build(); + this.repository = new RemoteRepository.Builder(id, DEFAULT_REPO, url) + .setAuthentication(authentication); + } + + /** + * Proxy will be set to the repository. + * @param url url of the proxy + * @param port port of the proxy + * @param username username of the proxy + * @param password password of the proxy + */ + public void setProxy(String url, int port, String username, String password) { + if (url.isEmpty() || port == 0) { + return; + } + + Proxy proxy; + if ((!(username).isEmpty() && !(password).isEmpty())) { + Authentication authentication = + new AuthenticationBuilder() + .addUsername(username) + .addPassword(password) + .build(); + proxy = new Proxy(null, url, port, authentication); + } else { + proxy = new Proxy(null, url, port); + } + + this.repository.setProxy(proxy); + } + + private File generatePomFile(String groupId, String artifactId, String version) throws IOException { + Model model = new Model(); + model.setModelVersion("4.0.0"); + model.setGroupId(groupId); + model.setArtifactId(artifactId); + model.setVersion(version); + model.setPackaging(BALA_EXTENSION); + File tempFile = File.createTempFile(groupId + ARTIFACT_SEPERATOR + artifactId + ARTIFACT_SEPERATOR + + version, "." + POM); + tempFile.deleteOnExit(); + Writer fw = WriterFactory.newXmlWriter(tempFile); + new MavenXpp3Writer().write(fw, model); + fw.close(); + fw = null; + IOUtil.close(fw); + return tempFile; + } +} diff --git a/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/MavenResolverClientException.java b/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/MavenResolverClientException.java new file mode 100644 index 000000000000..eac7a294a156 --- /dev/null +++ b/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/MavenResolverClientException.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.ballerinalang.maven.bala.client; + +/** + * Indicate the errors thrown by the Maven resolver. + */ +public class MavenResolverClientException extends Exception { + + /** + * Constructs an MavenResolverClientException with the specified detail message. + * + * @param message the detail message + */ + public MavenResolverClientException(String message) { + super(message); + } + + /** + * Constructs a new exception with the specified detail message and cause. + * + * @param message the detail message + * @param cause the cause + */ + public MavenResolverClientException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/TransferListenerForClient.java b/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/TransferListenerForClient.java new file mode 100644 index 000000000000..4095d9957371 --- /dev/null +++ b/misc/maven-resolver/src/main/java/org/ballerinalang/maven/bala/client/TransferListenerForClient.java @@ -0,0 +1,78 @@ +/* + * Copyright (c) 2023, WSO2 LLC. (http://wso2.com). + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.ballerinalang.maven.bala.client; + +import me.tongfei.progressbar.ProgressBar; +import me.tongfei.progressbar.ProgressBarStyle; +import org.eclipse.aether.transfer.AbstractTransferListener; +import org.eclipse.aether.transfer.TransferEvent; +import org.eclipse.aether.transfer.TransferResource; + +import java.io.PrintStream; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +/** + * Progress bar implementation for Maven Resolver. + */ +public class TransferListenerForClient extends AbstractTransferListener { + private static final String BALA_EXTENSION = "bala"; + private PrintStream out; + private Map downloads = new ConcurrentHashMap<>(); + private Map progressBars = new ConcurrentHashMap<>(); + private Map progresses = new ConcurrentHashMap<>(); + + public TransferListenerForClient() { + this(System.out); + } + + public TransferListenerForClient(PrintStream out) { + this.out = out; + } + + @Override + public void transferProgressed(TransferEvent event) { + TransferResource resource = event.getResource(); + if (resource.getFile().getName().contains(BALA_EXTENSION)) { + downloads.put(resource, event.getTransferredBytes()); + for (Map.Entry entry : downloads.entrySet()) { + String currentResource = entry.getKey().getResourceName(); + // Each transitive dependency download be displayed in own progress bars + if (progressBars.get(currentResource) == null) { + String[] files = currentResource.split("/"); + progressBars.put(currentResource, new ProgressBar(files[files.length - 1], + getKB(entry.getKey().getContentLength()), 1000, out, ProgressBarStyle.ASCII, " KB", 1)); + } + long transferredLength = getKB(event.getTransferredBytes()); + Long previousStep = progresses.get(currentResource) == null ? 0L : progresses.get(currentResource); + progressBars.get(currentResource).stepBy(transferredLength - previousStep); + progresses.put(currentResource, transferredLength); + } + } + } + + @Override + public void transferSucceeded(TransferEvent event) { + TransferResource resource = event.getResource(); + if (resource.getFile().getName().contains(BALA_EXTENSION)) { + progressBars.get(resource.getResourceName()).close(); + } + } + + private long getKB(long bytes) { + return (bytes + 1023) / 1024; + } +} diff --git a/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BCompileUtil.java b/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BCompileUtil.java index 2595dbdd75e0..72905986706d 100644 --- a/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BCompileUtil.java +++ b/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BCompileUtil.java @@ -58,6 +58,8 @@ public class BCompileUtil { private static final Logger logger = LoggerFactory.getLogger(BCompileUtil.class); + private BCompileUtil() {} + public static Project loadProject(String sourceFilePath) { BuildOptions.BuildOptionsBuilder buildOptionsBuilder = BuildOptions.builder(); return loadProject(sourceFilePath, buildOptionsBuilder.build()); diff --git a/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BRunUtil.java b/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BRunUtil.java index 19a4dc140bfe..3be624a79cdb 100644 --- a/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BRunUtil.java +++ b/tests/ballerina-test-utils/src/main/java/org/ballerinalang/test/BRunUtil.java @@ -77,7 +77,7 @@ */ public class BRunUtil { - private static final Boolean isWindows = System.getProperty("os.name").toLowerCase(Locale.getDefault()) + private static final Boolean IS_WINDOWS = System.getProperty("os.name").toLowerCase(Locale.getDefault()) .contains("win"); /** @@ -242,11 +242,21 @@ private static String getClassName(String balFileName) { if (!balFileName.endsWith(".bal")) { return balFileName; } - return balFileName.substring(0, balFileName.length() - 4); } private static BIRNode.BIRFunction getInvokedFunction(CompileResult compileResult, String functionName) { + checkAndNotifyCompilationErrors(compileResult); + BIRNode.BIRPackage birPackage = compileResult.defaultModuleBIR(); + for (BIRNode.BIRFunction function : birPackage.functions) { + if (functionName.equals(function.name.value)) { + return function; + } + } + throw new RuntimeException("Function '" + functionName + "' is not defined"); + } + + private static void checkAndNotifyCompilationErrors(CompileResult compileResult) { if (compileResult.getErrorCount() > 0) { StringJoiner stringJoiner = new StringJoiner("\n", "\n", ""); for (Diagnostic diagnostic : compileResult.getDiagnostics()) { @@ -254,12 +264,6 @@ private static BIRNode.BIRFunction getInvokedFunction(CompileResult compileResul } throw new IllegalStateException("There were compilation errors: " + stringJoiner); } - - BIRNode.BIRPackage birPackage = compileResult.defaultModuleBIR(); - return birPackage.functions.stream() - .filter(function -> functionName.equals(function.name.value)) - .findFirst() - .orElseThrow(() -> new RuntimeException("Function '" + functionName + "' is not defined")); } /** @@ -296,6 +300,7 @@ public static ExitDetails run(CompileResult compileResult, String... args) { } public static ExitDetails run(CompileResult compileResult, List javaOpts, String... args) { + checkAndNotifyCompilationErrors(compileResult); PackageManifest packageManifest = compileResult.packageManifest(); String initClassName = JarResolver.getQualifiedClassName(packageManifest.org().toString(), packageManifest.name().toString(), @@ -317,7 +322,7 @@ public static ExitDetails run(CompileResult compileResult, List javaOpts String classPathString = System.getProperty("java.class.path") + classPath; // Create an argument file for Windows to mitigate the long classpath issue. - if (isWindows) { + if (IS_WINDOWS) { String classPathArgs = "classPathArgs"; try { File classPathArgsFile = File.createTempFile(classPathArgs, ".txt"); diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/action/start/StartActionTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/action/start/StartActionTest.java index 3036f725ab6e..08e3b060a65e 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/action/start/StartActionTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/action/start/StartActionTest.java @@ -68,6 +68,10 @@ public void testStartActionNegative() { BAssertUtil.validateError(result, indx++, "missing open parenthesis token", 97, 1); BAssertUtil.validateError(result, indx++, "missing semicolon token", 97, 1); BAssertUtil.validateError(result, indx++, "invalid expression in start action", 100, 11); + BAssertUtil.validateError(result, indx++, "invalid remote method call: expected a client object, " + + "but found 'int'", 106, 9); + BAssertUtil.validateError(result, indx++, "missing close parenthesis token", 106, 30); + BAssertUtil.validateError(result, indx++, "missing open parenthesis token", 106, 30); Assert.assertEquals(result.getErrorCount(), indx); } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/annotations/DeprecationAnnotationTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/annotations/DeprecationAnnotationTest.java index 9118b6c9c291..0701deda6649 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/annotations/DeprecationAnnotationTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/annotations/DeprecationAnnotationTest.java @@ -67,7 +67,13 @@ public void testDeprecationAnnotation() { BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Object3.fieldOne' is deprecated", 194, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Object3.t' is deprecated", 195, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'add1' is deprecated", 200, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x' is deprecated", 200, 18); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'y' is deprecated", 200, 21); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'z' is deprecated", 200, 24); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'add2' is deprecated", 201, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x' is deprecated", 201, 18); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'y' is deprecated", 201, 21); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'z' is deprecated", 201, 24); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Object1' is deprecated", 202, 5); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'z' is deprecated", 213, 13); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Foo' is deprecated", 216, 38); @@ -86,20 +92,61 @@ public void testDeprecationAnnotation() { BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Person.name' is deprecated", 287, 16); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Person.getName' is deprecated", 288, 16); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'myFunction' is deprecated", 298, 5); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee.name' is deprecated", 316, 26); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee.job' is deprecated", 316, 49); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experience' is deprecated", 316, 68); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee.name' is deprecated", 317, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee.job' is deprecated", 319, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee.job' is deprecated", 320, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee.job' is deprecated", 321, 9); - BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experiance' is deprecated", 321, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experience' is deprecated", 321, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee2.name' is deprecated", 343, 28); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee2.job' is deprecated", 343, 51); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experience' is deprecated", 343, 70); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee2.name' is deprecated", 344, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee2.job' is deprecated", 346, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'name' is deprecated", 354, 17); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'name' is deprecated", 357, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'name' is deprecated", 370, 17); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'name' is deprecated", 373, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee5.address' is deprecated", + 393, 28); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee5.address' is deprecated", 394, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Employee5.address' is deprecated", 395, 9); BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'line02' is deprecated", 395, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experience' is deprecated", 414, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experience' is deprecated", 420, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Job.experience' is deprecated", 426, 12); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Company.name' is deprecated", 433, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Company.city' is deprecated", 434, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Company.country' is deprecated", 435, 12); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 458, 15); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 459, 15); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 460, 20); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Company.city' is deprecated", 463, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Company.country' is deprecated", 464, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'Company.name' is deprecated", 465, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'city' is deprecated", 470, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'country' is deprecated", 471, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'name' is deprecated", 472, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'b' is deprecated", 476, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'c' is deprecated", 477, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'c' is deprecated", 478, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'c' is deprecated", 479, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'y1' is deprecated", 482, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'y2' is deprecated", 483, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'y1' is deprecated", 486, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'y2' is deprecated", 487, 9); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'age' is deprecated", 493, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 499, 11); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 502, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 509, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'x2' is deprecated", 516, 16); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'b' is deprecated", 523, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'c' is deprecated", 524, 13); + BAssertUtil.validateWarning(compileResult, i++, "usage of construct 'c' is deprecated", 525, 13); Assert.assertEquals(compileResult.getWarnCount(), i); } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/FieldAccessTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/FieldAccessTest.java index cf07af6d528e..1ffa1a276409 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/FieldAccessTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/FieldAccessTest.java @@ -139,6 +139,21 @@ public void testNegativeCases() { "expression", 375, 15); validateError(negativeResult, i++, "'remote' methods of an object cannot be accessed using the field access " + "expression", 377, 15); + validateError(negativeResult, i++, "invalid operation: type 'map' does not support field access" + , 382, 19); + validateError(negativeResult, i++, "invalid operation: type 'map' does not support field access" + , 387, 19); + validateError(negativeResult, i++, "invalid operation: type 'map' does not support field access" + , 393, 19); + validateError(negativeResult, i++, "invalid operation: type 'map<(xml|json)>' does not support field access" + , 399, 24); + validateError(negativeResult, i++, "invalid operation: type 'map' does not support " + + "optional field access", 404, 13); + validateError(negativeResult, i++, "invalid operation: type 'map' does not support " + + "optional field access", 409, 14); + validateError(negativeResult, i++, "invalid operation: type 'map' does not support " + + "optional field access", 414, 13); + Assert.assertEquals(negativeResult.getErrorCount(), i); } @@ -290,6 +305,11 @@ public void testAccessingMethodOnUnionObjectType() { BRunUtil.invoke(result, "testAccessingMethodOnUnionObjectType"); } + @Test + public void testValidXMLmapFieldAccess() { + BRunUtil.invoke(result, "testValidXMLmapFieldAccess"); + } + @Test(dataProvider = "fieldAccessOnJsonTypedRecordFields") public void testFieldAccessOnJsonTypedRecordFields(String function) { BRunUtil.invoke(result, function); diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/MemberAccessTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/MemberAccessTest.java index d681b9ac09ab..6ed683b0416e 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/MemberAccessTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/MemberAccessTest.java @@ -231,6 +231,18 @@ public void testNegativeCases() { 374, 16); validateError(negativeResult, i++, "incompatible types: expected 'boolean', found 'int'", 377, 17); + validateError(negativeResult, i++, "incompatible types: expected 'string', found '(string|int)'", + 388, 7); + validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|float)'", + 392, 9); + validateError(negativeResult, i++, "incompatible types: expected 'int', found '(string|int)'", + 396, 9); + validateError(negativeResult, i++, "incompatible types: expected 'int', found 'StrOrInt1'", + 399, 9); + validateError(negativeResult, i++, "incompatible types: expected 'int', found '(string|int)'", + 403, 7); + validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|Str)'", + 406, 7); Assert.assertEquals(negativeResult.getErrorCount(), i); } @@ -531,6 +543,11 @@ public void testNestedMemberAccessOnIntersectionTypes() { BRunUtil.invoke(result, "testNestedMemberAccessOnIntersectionTypes"); } + @Test + public void testMemberAccessWithUnionTypedIndexExpr() { + BRunUtil.invoke(result, "testMemberAccessWithUnionTypedIndexExpr"); + } + @AfterClass public void tearDown() { result = null; diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/OptionalFieldAccessTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/OptionalFieldAccessTest.java index fd044f6816d2..e99424a48d36 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/OptionalFieldAccessTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/expressions/access/OptionalFieldAccessTest.java @@ -60,6 +60,8 @@ public void testNegativeCases() { "access", 58, 14); validateError(negativeResult, i++, "invalid operation: type 'map?' does not support optional field " + "access", 61, 19); + validateError(negativeResult, i++, "invalid operation: type '(map|map)' does not support" + + " optional field access", 65, 20); validateError(negativeResult, i++, "incompatible types: expected 'json', found '(json|error)'", 71, 15); validateError(negativeResult, i++, "invalid operation: type 'Qux' does not support optional field access", 87 , 9); diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/jvm/CodegenErrorsTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/jvm/CodegenErrorsTest.java index 7d261488af00..92e5cef032ed 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/jvm/CodegenErrorsTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/jvm/CodegenErrorsTest.java @@ -22,6 +22,7 @@ import org.ballerinalang.test.BRunUtil; import org.ballerinalang.test.CompileResult; import org.testng.Assert; +import org.testng.annotations.BeforeGroups; import org.testng.annotations.Test; /** @@ -32,6 +33,10 @@ @Test public class CodegenErrorsTest { + private CompileResult testLargeMethodsResult = null; + private CompileResult testLargeMethods2Result = null; + private CompileResult testLargeMethods3Result = null; + @Test public void testTooLargeMethod() { CompileResult result = BCompileUtil.compile("test-src/jvm/too-large-method.bal"); @@ -68,16 +73,34 @@ public void testTooLargeProject() { BRunUtil.invoke(result, "main"); } - @Test + @BeforeGroups("TestLargeMethods") + public void beforeTestLargeMethods() { + testLargeMethodsResult = BCompileUtil.compile("test-src/jvm/largeMethods"); + } + + @Test(groups = {"TestLargeMethods"}) public void testLargeMethods() { - CompileResult result = BCompileUtil.compile("test-src/jvm/largeMethods"); - BRunUtil.invoke(result, "main"); + BRunUtil.invoke(testLargeMethodsResult, "main"); + } + + @BeforeGroups("TestLargeMethods2") + public void beforeTestLargeMethods2() { + testLargeMethods2Result = BCompileUtil.compile("test-src/jvm/largeMethods2"); } - @Test (enabled = false) + @Test(groups = {"TestLargeMethods2"}) public void testLargeMethods2() { - CompileResult result = BCompileUtil.compile("test-src/jvm/largeMethods2"); - BRunUtil.invoke(result, "main"); + BRunUtil.invoke(testLargeMethods2Result, "main"); + } + + @BeforeGroups("TestLargeMethods3") + public void beforeTestLargeMethods3() { + testLargeMethods3Result = BCompileUtil.compile("test-src/jvm/largeMethods3"); + } + + @Test(groups = {"TestLargeMethods3"}) + public void testLargeMethods3() { + BRunUtil.runMain(testLargeMethods3Result); } @Test diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/object/ObjectTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/object/ObjectTest.java index 977899efe4f7..0cf5c126f0d0 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/object/ObjectTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/object/ObjectTest.java @@ -47,11 +47,13 @@ public class ObjectTest { private CompileResult checkInInitializerResult; private CompileResult checkFunctionReferencesResult; + private CompileResult checkObjectWithDefaultValuesResult; @BeforeClass public void setUp() { checkInInitializerResult = BCompileUtil.compile("test-src/object/object_field_initializer_with_check.bal"); checkFunctionReferencesResult = BCompileUtil.compile("test-src/object/object_function_pointer.bal"); + checkObjectWithDefaultValuesResult = BCompileUtil.compile("test-src/object/object-with-defaultable-field.bal"); } @Test(description = "Test Basic object as struct") @@ -127,8 +129,7 @@ public void testObjectWithSimpleInit() { @Test(description = "Test object with defaultable field in init function") public void testObjectWithDefaultableField() { - CompileResult compileResult = BCompileUtil.compile("test-src/object/object-with-defaultable-field.bal"); - BArray returns = (BArray) BRunUtil.invoke(compileResult, "testObjectWithSimpleInit"); + BArray returns = (BArray) BRunUtil.invoke(checkObjectWithDefaultValuesResult, "testObjectWithSimpleInit"); Assert.assertEquals(returns.size(), 4); Assert.assertSame(returns.get(0).getClass(), Long.class); @@ -941,6 +942,16 @@ public void testNonPublicSymbolsWarningInServiceClass() { Assert.assertEquals(result.getDiagnostics().length, 0); } + @Test + public void testClassWithModuleLevelVarAsDefaultValue() { + BRunUtil.invoke(checkObjectWithDefaultValuesResult, "testClassWithModuleLevelVarAsDefaultValue"); + } + + @Test + public void testObjectConstructorWithModuleLevelVarAsDefaultValue() { + BRunUtil.invoke(checkObjectWithDefaultValuesResult, "testObjectConstructorWithModuleLevelVarAsDefaultValue"); + } + @AfterClass public void tearDown() { checkFunctionReferencesResult = null; diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/CollectClauseTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/CollectClauseTest.java index aaec2acc4ae5..92b310f86261 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/CollectClauseTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/CollectClauseTest.java @@ -56,7 +56,8 @@ public Object[] dataToTestCollectClause() { "testGroupByAndCollectInSameQuery", "testMultipleCollect", "testDoClause", - "testErrorSeq" + "testErrorSeq", + "testErrorCompletion" }; } @@ -138,6 +139,16 @@ public void testNegativeCases() { "list constructor or function invocation", 150, 42); BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + "'([int,int...]|record {| int n; |})', found '[int...]'", 154, 36); + BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|error)'", + 181, 17); + BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|error)'", + 186, 17); + BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|error)'", + 190, 21); + BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|error)'", + 196, 25); + BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected 'int', found '(int|error)'", + 203, 25); Assert.assertEquals(negativeResult.getErrorCount(), i); } } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/QueryActionOrExprTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/QueryActionOrExprTest.java index c9f126faba86..41f751eb47a6 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/QueryActionOrExprTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/query/QueryActionOrExprTest.java @@ -100,22 +100,12 @@ public void testQueryActionOrExprSemanticsNegative() { 30, 24); validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 39, 23); validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 42, 24); - validateError(negativeResult, i++, "async send action not yet supported as expression", 51, 27); - validateError(negativeResult, i++, "async send action not yet supported as expression", 52, 25); - validateError(negativeResult, i++, "async send action not yet supported as expression", 53, 20); - validateError(negativeResult, i++, "async send action not yet supported as expression", 61, 27); - validateError(negativeResult, i++, "async send action not yet supported as expression", 62, 25); - validateError(negativeResult, i++, "async send action not yet supported as expression", 63, 20); + validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 51, 27); + validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 61, 27); validateError(negativeResult, i++, "incompatible types: expected 'other', found 'int'", 71, 18); - validateError(negativeResult, i++, "async send action not yet supported as expression", 71, 27); - validateError(negativeResult, i++, "async send action not yet supported as expression", 72, 25); - validateError(negativeResult, i++, "async send action not yet supported as expression", 74, 20); - validateError(negativeResult, i++, "async send action not yet supported as expression", 82, 27); - validateError(negativeResult, i++, "async send action not yet supported as expression", 83, 25); - validateError(negativeResult, i++, "async send action not yet supported as expression", 85, 20); - validateError(negativeResult, i++, "async send action not yet supported as expression", 93, 27); - validateError(negativeResult, i++, "async send action not yet supported as expression", 94, 25); - validateError(negativeResult, i++, "async send action not yet supported as expression", 96, 20); + validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 71, 27); + validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 82, 27); + validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 93, 27); validateError(negativeResult, i++, "incompatible types: '()' is not an iterable collection", 133, 27); validateError(negativeResult, i++, "incompatible types: 'other' is not an iterable collection", 151, 27); validateError(negativeResult, i++, "invalid usage of receive expression, var not allowed", 151, 27); @@ -189,6 +179,10 @@ public void testQueryActionOrExprCodeAnalysisNegative() { "statement in a worker", 133, 25); validateError(negativeResult, i++, "invalid worker receive statement position, must be a top level " + "statement in a worker", 135, 20); + validateError(negativeResult, i++, "worker send statement position not supported yet, " + + "must be a top level statement in a worker", 164, 20); + validateError(negativeResult, i++, "worker send statement position not supported yet, " + + "must be a top level statement in a worker", 175, 26); Assert.assertEquals(negativeResult.getErrorCount(), i); } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/record/RecordAssignabilityTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/record/RecordAssignabilityTest.java index 1e52e6487b59..f985d7c68353 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/record/RecordAssignabilityTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/record/RecordAssignabilityTest.java @@ -17,11 +17,13 @@ */ package org.ballerinalang.test.record; -import org.ballerinalang.test.BAssertUtil; import org.ballerinalang.test.BCompileUtil; +import org.ballerinalang.test.BRunUtil; import org.ballerinalang.test.CompileResult; +import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import static org.ballerinalang.test.BAssertUtil.validateError; import static org.testng.Assert.assertEquals; /** @@ -29,46 +31,68 @@ */ public class RecordAssignabilityTest { + private final CompileResult result = BCompileUtil.compile("test-src/record/record_assignability.bal"); + + @DataProvider + public static Object[] recordAssignabilityTestFunctions() { + return new String[]{ + "testOpenRecordToRecordWithOptionalFieldTypingRuntimeNegative", + "testRecordToRecordWithOptionalFieldTypingRuntimePositive" + }; + } + + @Test(dataProvider = "recordAssignabilityTestFunctions") + public void testRecordAssignability(String testFunction) { + BRunUtil.invoke(result, testFunction); + } + @Test public void testRecordAssignabilityNegative() { CompileResult negativeResult = BCompileUtil.compile("test-src/record/record_assignability_negative.bal"); int i = 0; - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string) b; anydata...; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean) b; anydata...; |}'", 19, 55); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string) b; anydata...; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean) b; anydata...; |}'", 20, 54); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'(boolean|string|int|record {| (boolean|int) b; anydata...; |})'," + " found '(boolean|string|int|record {| (boolean|string) b; anydata...; |})'", 23, 53); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'(boolean|string|int|record {| (boolean|int) b; anydata...; |})'," + " found '(boolean|string|int|record {| (boolean|string) b; anydata...; |})'", 24, 52); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string) b; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean) b; |}'", 29, 57); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string) b; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean) b; |}'", 30, 56); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string)...; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean)...; |}'", 33, 58); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string)...; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean)...; |}'", 34, 57); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string) b; (int|string)...; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean) b; (int|boolean)...; |}'", 37, 72); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'record {| (int|string|boolean) a; (int|string) b; (int|string)...; |}'," + " found 'record {| (int|string|boolean) a; (int|boolean) b; (int|boolean)...; |}'", 38, 71); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'(boolean|string|int|record {| (boolean|int) b; |})'," + " found '(boolean|string|int|record {| (boolean|string) b; |})'", 41, 55); - BAssertUtil.validateError(negativeResult, i++, "incompatible types: expected " + + validateError(negativeResult, i++, "incompatible types: expected " + "'(boolean|string|int|record {| (boolean|int) b; |})'," + " found '(boolean|string|int|record {| (boolean|string) b; |})'", 42, 54); + validateError(negativeResult, i++, "incompatible types: expected 'R1', found 'R2'", 60, 12); + validateError(negativeResult, i++, "incompatible types: expected 'R1', found 'record {| (int|string)...; |}'", + 63, 12); + validateError(negativeResult, i++, "incompatible types: expected 'R1', found 'record {| int...; |}'", 66, 12); + validateError(negativeResult, i++, "incompatible types: expected 'R3', found 'record {| int...; |}'", 67, 12); + validateError(negativeResult, i++, "incompatible types: expected 'record {| int a?; int b; anydata...; |}', " + + "found 'record {| readonly int? b; int...; |}'", 70, 33); assertEquals(negativeResult.getErrorCount(), i); } } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/ifelse/IfElseStmtTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/ifelse/IfElseStmtTest.java index a1aae88fa785..5cf4dcf4a5d2 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/ifelse/IfElseStmtTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/ifelse/IfElseStmtTest.java @@ -27,6 +27,7 @@ import org.testng.Assert; import org.testng.annotations.AfterClass; import org.testng.annotations.BeforeClass; +import org.testng.annotations.DataProvider; import org.testng.annotations.Test; /** @@ -287,6 +288,21 @@ public void ifStmtTypeNarrowingTest() { Assert.assertEquals(returns.toString(), "ballerina"); } + @Test(dataProvider = "dataToTestSymbolsInIfElseStmt") + public void testSymbolsInIfElseStmt(String functionName) { + BRunUtil.invoke(result, functionName); + } + + @DataProvider + public Object[] dataToTestSymbolsInIfElseStmt() { + return new Object[]{ + "testSymbolsInIfElse1", + "testSymbolsInIfElse2", + "testSymbolsInIfElse3", + "testSymbolsInIfElse4" + }; + } + @AfterClass public void tearDown() { result = null; diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/onfail/OnFailClauseTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/onfail/OnFailClauseTest.java index c5a389b1b910..e88270b29e7e 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/onfail/OnFailClauseTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/statements/onfail/OnFailClauseTest.java @@ -66,6 +66,73 @@ public void testOnFailClauseNegativeCaseV2() { BAssertUtil.validateError(negativeResult, i++, "this function must return a result", 32, 1); BAssertUtil.validateError(negativeResult, i++, "this function must return a result", 48, 1); BAssertUtil.validateError(negativeResult, i++, "this function must return a result", 66, 1); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt' may not have been initialized", 92, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt2' may not have been initialized", 106, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt3' may not have been initialized", 107, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt1' may not have been initialized", 121, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt2' may not have been initialized", 122, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt3' may not have been initialized", 123, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt2' may not have been initialized", 140, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt3' may not have been initialized", 141, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt3' may not have been initialized", 159, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'k' may not have been initialized", 174, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'str2' may not have been initialized", 212, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'str1' is not initialized", 224, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'str2' is not initialized", 225, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'str1' may not have been initialized", 238, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 272, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 292, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 295, 5); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 376, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 377, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 380, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 381, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 406, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 427, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 428, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 451, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 473, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' is not initialized", 514, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 530, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 536, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 553, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 557, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 559, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 576, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 582, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 613, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 629, 17); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 630, 17); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 635, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 636, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'x' may not have been initialized", 641, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'y' may not have been initialized", 642, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' is not initialized", 652, 13); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 656, 9); + BAssertUtil.validateError(negativeResult, i++, "unreachable code", 668, 8); + BAssertUtil.validateError(negativeResult, i++, "variable 'c' may not have been initialized", 703, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 730, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' is not initialized", 753, 17); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 764, 17); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' is not initialized", 787, 17); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 799, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 812, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 840, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 851, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 863, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 886, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 898, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 910, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 951, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 981, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 1013, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 1044, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 1055, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 1056, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 1071, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'j' may not have been initialized", 1072, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'i' may not have been initialized", 1102, 9); + BAssertUtil.validateError(negativeResult, i++, "variable 'resultInt2' may not have been initialized", 1160, 5); Assert.assertEquals(negativeResult.getErrorCount(), i); } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/never/NeverTypeTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/never/NeverTypeTest.java index 2aff89049805..5d91818eafc1 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/never/NeverTypeTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/never/NeverTypeTest.java @@ -208,15 +208,17 @@ public void testNeverTypeNegative() { BAssertUtil.validateError(negativeCompileResult, i++, "incompatible types: expected " + "'record {| |} & readonly', found 'record {| int x; never?...; |}'", 258, 25); BAssertUtil.validateError(negativeCompileResult, i++, "incompatible types: expected " + - "'record {| int x; never...; |}', found 'record {| |} & readonly'", 261, 41); + "'record {| int x; never...; |}', found 'record {| |} & readonly'", 261, 40); + BAssertUtil.validateError(negativeCompileResult, i++, "incompatible types: expected 'record {| never i?; " + + "anydata...; |}', found 'record {| never?...; |}'", 264, 28); BAssertUtil.validateError(negativeCompileResult, i++, "cannot define a variable of type 'never' or " + - "equivalent to type 'never'", 264, 1); + "equivalent to type 'never'", 267, 1); BAssertUtil.validateError(negativeCompileResult, i++, "cannot define a variable of type 'never' or " + - "equivalent to type 'never'", 267, 5); + "equivalent to type 'never'", 270, 5); BAssertUtil.validateError(negativeCompileResult, i++, "cannot define a variable of type 'never' or " + - "equivalent to type 'never'", 268, 5); + "equivalent to type 'never'", 271, 5); BAssertUtil.validateError(negativeCompileResult, i++, "cannot define a variable of type 'never' or " + - "equivalent to type 'never'", 272, 1); + "equivalent to type 'never'", 275, 1); Assert.assertEquals(negativeCompileResult.getErrorCount(), i); } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/xml/XMLAttributeAccessTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/xml/XMLAttributeAccessTest.java index 71f4ba6ba030..b3d67756482f 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/xml/XMLAttributeAccessTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/types/xml/XMLAttributeAccessTest.java @@ -83,26 +83,11 @@ public void testXMLAttributeAccessNegative() { BAssertUtil.validateError(negative, 1, "invalid character ':' in field access expression", 10, 13); } - @Test - public void testXMLAsMapContent() { - BArray result = (BArray) BRunUtil.invoke(lexCompileRes, "testXMLAsMapContent"); - Assert.assertEquals(result.get(0).toString(), "val"); - Assert.assertEquals(result.get(1).toString(), "val"); - Assert.assertEquals(result.get(2).toString(), "true"); - } - @Test public void testXMLAttributeWithNSPrefix() { BArray result = (BArray) BRunUtil.invoke(lexCompileRes, "testXMLAttributeWithNSPrefix"); Assert.assertEquals(result.get(0).toString(), "preserve"); Assert.assertEquals(result.get(1).toString(), "preserve"); - Assert.assertEquals(result.get(2).toString(), "error(\"{lang.map}InvalidKey\",key=\"b\")"); - } - - @Test - public void testXMLASMapContentInvalidKey() { - Object result = BRunUtil.invoke(lexCompileRes, "testXMLASMapContentInvalidKey"); - Assert.assertEquals(result.toString(), "error(\"{lang.map}InvalidKey\",key=\"b\")"); } @Test diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerActionsNegativeTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerActionsNegativeTest.java index 1e309c340846..6eaf9b90c43a 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerActionsNegativeTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerActionsNegativeTest.java @@ -31,8 +31,10 @@ public class BasicWorkerActionsNegativeTest { public void testWorkerActionsSemanticsNegative() { int index = 0; CompileResult resultSemanticsNegative = BCompileUtil.compile("test-src/workers/actions-semantics-negative.bal"); - Assert.assertEquals(resultSemanticsNegative.getErrorCount(), 9, "Worker actions semantics negative test error" + - " count"); + Assert.assertEquals(resultSemanticsNegative.getErrorCount(), 10, "Worker actions semantics negative test " + + "error count"); + BAssertUtil.validateError(resultSemanticsNegative, index++, + "invalid type for worker send 'Person', expected value:Cloneable", 42, 9); BAssertUtil.validateError(resultSemanticsNegative, index++, "invalid type for worker send 'Person', expected value:Cloneable", 44, 22); BAssertUtil.validateError(resultSemanticsNegative, index++, "undefined worker 'w4'", 46, 17); @@ -131,15 +133,4 @@ private String formatMessage(String workerName) { return String.format( "multiple references to a named worker '%s' as a variable reference is not allowed", workerName); } - - @Test - public void testAsyncSendAsExpression() { - // TODO: support async send as expression issue #24849 - CompileResult compileResult = BCompileUtil.compile("test-src/workers/worker_async_send_as_expression.bal"); - int index = 0; - BAssertUtil.validateError(compileResult, index++, "async send action not yet supported as expression", - 19, 16); - - Assert.assertEquals(compileResult.getErrorCount(), index); - } } diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerTest.java index 7c3c69ae608e..351655a59661 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/BasicWorkerTest.java @@ -18,6 +18,7 @@ import io.ballerina.runtime.api.utils.StringUtils; import io.ballerina.runtime.api.values.BMap; +import org.ballerinalang.test.BAssertUtil; import org.ballerinalang.test.BCompileUtil; import org.ballerinalang.test.BRunUtil; import org.ballerinalang.test.CompileResult; @@ -35,11 +36,16 @@ public class BasicWorkerTest { private CompileResult result; + private CompileResult asyncSendResult; @BeforeClass public void setup() { this.result = BCompileUtil.compile("test-src/workers/basic-worker-actions.bal"); Assert.assertEquals(result.getErrorCount(), 0, Arrays.asList(result.getDiagnostics()).toString()); + + this.asyncSendResult = + BCompileUtil.compile("test-src/workers/worker_async_send_as_expression.bal"); + Assert.assertEquals(asyncSendResult.getErrorCount(), 0, Arrays.asList(result.getDiagnostics()).toString()); } @Test @@ -129,6 +135,37 @@ public Object[] workerMessagePassingFunctions() { }; } + @Test(dataProvider = "asyncSendAsExpressionFunctions") + public void testAsyncSendAsExpression(String funcName) { + BRunUtil.invoke(asyncSendResult, funcName); + } + + @DataProvider(name = "asyncSendAsExpressionFunctions") + public Object[] asyncSendAsExpressionFunctions() { + return new Object[]{ + "testAsyncSendAsExpressionReturnType", + "testAsyncSendAsExpressionWithPanic", + "testAsyncSendAsExpressionWithTrapAndCheckExpr", + "testAsyncSendAsExpressionWithTypeCastExpr", + "testAsyncSendAsExpressionWithReturnStmt", + "testAsyncSendAsExpressionWithWildCardBindingPattern", + "testAsyncSendAsExpressionWithMatchStmt" + }; + } + + @Test + public void testAsyncSendNegative() { + CompileResult asyncSendNegativeResult = + BCompileUtil.compile("test-src/workers/worker_async_send_negative.bal"); + int i = 0; + BAssertUtil.validateError(asyncSendNegativeResult, i++, "incompatible types: '()' is not an " + + "iterable collection", 19, 26); + BAssertUtil.validateError(asyncSendNegativeResult, i++, "compound assignment not allowed with " + + "nullable operands", 34, 9); + BAssertUtil.validateError(asyncSendNegativeResult, i++, "operator '+' not defined for 'int' and '()'", 34, 9); + Assert.assertEquals(i, asyncSendNegativeResult.getErrorCount()); + } + @AfterClass public void tearDown() { result = null; diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WaitActionsNegativeTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WaitActionsNegativeTest.java index ef3f7542d88f..559420eaa2a2 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WaitActionsNegativeTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WaitActionsNegativeTest.java @@ -33,7 +33,6 @@ public class WaitActionsNegativeTest { public void testNegativeWorkerActions() { CompileResult resultNegative = BCompileUtil.compile("test-src/workers/wait-actions-negative.bal"); int index = 0; - Assert.assertEquals(resultNegative.getErrorCount(), 45, "Wait actions negative test error count"); BAssertUtil.validateError(resultNegative, index++, "incompatible types: expected 'future', found 'future'", 56, 22); BAssertUtil.validateError(resultNegative, index++, @@ -143,9 +142,34 @@ public void testNegativeWorkerActions() { "expression 'f2'", 90, 45); BAssertUtil.validateError(resultNegative, index++, "incompatible types: expected 'future', found 'future<(int|error)>'", 90, 54); - BAssertUtil.validateError(resultNegative, index, + BAssertUtil.validateError(resultNegative, index++, "incompatible types: expected 'string', found eventual type '(string|error)' for wait future " + "expression 'f4'", 90, 54); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 115, 38); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 116, 48); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 117, 27); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 117, 58); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 119, 27); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 120, 48); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 121, 27); + BAssertUtil.validateError(resultNegative, index++, + "cannot use an alternate wait action within a multiple wait action", 121, 72); + BAssertUtil.validateError(resultNegative, index++, "expected an expression of type 'future'," + + " found '(future<(boolean|error)>|future<(boolean|error)>)'", 136, 38); + BAssertUtil.validateError(resultNegative, index++, "expected an expression of type 'future'," + + " found '(future|future)'", 137, 48); + BAssertUtil.validateError(resultNegative, index++, "expected an expression of type 'future'," + + " found '(future<(boolean|error)>|future<(boolean|error)>)'", 138, 27); + BAssertUtil.validateError(resultNegative, index++, "expected an expression of type 'future'," + + " found '(future|future)'", 138, 40); + Assert.assertEquals(resultNegative.getErrorCount(), index, "Wait actions negative test error count"); } @Test diff --git a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WorkerFailTest.java b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WorkerFailTest.java index debb6514ebe9..7c9d4c241d00 100644 --- a/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WorkerFailTest.java +++ b/tests/jballerina-unit-test/src/test/java/org/ballerinalang/test/worker/WorkerFailTest.java @@ -198,9 +198,8 @@ public void invalidReceiveWithCheckpanic() { @Test public void invalidActionsInFork() { CompileResult result = BCompileUtil.compile("test-src/workers/invalid-actions-in-fork.bal"); - Assert.assertEquals(result.getErrorCount(), 2); + Assert.assertEquals(result.getErrorCount(), 1); validateError(result, 0, "undefined worker 'w3'", 5, 13); - validateError(result, 1, "undefined worker 'w1'", 8, 29); } @Test diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/action/start/start-action-negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/action/start/start-action-negative.bal index 83f398e8f0ba..60561a9b5439 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/action/start/start-action-negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/action/start/start-action-negative.bal @@ -100,6 +100,21 @@ function testFunction2(int a) { start a + b; } +function testInvalidRemoteMtdCallWithStartAction() returns string { + worker w1 { + int a = 10; + start fooFunc() -> w2; + } + + worker w2 { + int b = <- w1; + } +} + +function fooFunc() returns int { + return 1; +} + public function sleep(int millis) = @java:Method { 'class: "org.ballerinalang.test.utils.interop.Utils" } external; diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/annotations/deprecation_annotation.bal b/tests/jballerina-unit-test/src/test/resources/test-src/annotations/deprecation_annotation.bal index da78250773c1..b505bcf6fd24 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/annotations/deprecation_annotation.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/annotations/deprecation_annotation.bal @@ -309,16 +309,16 @@ type Employee record {| type Job record {| string title; @deprecated - int experiance; + int experience; |}; public function testDeprecatedRecordFields() { - Employee employee = {name: "John", id: 112, job: {title: "SE", experiance: 2}}; + Employee employee = {name: "John", id: 112, job: {title: "SE", experience: 2}}; _ = employee.name; // warning _ = employee.id; _ = employee.job; // warning _ = employee.job.title; // warning - _ = employee.job.experiance; // warning + _ = employee.job.experience; // warning } # Employee2 record @@ -340,7 +340,7 @@ type Employee2 record {| |}; public function testDeprecatedRecordFieldsWithDocumentation() { - Employee2 employee2 = {name: "John", id: 112, job: {title: "SE", experiance: 2}}; + Employee2 employee2 = {name: "John", id: 112, job: {title: "SE", experience: 2}}; _ = employee2.name; // warning _ = employee2.id; _ = employee2.job; // warning @@ -390,7 +390,139 @@ type Employee5 record { }; public function testDeprecatedAnonStructAsStructField() { - Employee5 employee5 = {address: {}}; + Employee5 employee5 = {address: {}}; // warning _ = employee5.address; // warning _ = employee5.address.line02; // warning } + +type Company record { + int companyId; + + @deprecated + string name; + + @deprecated + string city; + + @deprecated + string country; +}; + +public function testDeprecatedAnonRecordFieldInInitialization() { + Job _ = { + title: "SE", + experience: 1 // warning + }; + + int experience = 2; + Job _ = { + title: "SE", + experience // warning + }; + + var details = {experience: 2}; + Job _ = { + title: "SE", + ...details // warning + }; + + string city = "Berlin"; + var companyDetails = {country: "Germany"}; + Company _ = { + companyId: 1, + name: "Foo", // warning + city: city, // warning + ...companyDetails // warning + }; +} + +function fooFn(int x1, @deprecated int x2){ +} + +function barFn(string s, *Company company) { +} + +function bazFn(string a, @deprecated string b, @deprecated int... c) { +} + +function quxFn(@deprecated string y1 = "Qux", @deprecated int y2 = 10) { +} + +function quuxFn(record {| + int id; + record {|string name; @deprecated int age;|} person; +|} z) { +} + +public function testDeprecatedParamUsages() { + fooFn(10, 11); + fooFn(12, x2 = 13); + fooFn(x1 = 14, x2 = 15); + barFn("bar", { + companyId: 1, + city: "Berlin", // Warning + country: "Germany", // Warning + name: "Bar" // Warning + }); + barFn( + "bar", + companyId = 1, + city = "Berlin", // Warning + country = "Germany", // Warning + name = "Bar" // Warning + ); + bazFn( + "A", + "B", // warning + 1, // warning + 2, // warning + 3 // warning + ); + quxFn( + "Quux", // warning + 11 // warning + ); + quxFn( + y1 = "Quux", // warning + y2 = 11 // warning + ); + quuxFn({ + id: 1, + person: { + name: "John", + age: 12 // warning + } + }); + + // As rest args + [int, int] argX = [1, 2]; + fooFn(...argX); + fooFn(...[ + 1, + 2 // warning + ] + ); + var fn1 = function () returns int => 1; + fooFn(...[ + 1, + ...[ + fn1() // warning + ] + ] + ); + var fn2 = function () returns [int, int] => [1, 2]; + fooFn(...[ + ...[ + ...fn2() // warning + ] + ] + ); + bazFn( + "A", + ...[ + "B", // warning + 1, // warning + 3 // warning + ] + ); +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failLockWithinLock b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failLockWithinLock index 26b58402ab6c..776a8a92d311 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failLockWithinLock +++ b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failLockWithinLock @@ -53,7 +53,7 @@ failLockWithinLock function() -> (int, string) { %19 = newType map; %21 = ConstLoad message; %22 = ConstLoad error value; - %20 = NewMap %19; + %20 = NewMap %19{%21:%22}; %23 = cloneReadOnly(%20) -> bb8; } bb8 { @@ -104,7 +104,7 @@ failLockWithinLock function() -> (int, string) { %19 = newType (int, string); %41 = ConstLoad 2; %42 = lockWithinLockInt; - %0 = newArray %19[%41]; + %0 = newArray %19[%41]{%42,lockWithinLockString}; GOTO bb20; } bb20 { diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failWithinOnFail b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failWithinOnFail index c931e893439c..7703bcf0ce93 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failWithinOnFail +++ b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/failWithinOnFail @@ -35,7 +35,7 @@ failWithinOnFail function() -> string|error { %19 = newType map; %21 = ConstLoad message; %22 = ConstLoad error value; - %20 = NewMap %19; + %20 = NewMap %19{%21:%22}; %23 = cloneReadOnly(%20) -> bb3; } bb3 { diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/globalVarsAndAnonFunctions b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/globalVarsAndAnonFunctions index 502ff4554e17..46c78071843e 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/globalVarsAndAnonFunctions +++ b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/globalVarsAndAnonFunctions @@ -9,7 +9,7 @@ public globalVarsAndAnonFunctions function() -> () { bb0 { %2 = newType map; - %1 = NewMap %2; + %1 = NewMap %2{}; %5 = ConstLoad 3; %4 = %5; %7 = ConstLoad a; diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/mapInits b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/mapInits index eb8f90d74fb2..c63308da760c 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/mapInits +++ b/tests/jballerina-unit-test/src/test/resources/test-src/bir/bir-dump/mapInits @@ -38,7 +38,7 @@ mapInits function() -> (string|(), int|()) { bb0 { %2 = newType map; - %1 = NewMap %2; + %1 = NewMap %2{}; %2 = newType Person; %7 = ConstLoad name; %8 = ConstLoad Jack; @@ -46,7 +46,7 @@ mapInits function() -> (string|(), int|()) { %10 = ConstLoad 25; %11 = ConstLoad address; %12 = ConstLoad Usa; - %4 = NewMap %2; + %4 = NewMap %2{%7:%8,%9:%10,%11:%12}; %13 = %4; %7 = ConstLoad jack; %1[%7] = %13; @@ -250,7 +250,7 @@ mapInits function() -> (string|(), int|()) { GOTO bb48; } bb48 { - %0 = newArray %2[%10]; + %0 = newArray %2[%10]{%20,%73}; GOTO bb49; } bb49 { diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access.bal b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access.bal index 88a2337b75ea..18d4c3ebc944 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access.bal @@ -536,6 +536,14 @@ function validateJSONOperationErrorMsg(json|error val) { assertEquals( checkpanic err.detail()["message"], "JSON value is not a mapping"); } +function testValidXMLmapFieldAccess() { + map m = {a: xml `foo`, b: xml `bar`}; + xml? x = m["a"]; + xml? y = m["c"]; + assertEquals(x, xml `foo`); + assertEquals(y, null); +} + isolated function isEqual(anydata|error val1, anydata|error val2) returns boolean { if (val1 is anydata && val2 is anydata) { return (val1 == val2); diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access_negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access_negative.bal index e1b3b5d261cd..5657ee785102 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access_negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/field_access_negative.bal @@ -376,3 +376,40 @@ function testInvalidBoundMethodAccessWithRemoteMethod(ServiceClass a, _ = e.ser.fn; } + +function testInvalidXMLMapFieldAccess1() returns error? { + map m = {a: xml `foo`}; + xml x = check m.a; // error +} + +function testInvalidXMLMapFieldAccess2() returns error? { + map m = {a: xml `foo`}; + xml x = check m.b; // error +} + +function testInvalidXMLMapFieldAccess3() returns error? { + map m = {}; + m["a"] = xml `foo`; + xml x = check m.a; // error +} + +function testInvalidXMLMapFieldAccess4() returns error? { + map m = {}; + m["a"] = xml `foo`; + xml|json x = check m.a; // error +} + +function testInvalidXMLMapFieldAccess5() returns error? { + map m = {a: xml `foo`}; + xml x = m?.a; // error +} + +function testInvalidXMLMapFieldAccess6() returns error? { + record {|map a; xml c;|} m = {a: {b: xml `foo`}, c: xml `bar`}; + xml? x = m["a"]?.b.c; +} + +function testInvalidXMLMapFieldAccess7() returns error? { + map m = {a: xml `foo`}; + xml x = m?.b; // error +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access.bal b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access.bal index d35762846714..1ede31616442 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access.bal @@ -1178,6 +1178,87 @@ function testUnspecifiedFieldRecordMemberAccessWithStringCharKeyExpr() { assertTrue(v is ()); } +type IntType1 int; +type IntType2 int|int:Signed16; +type StrType1 string|string:Char; +type IntType3 1|2|3|4; + +function testMemberAccessWithUnionTypedIndexExpr() { + record {| + int a; + |} r = {a: 1}; + string|string s = "a"; + r[s] = 2; + assertEquality(2, r.a); + + int[] arr = [1, 2, 3]; + int|int|int x = 1; + arr[x] = 4; + assertEquality(4, arr[1]); + + [string, int] t = ["a", 1]; + int|int y = 0; + t[y] = "b"; + assertEquality("b", t[0]); + + record {| + int a; + |} r1 = {a: 1}; + string|string:Char s1 = "a"; + r1[s1] = 2; + assertEquality(2, r1.a); + + string[] arr1 = ["a", "b", "c"]; + int|int:Signed32 x1 = 1; + arr1[x1] = "d"; + assertEquality("d", arr1[1]); + + [string, int] t1 = ["a", 1]; + int|IntType1|int y1 = 0; + t1[y1] = "b"; + assertEquality("b", t1[0]); + + [string, int, int] t2 = ["abc", 0, 1]; + int:Signed16|int y2 = 0; + t2[y2] = "b"; + assertEquality("b", t2[0]); + + record {| + string a; + int b; + |} r2 = {a: "a", b: 1}; + string|StrType1 s2 = "b"; + r2[s2] = 2; + assertEquality(2, r2.b); + + float[] arr2 = [0.1, 1.2, 2.3]; + IntType2|int:Signed8 x2 = 0; + arr2[x2] = 4.5; + assertEquality(4.5, arr2[0]); + + int[] arr3 = [1, 2, 3]; + int|IntType3 x3 = 1; + arr3[x3] = 4; + assertEquality(4, arr3[1]); + + record {| + int a; + |} r3 = {a: 1}; + "a"|"b" s3 = "a"; + r3[s3] = 2; + assertEquality(2, r3.a); + + [int, string] tup = [1, "x"]; + 0|1|int a = 0; + tup[a] = 4; + assertEquality(4, tup[0]); + + [int, string] tup2 = [1, "x"]; + 0|1|2 a2 = 1; + tup2[a2] = "y"; + assertEquality("y", tup2[1]); +} + const ASSERTION_ERROR_REASON = "AssertionError"; function assertTrue(any|error actual) { diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access_negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access_negative.bal index b2ece341efb5..706233149953 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access_negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/expressions/access/member_access_negative.bal @@ -376,3 +376,32 @@ function testCustomTupleTypesAccessNegative() { var x14 = t7[2][index]; boolean _ = x14; //error: incompatible types: expected 'boolean', found 'int' } + +type Str string; +type StrOrInt1 string|int; + +function testMemberAccessWithUnionTypedIndexExprNegative() { + record {| + int a; + |} r = {a: 1}; + string|int s = "a"; + r[s] = 2; // error: incompatible types: expected 'string', found '(string|int)' + + int[] arr = [1, 2, 3]; + int|float|int x = 1; + arr[x] = 4; // error: incompatible types: expected 'int', found '(int|float|int)' + + string[] arr1 = ["1", "2", "3"]; + string|int x2 = 1; + arr[x2] = 4; // error: incompatible types: expected 'int', found '(string|int)' + + StrOrInt1 x3 = 2; + arr[x3] = "4"; // error: incompatible types: expected 'int', found 'StrOrInt1' + + [string, int] t = ["a", 1]; + string|int y = 0; + t[y] = "b"; // error: incompatible types: expected 'int', found '(string|int)' + + int|Str y2 = 1; + t[y2] = 0; // error: incompatible types: expected 'int', found '(int|Str)' +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-functions.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-functions.bal index 669cc8193dfd..0d3e071d07ad 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-functions.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-functions.bal @@ -159,6 +159,167 @@ type Rec record {| string x137 = "x137"; string x138 = "x138"; string x139 = "x139"; + string x140 = "x140"; + string x141 = "x141"; + string x142 = "x142"; + string x143 = "x143"; + string x144 = "x144"; + string x145 = "x145"; + string x146 = "x146"; + string x147 = "x147"; + string x148 = "x148"; + string x149 = "x149"; + string x150 = "x150"; + string x151 = "x151"; + string x152 = "x152"; + string x153 = "x153"; + string x154 = "x154"; + string x155 = "x155"; + string x156 = "x156"; + string x157 = "x157"; + string x158 = "x158"; + string x159 = "x159"; + string x160 = "x160"; + string x161 = "x161"; + string x162 = "x162"; + string x163 = "x163"; + string x164 = "x164"; + string x165 = "x165"; + string x166 = "x166"; + string x167 = "x167"; + string x168 = "x168"; + string x169 = "x169"; + string x170 = "x170"; + string x171 = "x171"; + string x172 = "x172"; + string x173 = "x173"; + string x174 = "x174"; + string x175 = "x175"; + string x176 = "x176"; + string x177 = "x177"; + string x178 = "x178"; + string x179 = "x179"; + string x180 = "x180"; + string x181 = "x181"; + string x182 = "x182"; + string x183 = "x183"; + string x184 = "x184"; + string x185 = "x185"; + string x186 = "x186"; + string x187 = "x187"; + string x188 = "x188"; + string x189 = "x189"; + string x190 = "x190"; + string x191 = "x191"; + string x192 = "x192"; + string x193 = "x193"; + string x194 = "x194"; + string x195 = "x195"; + string x196 = "x196"; + string x197 = "x197"; + string x198 = "x198"; + string x199 = "x199"; + string x200 = "x200"; + string x201 = "x201"; + string x202 = "x202"; + string x203 = "x203"; + string x204 = "x204"; + string x205 = "x205"; + string x206 = "x206"; + string x207 = "x207"; + string x208 = "x208"; + string x209 = "x209"; + string x210 = "x210"; + string x211 = "x211"; + string x212 = "x212"; + string x213 = "x213"; + string x214 = "x214"; + string x215 = "x215"; + string x216 = "x216"; + string x217 = "x217"; + string x218 = "x218"; + string x219 = "x219"; + string x220 = "x220"; + string x221 = "x221"; + string x222 = "x222"; + string x223 = "x223"; + string x224 = "x224"; + string x225 = "x225"; + string x226 = "x226"; + string x227 = "x227"; + string x228 = "x228"; + string x229 = "x229"; + string x230 = "x230"; + string x231 = "x231"; + string x232 = "x232"; + string x233 = "x233"; + string x234 = "x234"; + string x235 = "x235"; + string x236 = "x236"; + string x237 = "x237"; + string x238 = "x238"; + string x239 = "x239"; + string x240 = "x240"; + string x241 = "x241"; + string x242 = "x242"; + string x243 = "x243"; + string x244 = "x244"; + string x245 = "x245"; + string x246 = "x246"; + string x247 = "x247"; + string x248 = "x248"; + string x249 = "x249"; + string x250 = "x250"; + string x251 = "x251"; + string x252 = "x252"; + string x253 = "x253"; + string x254 = "x254"; + string x255 = "x255"; + string x256 = "x256"; + string x257 = "x257"; + string x258 = "x258"; + string x259 = "x259"; + string x260 = "x260"; + string x261 = "x261"; + string x262 = "x262"; + string x263 = "x263"; + string x264 = "x264"; + string x265 = "x265"; + string x266 = "x266"; + string x267 = "x267"; + string x268 = "x268"; + string x269 = "x269"; + string x270 = "x270"; + string x271 = "x271"; + string x272 = "x272"; + string x273 = "x273"; + string x274 = "x274"; + string x275 = "x275"; + string x276 = "x276"; + string x277 = "x277"; + string x278 = "x278"; + string x279 = "x279"; + string x280 = "x280"; + string x281 = "x281"; + string x282 = "x282"; + string x283 = "x283"; + string x284 = "x284"; + string x285 = "x285"; + string x286 = "x286"; + string x287 = "x287"; + string x288 = "x288"; + string x289 = "x289"; + string x290 = "x290"; + string x291 = "x291"; + string x292 = "x292"; + string x293 = "x293"; + string x294 = "x294"; + string x295 = "x295"; + string x296 = "x296"; + string x297 = "x297"; + string x298 = "x298"; + string x299 = "x299"; + string x300 = "x300"; |}; public function testInvalidRegExp() { @@ -183,7 +344,30 @@ public function testInvalidRegExp() { (${rec.x117})(${rec.x118})(${rec.x119})(${rec.x120})(${rec.x121})(${rec.x122})(${rec.x123}) (${rec.x124})(${rec.x125})(${rec.x126})(${rec.x127})(${rec.x128})(${rec.x129})(${rec.x130}) (${rec.x131})(${rec.x132})(${rec.x133})(${rec.x134})(${rec.x135})(${rec.x136})(${rec.x137}) - (${rec.x138})(${rec.x139})`; + (${rec.x138})(${rec.x139})(${rec.x140})(${rec.x141})(${rec.x142})(${rec.x143})(${rec.x144}) + (${rec.x145})(${rec.x146})(${rec.x147})(${rec.x148})(${rec.x149})(${rec.x150})(${rec.x151}) + (${rec.x152})(${rec.x153})(${rec.x154})(${rec.x155})(${rec.x156})(${rec.x157})(${rec.x158}) + (${rec.x159})(${rec.x160})(${rec.x161})(${rec.x162})(${rec.x163})(${rec.x164})(${rec.x165}) + (${rec.x166})(${rec.x167})(${rec.x168})(${rec.x169})(${rec.x170})(${rec.x171})(${rec.x172}) + (${rec.x173})(${rec.x174})(${rec.x175})(${rec.x176})(${rec.x177})(${rec.x178})(${rec.x179}) + (${rec.x180})(${rec.x181})(${rec.x182})(${rec.x183})(${rec.x184})(${rec.x185})(${rec.x186}) + (${rec.x187})(${rec.x188})(${rec.x189})(${rec.x190})(${rec.x191})(${rec.x192})(${rec.x193}) + (${rec.x194})(${rec.x195})(${rec.x196})(${rec.x197})(${rec.x198})(${rec.x199})(${rec.x200}) + (${rec.x201})(${rec.x202})(${rec.x203})(${rec.x204})(${rec.x205})(${rec.x206})(${rec.x207}) + (${rec.x208})(${rec.x209})(${rec.x210})(${rec.x211})(${rec.x212})(${rec.x213})(${rec.x214}) + (${rec.x215})(${rec.x216})(${rec.x217})(${rec.x218})(${rec.x219})(${rec.x220})(${rec.x221}) + (${rec.x222})(${rec.x223})(${rec.x224})(${rec.x225})(${rec.x226})(${rec.x227})(${rec.x228}) + (${rec.x229})(${rec.x230})(${rec.x231})(${rec.x232})(${rec.x233})(${rec.x234})(${rec.x235}) + (${rec.x236})(${rec.x237})(${rec.x238})(${rec.x239})(${rec.x240})(${rec.x241})(${rec.x242}) + (${rec.x243})(${rec.x244})(${rec.x245})(${rec.x246})(${rec.x247})(${rec.x248})(${rec.x249}) + (${rec.x250})(${rec.x251})(${rec.x252})(${rec.x253})(${rec.x254})(${rec.x255})(${rec.x256}) + (${rec.x257})(${rec.x258})(${rec.x259})(${rec.x260})(${rec.x261})(${rec.x262})(${rec.x263}) + (${rec.x264})(${rec.x265})(${rec.x266})(${rec.x267})(${rec.x268})(${rec.x269})(${rec.x270}) + (${rec.x271})(${rec.x272})(${rec.x273})(${rec.x274})(${rec.x275})(${rec.x276})(${rec.x277}) + (${rec.x278})(${rec.x279})(${rec.x280})(${rec.x281})(${rec.x282})(${rec.x283})(${rec.x284}) + (${rec.x285})(${rec.x286})(${rec.x287})(${rec.x288})(${rec.x289})(${rec.x290})(${rec.x291}) + (${rec.x292})(${rec.x293})(${rec.x294})(${rec.x295})(${rec.x296})(${rec.x297})(${rec.x298}) + (${rec.x299})(${rec.x300})`; test:assertTrue(x1 is error); if (x1 is error) { test:assertEquals("{ballerina}RegularExpressionParsingError", x1.message()); @@ -202,7 +386,29 @@ public function testInvalidRegExp() { re `abc(?i:${rec.b})(${rec.x23})`, re `abc(?i:${rec.b})(${rec.x24})`, re `abc(?i:${rec.b})(${rec.x25})`, re `abc(?i:${rec.b})(${rec.x26})`, re `abc(?i:${rec.b})(${rec.x27})`, re `abc(?i:${rec.b})(${rec.x28})`, re `abc(?i:${rec.b})(${rec.x29})`, re `abc(?i:${rec.b})(${rec.x30})`, re `abc(?i:${rec.b})(${rec.x31})`, - re `abc(?i:${rec.b})(${rec.x32})`, re `abc(?i:${rec.b})(${rec.x33})`, re `abc(?i:${rec.b})(${rec.x33})`]; + re `abc(?i:${rec.b})(${rec.x32})`, re `abc(?i:${rec.b})(${rec.x33})`, re `abc(?i:${rec.b})(${rec.x34})`, + re `abc(?i:${rec.b})(${rec.x35})`, re `abc(?i:${rec.b})(${rec.x36})`, re `abc(?i:${rec.b})(${rec.x37})`, + re `abc(?i:${rec.b})(${rec.x38})`, re `abc(?i:${rec.b})(${rec.x39})`, re `abc(?i:${rec.b})(${rec.x40})`, + re `abc(?i:${rec.b})(${rec.x41})`, re `abc(?i:${rec.b})(${rec.x42})`, re `abc(?i:${rec.b})(${rec.x43})`, + re `abc(?i:${rec.b})(${rec.x44})`, re `abc(?i:${rec.b})(${rec.x45})`, re `abc(?i:${rec.b})(${rec.x46})`, + re `abc(?i:${rec.b})(${rec.x47})`, re `abc(?i:${rec.b})(${rec.x48})`, re `abc(?i:${rec.b})(${rec.x49})`, + re `abc(?i:${rec.b})(${rec.x50})`, re `abc(?i:${rec.b})(${rec.x51})`, re `abc(?i:${rec.b})(${rec.x52})`, + re `abc(?i:${rec.b})(${rec.x53})`, re `abc(?i:${rec.b})(${rec.x54})`, re `abc(?i:${rec.b})(${rec.x55})`, + re `abc(?i:${rec.b})(${rec.x56})`, re `abc(?i:${rec.b})(${rec.x57})`, re `abc(?i:${rec.b})(${rec.x58})`, + re `abc(?i:${rec.b})(${rec.x59})`, re `abc(?i:${rec.b})(${rec.x60})`, re `abc(?i:${rec.b})(${rec.x61})`, + re `abc(?i:${rec.b})(${rec.x62})`, re `abc(?i:${rec.b})(${rec.x63})`, re `abc(?i:${rec.b})(${rec.x64})`, + re `abc(?i:${rec.b})(${rec.x65})`, re `abc(?i:${rec.b})(${rec.x66})`, re `abc(?i:${rec.b})(${rec.x67})`, + re `abc(?i:${rec.b})(${rec.x68})`, re `abc(?i:${rec.b})(${rec.x69})`, re `abc(?i:${rec.b})(${rec.x70})`, + re `abc(?i:${rec.b})(${rec.x71})`, re `abc(?i:${rec.b})(${rec.x72})`, re `abc(?i:${rec.b})(${rec.x73})`, + re `abc(?i:${rec.b})(${rec.x74})`, re `abc(?i:${rec.b})(${rec.x75})`, re `abc(?i:${rec.b})(${rec.x76})`, + re `abc(?i:${rec.b})(${rec.x77})`, re `abc(?i:${rec.b})(${rec.x78})`, re `abc(?i:${rec.b})(${rec.x79})`, + re `abc(?i:${rec.b})(${rec.x80})`, re `abc(?i:${rec.b})(${rec.x81})`, re `abc(?i:${rec.b})(${rec.x82})`, + re `abc(?i:${rec.b})(${rec.x83})`, re `abc(?i:${rec.b})(${rec.x84})`, re `abc(?i:${rec.b})(${rec.x85})`, + re `abc(?i:${rec.b})(${rec.x86})`, re `abc(?i:${rec.b})(${rec.x87})`, re `abc(?i:${rec.b})(${rec.x88})`, + re `abc(?i:${rec.b})(${rec.x89})`, re `abc(?i:${rec.b})(${rec.x90})`, re `abc(?i:${rec.b})(${rec.x91})`, + re `abc(?i:${rec.b})(${rec.x92})`, re `abc(?i:${rec.b})(${rec.x93})`, re `abc(?i:${rec.b})(${rec.x94})`, + re `abc(?i:${rec.b})(${rec.x95})`, re `abc(?i:${rec.b})(${rec.x96})`, re `abc(?i:${rec.b})(${rec.x97})`, + re `abc(?i:${rec.b})(${rec.x98})`, re `abc(?i:${rec.b})(${rec.x99})`, re `abc(?i:${rec.b})(${rec.x100})`]; test:assertTrue(x2 is error); if (x2 is error) { test:assertEquals("{ballerina}RegularExpressionParsingError", x2.message()); diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-init-function.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-init-function.bal index 029ab440fe70..f94d24e8f406 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-init-function.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-init-function.bal @@ -1214,7 +1214,308 @@ "1196aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1197aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1198aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], + "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1203aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1204aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1205aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1206aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1207aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1208aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1209aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1210aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1211aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1212aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1213aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1214aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1215aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1216aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1217aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1218aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1219aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1220aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1221aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1222aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1223aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1224aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1225aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1226aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1227aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1228aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1229aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1230aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1231aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1232aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1233aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1234aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1235aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1236aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1237aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1238aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1239aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1240aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1241aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1242aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1243aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1244aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1245aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1246aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1247aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1248aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1249aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1250aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1251aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1252aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1253aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1254aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1255aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1256aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1257aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1258aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1259aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1260aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1261aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1262aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1263aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1264aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1265aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1266aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1267aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1268aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1269aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1270aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1271aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1272aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1274aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1275aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1276aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1277aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1278aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1279aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1280aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1281aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1282aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1283aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1284aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1285aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1286aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1287aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1288aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1289aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1290aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1291aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1292aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1293aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1294aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1295aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1296aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1297aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1298aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1299aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1300aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1301aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1302aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1303aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1304aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1305aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1306aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1307aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1308aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1309aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1310aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1311aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1312aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1313aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1314aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1315aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1316aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1317aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1318aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1319aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1320aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1321aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1322aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1323aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1324aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1325aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1326aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1327aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1328aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1329aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1330aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1331aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1332aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1333aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1334aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1335aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1336aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1337aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1338aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1339aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1340aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1341aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1342aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1343aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1344aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1345aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1346aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1347aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1348aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1349aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1350aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1351aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1352aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1353aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1354aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1355aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1356aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1357aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1358aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1359aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1360aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1361aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1362aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1363aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1364aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1365aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1366aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1367aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1368aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1369aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1370aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1371aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1372aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1373aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1374aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1375aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1376aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1377aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1378aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1379aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1380aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1381aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1382aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1383aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1384aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1385aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1386aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1387aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1388aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1389aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1390aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1391aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1392aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1393aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1394aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1395aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1396aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1397aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1398aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1399aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1400aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1401aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1402aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1403aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1404aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1405aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1406aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1407aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1408aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1409aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1410aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1411aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1412aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1413aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1414aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1415aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1416aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1417aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1418aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1419aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1420aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1421aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1422aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1423aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1424aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1425aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1426aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1427aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1428aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1429aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1430aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1431aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1432aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1433aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1434aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1435aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1436aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1437aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1438aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1439aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1440aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1441aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1442aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1443aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1444aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1445aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1446aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1447aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1448aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1449aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1450aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1451aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1452aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1453aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1454aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1455aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1456aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1457aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1458aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1459aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1460aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1461aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1462aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1463aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1464aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1465aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1466aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1467aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1468aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1469aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1470aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1471aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1472aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1473aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1474aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1475aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1476aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1477aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1478aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1479aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1480aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1481aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1482aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1483aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1484aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1485aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1486aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1487aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1488aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1489aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1490aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1491aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1492aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1493aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1494aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1495aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1496aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1497aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1498aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1499aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1500aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], ["0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", @@ -2414,7 +2715,308 @@ "1196aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1197aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1198aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]; + "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1203aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1204aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1205aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1206aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1207aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1208aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1209aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1210aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1211aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1212aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1213aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1214aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1215aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1216aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1217aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1218aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1219aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1220aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1221aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1222aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1223aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1224aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1225aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1226aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1227aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1228aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1229aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1230aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1231aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1232aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1233aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1234aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1235aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1236aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1237aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1238aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1239aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1240aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1241aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1242aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1243aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1244aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1245aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1246aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1247aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1248aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1249aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1250aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1251aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1252aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1253aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1254aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1255aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1256aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1257aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1258aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1259aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1260aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1261aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1262aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1263aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1264aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1265aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1266aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1267aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1268aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1269aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1270aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1271aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1272aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1274aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1275aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1276aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1277aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1278aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1279aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1280aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1281aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1282aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1283aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1284aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1285aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1286aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1287aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1288aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1289aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1290aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1291aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1292aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1293aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1294aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1295aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1296aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1297aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1298aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1299aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1300aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1301aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1302aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1303aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1304aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1305aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1306aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1307aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1308aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1309aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1310aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1311aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1312aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1313aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1314aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1315aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1316aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1317aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1318aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1319aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1320aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1321aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1322aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1323aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1324aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1325aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1326aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1327aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1328aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1329aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1330aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1331aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1332aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1333aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1334aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1335aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1336aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1337aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1338aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1339aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1340aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1341aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1342aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1343aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1344aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1345aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1346aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1347aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1348aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1349aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1350aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1351aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1352aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1353aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1354aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1355aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1356aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1357aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1358aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1359aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1360aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1361aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1362aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1363aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1364aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1365aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1366aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1367aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1368aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1369aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1370aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1371aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1372aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1373aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1374aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1375aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1376aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1377aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1378aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1379aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1380aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1381aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1382aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1383aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1384aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1385aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1386aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1387aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1388aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1389aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1390aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1391aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1392aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1393aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1394aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1395aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1396aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1397aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1398aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1399aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1400aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1401aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1402aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1403aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1404aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1405aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1406aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1407aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1408aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1409aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1410aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1411aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1412aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1413aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1414aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1415aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1416aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1417aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1418aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1419aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1420aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1421aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1422aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1423aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1424aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1425aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1426aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1427aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1428aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1429aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1430aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1431aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1432aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1433aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1434aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1435aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1436aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1437aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1438aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1439aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1440aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1441aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1442aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1443aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1444aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1445aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1446aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1447aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1448aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1449aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1450aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1451aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1452aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1453aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1454aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1455aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1456aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1457aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1458aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1459aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1460aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1461aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1462aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1463aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1464aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1465aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1466aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1467aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1468aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1469aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1470aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1471aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1472aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1473aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1474aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1475aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1476aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1477aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1478aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1479aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1480aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1481aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1482aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1483aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1484aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1485aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1486aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1487aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1488aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1489aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1490aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1491aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1492aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1493aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1494aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1495aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1496aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1497aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1498aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1499aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1500aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]; json & readonly j1 = {"part1": { diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-user-defined-function.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-user-defined-function.bal index 7818d4c5aee7..79f4592623ed 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-user-defined-function.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/large-user-defined-function.bal @@ -14,12 +14,23 @@ // specific language governing permissions and limitations // under the License. +type PeopleNames record {| + string firstName; + string lastName; +|}; + +string global_str1 = "I am a global string."; +string global_str2 = "another global string"; +string[] global_str_arr1 = ["a","b","c"]; +PeopleNames peopleNamesGlobalRecord = {firstName:"John", lastName:"Doe"}; + public function largeMethod() returns boolean|error { string local_str1 = "qwerty3"; string local_str2 = "qwerty4"; int local_integer1 = 300; int local_integer2 = 400; + string[] local_str_arr1 = ["a","b","c"]; (string|error)[][] & readonly arr3 = [[ str1, @@ -42,7 +53,9 @@ public function largeMethod() returns boolean|error { "17aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", check getWordOrError(false), "19aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + ...global_str_arr1, "20aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + ...local_str_arr1, "21aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "22aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "23aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", @@ -1221,7 +1234,308 @@ public function largeMethod() returns boolean|error { "1196aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1197aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1198aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], + "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1203aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1204aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1205aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1206aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1207aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1208aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1209aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1210aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1211aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1212aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1213aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1214aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1215aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1216aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1217aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1218aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1219aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1220aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1221aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1222aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1223aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1224aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1225aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1226aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1227aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1228aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1229aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1230aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1231aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1232aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1233aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1234aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1235aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1236aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1237aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1238aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1239aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1240aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1241aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1242aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1243aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1244aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1245aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1246aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1247aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1248aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1249aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1250aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1251aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1252aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1253aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1254aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1255aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1256aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1257aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1258aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1259aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1260aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1261aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1262aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1263aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1264aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1265aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1266aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1267aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1268aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1269aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1270aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1271aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1272aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1274aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1275aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1276aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1277aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1278aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1279aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1280aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1281aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1282aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1283aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1284aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1285aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1286aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1287aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1288aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1289aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1290aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1291aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1292aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1293aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1294aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1295aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1296aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1297aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1298aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1299aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1300aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1301aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1302aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1303aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1304aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1305aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1306aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1307aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1308aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1309aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1310aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1311aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1312aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1313aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1314aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1315aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1316aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1317aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1318aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1319aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1320aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1321aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1322aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1323aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1324aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1325aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1326aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1327aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1328aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1329aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1330aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1331aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1332aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1333aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1334aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1335aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1336aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1337aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1338aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1339aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1340aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1341aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1342aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1343aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1344aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1345aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1346aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1347aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1348aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1349aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1350aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1351aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1352aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1353aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1354aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1355aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1356aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1357aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1358aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1359aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1360aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1361aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1362aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1363aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1364aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1365aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1366aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1367aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1368aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1369aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1370aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1371aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1372aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1373aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1374aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1375aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1376aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1377aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1378aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1379aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1380aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1381aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1382aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1383aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1384aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1385aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1386aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1387aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1388aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1389aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1390aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1391aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1392aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1393aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1394aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1395aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1396aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1397aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1398aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1399aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1400aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1401aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1402aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1403aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1404aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1405aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1406aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1407aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1408aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1409aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1410aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1411aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1412aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1413aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1414aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1415aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1416aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1417aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1418aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1419aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1420aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1421aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1422aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1423aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1424aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1425aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1426aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1427aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1428aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1429aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1430aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1431aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1432aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1433aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1434aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1435aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1436aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1437aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1438aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1439aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1440aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1441aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1442aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1443aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1444aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1445aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1446aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1447aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1448aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1449aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1450aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1451aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1452aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1453aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1454aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1455aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1456aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1457aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1458aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1459aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1460aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1461aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1462aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1463aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1464aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1465aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1466aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1467aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1468aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1469aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1470aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1471aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1472aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1473aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1474aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1475aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1476aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1477aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1478aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1479aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1480aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1481aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1482aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1483aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1484aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1485aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1486aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1487aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1488aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1489aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1490aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1491aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1492aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1493aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1494aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1495aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1496aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1497aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1498aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1499aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1500aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"], ["0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", @@ -2421,7 +2735,315 @@ public function largeMethod() returns boolean|error { "1196aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1197aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "1198aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]; + "1199aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1200aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1201aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1202aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1203aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1204aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1205aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1206aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1207aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1208aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1209aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1210aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1211aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1212aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1213aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1214aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1215aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1216aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1217aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1218aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1219aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1220aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1221aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1222aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1223aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1224aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1225aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1226aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1227aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1228aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1229aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1230aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1231aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1232aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1233aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1234aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1235aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1236aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1237aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1238aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1239aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1240aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1241aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1242aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1243aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1244aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1245aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1246aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1247aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1248aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1249aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1250aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1251aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1252aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1253aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1254aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1255aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1256aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1257aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1258aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1259aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1260aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1261aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1262aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1263aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1264aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1265aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1266aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1267aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1268aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1269aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1270aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1271aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1272aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1273aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1274aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1275aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1276aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1277aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1278aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1279aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1280aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1281aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1282aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1283aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1284aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1285aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1286aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1287aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1288aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1289aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1290aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1291aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1292aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1293aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1294aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1295aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1296aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1297aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1298aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1299aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1300aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1301aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1302aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1303aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1304aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1305aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1306aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1307aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1308aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1309aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1310aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1311aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1312aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1313aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1314aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1315aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1316aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1317aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1318aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1319aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1320aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1321aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1322aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1323aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1324aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1325aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1326aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1327aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1328aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1329aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1330aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1331aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1332aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1333aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1334aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1335aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1336aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1337aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1338aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1339aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1340aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1341aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1342aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1343aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1344aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1345aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1346aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1347aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1348aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1349aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1350aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1351aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1352aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1353aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1354aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1355aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1356aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1357aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1358aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1359aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1360aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1361aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1362aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1363aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1364aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1365aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1366aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1367aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1368aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1369aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1370aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1371aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1372aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1373aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1374aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1375aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1376aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1377aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1378aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1379aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1380aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1381aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1382aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1383aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1384aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1385aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1386aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1387aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1388aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1389aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1390aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1391aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1392aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1393aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1394aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1395aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1396aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1397aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1398aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1399aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1400aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1401aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1402aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1403aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1404aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1405aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1406aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1407aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1408aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1409aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1410aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1411aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1412aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1413aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1414aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1415aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1416aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1417aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1418aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1419aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1420aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1421aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1422aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1423aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1424aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1425aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1426aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1427aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1428aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1429aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1430aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1431aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1432aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1433aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1434aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1435aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1436aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1437aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1438aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1439aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1440aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1441aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1442aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1443aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1444aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1445aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1446aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1447aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1448aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1449aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1450aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1451aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1452aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1453aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1454aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1455aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1456aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1457aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1458aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1459aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1460aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1461aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1462aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1463aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1464aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1465aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1466aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1467aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1468aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1469aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1470aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1471aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1472aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1473aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1474aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1475aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1476aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1477aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1478aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1479aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1480aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1481aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1482aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1483aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1484aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1485aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1486aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1487aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1488aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1489aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1490aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1491aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1492aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1493aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1494aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1495aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1496aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1497aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1498aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1499aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + "1500aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"]]; + + record {| + string middleName1; + string middleName2; + |} peopleNamesLocalRecord = {middleName1:"Jane", middleName2:"Doe"}; + string strA = "strA"; + string strB = "strB"; json j3 = {"part1": { "0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": str1, @@ -2440,21 +3062,23 @@ public function largeMethod() returns boolean|error { "13aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "13bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "14aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": check getWordOrError(false), "15aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "15bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + ...peopleNamesGlobalRecord, "16aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "16bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + ...peopleNamesLocalRecord, "17aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "17bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "18aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "18bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "18aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": global_str1, "19aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "19bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "20aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "20bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + [global_str1]: global_str1, "21aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "21bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "22aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "22bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + [global_str2]: global_str1, "23aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "23bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "24aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "24bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + ...{"key1":"value1","key2":"value2"}, "25aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "25bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "26aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "26bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + "26aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": strA, "27aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "27bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "28aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "28bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + [strA]: strA, "29aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "29bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", - "30aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "30bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + [strB]: strA, "31aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "31bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "32aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "32bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "33aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "33bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", @@ -3930,6 +4554,10 @@ public function largeMethod() returns boolean|error { } public function largeMethodWithCheck() returns boolean|error { + record {| + string middleName1; + string middleName2; + |} peopleNamesLocalRecord = {middleName1:"Jane", middleName2:"Doe"}; string[] & readonly arr4 = [ "0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0","0", "1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1","1", @@ -4000,7 +4628,9 @@ public function largeMethodWithCheck() returns boolean|error { "14aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": check getWordOrError(true), "15aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "15bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "16aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "16bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + ...peopleNamesLocalRecord, "17aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "17bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", + ...peopleNamesGlobalRecord, "18aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "18bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "19aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "19bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", "20aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "20bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/workers.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/workers.bal index 0e2b834c3646..130f5231ba09 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/workers.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods/modules/functions/workers.bal @@ -67,7 +67,25 @@ public function functionWithWorkers() returns error? { "x502", "x503", "x504", "x505", "x506", "x507", "x508", "x509", "x510", "x511", "x512", "x513", "x514", "x515", "x516", "x517", "x518", "x519", "x520", "x521", "x522", "x523", "x524", "x525", "x526", "x527", "x528", "x529", "x530", "x531", "x532", "x533", "x534", "x535", "x536", "x537", "x538", "x539", "x540", "x541", "x542", "x543", - "x544", "x545", "x546", "x547", "x548", "x549"] -> w2; + "x544", "x545", "x546", "x547", "x548", "x549", "x550", "x551", "x552", "x553", "x554", "x555", "x556", "x557", + "x558", "x559", "x560", "x561", "x562", "x563", "x564", "x565", "x566", "x567", "x568", "x569", "x570", "x571", + "x572", "x573", "x574", "x575", "x576", "x577", "x578", "x579", "x580", "x581", "x582", "x583", "x584", "x585", + "x586", "x587", "x588", "x589", "x590", "x591", "x592", "x593", "x594", "x595", "x596", "x597", "x598", "x599", + "x600", "x601", "x602", "x603", "x604", "x605", "x606", "x607", "x608", "x609", "x610", "x611", "x612", "x613", + "x614", "x615", "x616", "x617", "x618", "x619", "x620", "x621", "x622", "x623", "x624", "x625", "x626", "x627", + "x628", "x629", "x630", "x631", "x632", "x633", "x634", "x635", "x636", "x637", "x638", "x639", "x640", "x641", + "x642", "x643", "x644", "x645", "x646", "x647", "x648", "x649", "x650", "x651", "x652", "x653", "x654", "x655", + "x656", "x657", "x658", "x659", "x660", "x661", "x662", "x663", "x664", "x665", "x666", "x667", "x668", "x669", + "x670", "x671", "x672", "x673", "x674", "x675", "x676", "x677", "x678", "x679", "x680", "x681", "x682", "x683", + "x684", "x685", "x686", "x687", "x688", "x689", "x690", "x691", "x692", "x693", "x694", "x695", "x696", "x697", + "x698", "x699", "x700", "x701", "x702", "x703", "x704", "x705", "x706", "x707", "x708", "x709", "x710", "x711", + "x712", "x713", "x714", "x715", "x716", "x717", "x718", "x719", "x720", "x721", "x722", "x723", "x724", "x725", + "x726", "x727", "x728", "x729", "x730", "x731", "x732", "x733", "x734", "x735", "x736", "x737", "x738", "x739", + "x740", "x741", "x742", "x743", "x744", "x745", "x746", "x747", "x748", "x749", "x750", "x751", "x752", "x753", + "x754", "x755", "x756", "x757", "x758", "x759", "x760", "x761", "x762", "x763", "x764", "x765", "x766", "x767", + "x768", "x769", "x770", "x771", "x772", "x773", "x774", "x775", "x776", "x777", "x778", "x779", "x780", "x781", + "x782", "x783", "x784", "x785", "x786", "x787", "x788", "x789", "x790", "x791", "x792", "x793", "x794", "x795", + "x796", "x797", "x798", "x799", "x800"] -> w2; map pp = <- w2; test:assertEquals(pp, {"b1": 1, "b2": "2", "a0": "aa0", "a1": "aa1", "a2": "aa2", "a3": "aa3", "a4": "aa4", "a5": "aa5", @@ -209,7 +227,25 @@ public function functionWithWorkers() returns error? { "x502", "x503", "x504", "x505", "x506", "x507", "x508", "x509", "x510", "x511", "x512", "x513", "x514", "x515", "x516", "x517", "x518", "x519", "x520", "x521", "x522", "x523", "x524", "x525", "x526", "x527", "x528", "x529", "x530", "x531", "x532", "x533", "x534", "x535", "x536", "x537", "x538", "x539", "x540", "x541", "x542", "x543", - "x544", "x545", "x546", "x547", "x548", "x549"]); + "x544", "x545", "x546", "x547", "x548", "x549", "x550", "x551", "x552", "x553", "x554", "x555", "x556", "x557", + "x558", "x559", "x560", "x561", "x562", "x563", "x564", "x565", "x566", "x567", "x568", "x569", "x570", "x571", + "x572", "x573", "x574", "x575", "x576", "x577", "x578", "x579", "x580", "x581", "x582", "x583", "x584", "x585", + "x586", "x587", "x588", "x589", "x590", "x591", "x592", "x593", "x594", "x595", "x596", "x597", "x598", "x599", + "x600", "x601", "x602", "x603", "x604", "x605", "x606", "x607", "x608", "x609", "x610", "x611", "x612", "x613", + "x614", "x615", "x616", "x617", "x618", "x619", "x620", "x621", "x622", "x623", "x624", "x625", "x626", "x627", + "x628", "x629", "x630", "x631", "x632", "x633", "x634", "x635", "x636", "x637", "x638", "x639", "x640", "x641", + "x642", "x643", "x644", "x645", "x646", "x647", "x648", "x649", "x650", "x651", "x652", "x653", "x654", "x655", + "x656", "x657", "x658", "x659", "x660", "x661", "x662", "x663", "x664", "x665", "x666", "x667", "x668", "x669", + "x670", "x671", "x672", "x673", "x674", "x675", "x676", "x677", "x678", "x679", "x680", "x681", "x682", "x683", + "x684", "x685", "x686", "x687", "x688", "x689", "x690", "x691", "x692", "x693", "x694", "x695", "x696", "x697", + "x698", "x699", "x700", "x701", "x702", "x703", "x704", "x705", "x706", "x707", "x708", "x709", "x710", "x711", + "x712", "x713", "x714", "x715", "x716", "x717", "x718", "x719", "x720", "x721", "x722", "x723", "x724", "x725", + "x726", "x727", "x728", "x729", "x730", "x731", "x732", "x733", "x734", "x735", "x736", "x737", "x738", "x739", + "x740", "x741", "x742", "x743", "x744", "x745", "x746", "x747", "x748", "x749", "x750", "x751", "x752", "x753", + "x754", "x755", "x756", "x757", "x758", "x759", "x760", "x761", "x762", "x763", "x764", "x765", "x766", "x767", + "x768", "x769", "x770", "x771", "x772", "x773", "x774", "x775", "x776", "x777", "x778", "x779", "x780", "x781", + "x782", "x783", "x784", "x785", "x786", "x787", "x788", "x789", "x790", "x791", "x792", "x793", "x794", "x795", + "x796", "x797", "x798", "x799", "x800"]); {"b1": 1, "b2": "2", "a0": "aa0", "a1": "aa1", "a2": "aa2", "a3": "aa3", "a4": "aa4", "a5": "aa5", "a6": "aa6", "a7": "aa7", "a8": "aa8", "a9": "aa9", "a10": "aa10", "a11": "aa11", "a12": "aa12", "a13": "aa13", "a14": "aa14", "a15": "aa15", "a16": "aa16", "a17": "aa17", "a18": "aa18", "a19": "aa19", diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/query-large-record-array.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/query-large-record-array.bal index 39ee9968982e..0a63bdb30c3e 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/query-large-record-array.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/query-large-record-array.bal @@ -54,7 +54,10 @@ type BddPath record {| 126,127,128,129,130,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34, 35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72, 73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107, - 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130]; + 108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135, + 136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163, + 164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190, + 191,192,193,194,195,196,197,198,199,200]; |}; public function testQueryExpressionsWithLargeArraysAndRecords() { @@ -81,6 +84,11 @@ function testQueryExpWithinSelectClause() { {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, + {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, + {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, + {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, + {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, + {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {},{}, {}, {}, {}, {}, {}, {}, {}, {}, {}]; MappingAlternative[] & readonly alts = from var {pos} in paths @@ -88,7 +96,7 @@ function testQueryExpWithinSelectClause() { pos: (from var atom in pos select atom) }; - test:assertEquals(alts.length(),526); + test:assertEquals(alts.length(), 666); } function testConstructingListInRecordsUsingQueryWithReadonly() { @@ -98,61 +106,123 @@ function testConstructingListInRecordsUsingQueryWithReadonly() { "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", - "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", - "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", - "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", - "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", - "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", - "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", - "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", - "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", - "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", - "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", - "250", "251", "252", "253", "254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", - "266", "267", "268", "269", "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", "281", - "282", "283", "284", "285", "286", "287", "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", - "298", "299", "300", "301", "302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313", - "314", "315", "316", "317", "318", "319", "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", - "330", "331", "332", "333", "334", "335", "336", "337", "338", "339", "340", "341", "342", "343", "344", "345", - "346", "347", "348", "349", "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "360", "361", - "362", "363", "364", "365", "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", - "378", "379", "380", "381", "382", "383", "384", "385", "386", "387", "388", "389", "390", "391", "392", "393", - "394", "395", "396", "397", "398", "399", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", - "410", "411", "412", "413", "414", "415", "416", "417", "418", "419", "420", "421", "422", "423", "424", "425", - "426", "427", "428", "429", "430", "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", - "442", "443", "444", "445", "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", "457", - "458", "459", "460", "461", "462", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", - "474", "475", "476", "477", "478", "479", "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", - "490", "491", "492", "493", "494", "495", "496", "497", "498", "499", "500"] select s }; + "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", + "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", + "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", + "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", + "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", + "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", + "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", + "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", + "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", + "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", + "250", "251", "252", "253", "254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", + "266", "267", "268", "269", "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", "281", + "282", "283", "284", "285", "286", "287", "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", + "298", "299", "300", "301", "302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313", + "314", "315", "316", "317", "318", "319", "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", + "330", "331", "332", "333", "334", "335", "336", "337", "338", "339", "340", "341", "342", "343", "344", "345", + "346", "347", "348", "349", "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "360", "361", + "362", "363", "364", "365", "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", + "378", "379", "380", "381", "382", "383", "384", "385", "386", "387", "388", "389", "390", "391", "392", "393", + "394", "395", "396", "397", "398", "399", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", + "410", "411", "412", "413", "414", "415", "416", "417", "418", "419", "420", "421", "422", "423", "424", "425", + "426", "427", "428", "429", "430", "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", + "442", "443", "444", "445", "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", "457", + "458", "459", "460", "461", "462", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", + "474", "475", "476", "477", "478", "479", "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", + "490", "491", "492", "493", "494", "495", "496", "497", "498", "499", "500", "501", "502", "503", "504", "505", + "506", "507", "508", "509", "510", "511", "512", "513", "514", "515", "516", "517", "518", "519", "520", "521", + "522", "523", "524", "525", "526", "527", "528", "529", "530", "531", "532", "533", "534", "535", "536", "537", + "538", "539", "540", "541", "542", "543", "544", "545", "546", "547", "548", "549", "550", "551", "552", "553", + "554", "555", "556", "557", "558", "559", "560", "561", "562", "563", "564", "565", "566", "567", "568", "569", + "570", "571", "572", "573", "574", "575", "576", "577", "578", "579", "580", "581", "582", "583", "584", "585", + "586", "587", "588", "589", "590", "591", "592", "593", "594", "595", "596", "597", "598", "599", "600", "601", + "602", "603", "604", "605", "606", "607", "608", "609", "610", "611", "612", "613", "614", "615", "616", "617", + "618", "619", "620", "621", "622", "623", "624", "625", "626", "627", "628", "629", "630", "631", "632", "633", + "634", "635", "636", "637", "638", "639", "640", "641", "642", "643", "644", "645", "646", "647", "648", "649", + "650", "651", "652", "653", "654", "655", "656", "657", "658", "659", "660", "661", "662", "663", "664", "665", + "666", "667", "668", "669", "670", "671", "672", "673", "674", "675", "676", "677", "678", "679", "680", "681", + "682", "683", "684", "685", "686", "687", "688", "689", "690", "691", "692", "693", "694", "695", "696", "697", + "698", "699", "700", "701", "702", "703", "704", "705", "706", "707", "708", "709", "710", "711", "712", "713", + "714", "715", "716", "717", "718", "719", "720", "721", "722", "723", "724", "725", "726", "727", "728", "729", + "730", "731", "732", "733", "734", "735", "736", "737", "738", "739", "740", "741", "742", "743", "744", "745", + "746", "747", "748", "749", "750", "751", "752", "753", "754", "755", "756", "757", "758", "759", "760", "761", + "762", "763", "764", "765", "766", "767", "768", "769", "770", "771", "772", "773", "774", "775", "776", "777", + "778", "779", "780", "781", "782", "783", "784", "785", "786", "787", "788", "789", "790", "791", "792", "793", + "794", "795", "796", "797", "798", "799", "800", "801", "802", "803", "804", "805", "806", "807", "808", "809", + "810", "811", "812", "813", "814", "815", "816", "817", "818", "819", "820", "821", "822", "823", "824", "825", + "826", "827", "828", "829", "830", "831", "832", "833", "834", "835", "836", "837", "838", "839", "840", "841", + "842", "843", "844", "845", "846", "847", "848", "849", "850", "851", "852", "853", "854", "855", "856", "857", + "858", "859", "860", "861", "862", "863", "864", "865", "866", "867", "868", "869", "870", "871", "872", "873", + "874", "875", "876", "877", "878", "879", "880", "881", "882", "883", "884", "885", "886", "887", "888", "889", + "890", "891", "892", "893", "894", "895", "896", "897", "898", "899", "900", "901", "902", "903", "904", "905", + "906", "907", "908", "909", "910", "911", "912", "913", "914", "915", "916", "917", "918", "919", "920", "921", + "922", "923", "924", "925", "926", "927", "928", "929", "930", "931", "932", "933", "934", "935", "936", "937", + "938", "939", "940", "941", "942", "943", "944", "945", "946", "947", "948", "949", "950", "951", "952", "953", + "954", "955", "956", "957", "958", "959", "960", "961", "962", "963", "964", "965", "966", "967", "968", "969", + "970", "971", "972", "973", "974", "975", "976", "977", "978", "979", "980", "981", "982", "983", "984", "985", + "986", "987", "988", "989", "990", "991", "992", "993", "994", "995", "996", "997", "998", "999", "1000"] select s }; test:assertEquals(rec1, {"params":["a","b","c","abc", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44", "45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59", "60", "61", "62", "63", "64", "65", "66", "67", "68", "69", "70", "71", "72", "73", "74", "75", "76", "77", "78", "79", "80", "81", "82", "83", "84", "85", "86", "87", - "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", - "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", - "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", - "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", - "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", - "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", - "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", - "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", - "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", - "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", - "250", "251", "252", "253", "254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", - "266", "267", "268", "269", "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", "281", - "282", "283", "284", "285", "286", "287", "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", - "298", "299", "300", "301", "302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313", - "314", "315", "316", "317", "318", "319", "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", - "330", "331", "332", "333", "334", "335", "336", "337", "338", "339", "340", "341", "342", "343", "344", "345", - "346", "347", "348", "349", "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "360", "361", - "362", "363", "364", "365", "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", - "378", "379", "380", "381", "382", "383", "384", "385", "386", "387", "388", "389", "390", "391", "392", "393", - "394", "395", "396", "397", "398", "399", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", - "410", "411", "412", "413", "414", "415", "416", "417", "418", "419", "420", "421", "422", "423", "424", "425", - "426", "427", "428", "429", "430", "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", - "442", "443", "444", "445", "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", "457", - "458", "459", "460", "461", "462", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", - "474", "475", "476", "477", "478", "479", "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", - "490", "491", "492", "493", "494", "495", "496", "497", "498", "499", "500"]}); + "88", "89", "90", "91", "92", "93", "94", "95", "96", "97", "98", "99", "100", "101", "102", "103", "104", "105", + "106", "107", "108", "109", "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", + "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", + "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", + "154", "155", "156", "157", "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", + "170", "171", "172", "173", "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", + "186", "187", "188", "189", "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", + "202", "203", "204", "205", "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", + "218", "219", "220", "221", "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", + "234", "235", "236", "237", "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", + "250", "251", "252", "253", "254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", + "266", "267", "268", "269", "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", "281", + "282", "283", "284", "285", "286", "287", "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", + "298", "299", "300", "301", "302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313", + "314", "315", "316", "317", "318", "319", "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", + "330", "331", "332", "333", "334", "335", "336", "337", "338", "339", "340", "341", "342", "343", "344", "345", + "346", "347", "348", "349", "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "360", "361", + "362", "363", "364", "365", "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", + "378", "379", "380", "381", "382", "383", "384", "385", "386", "387", "388", "389", "390", "391", "392", "393", + "394", "395", "396", "397", "398", "399", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", + "410", "411", "412", "413", "414", "415", "416", "417", "418", "419", "420", "421", "422", "423", "424", "425", + "426", "427", "428", "429", "430", "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", + "442", "443", "444", "445", "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", "457", + "458", "459", "460", "461", "462", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", + "474", "475", "476", "477", "478", "479", "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", + "490", "491", "492", "493", "494", "495", "496", "497", "498", "499", "500", "501", "502", "503", "504", "505", + "506", "507", "508", "509", "510", "511", "512", "513", "514", "515", "516", "517", "518", "519", "520", "521", + "522", "523", "524", "525", "526", "527", "528", "529", "530", "531", "532", "533", "534", "535", "536", "537", + "538", "539", "540", "541", "542", "543", "544", "545", "546", "547", "548", "549", "550", "551", "552", "553", + "554", "555", "556", "557", "558", "559", "560", "561", "562", "563", "564", "565", "566", "567", "568", "569", + "570", "571", "572", "573", "574", "575", "576", "577", "578", "579", "580", "581", "582", "583", "584", "585", + "586", "587", "588", "589", "590", "591", "592", "593", "594", "595", "596", "597", "598", "599", "600", "601", + "602", "603", "604", "605", "606", "607", "608", "609", "610", "611", "612", "613", "614", "615", "616", "617", + "618", "619", "620", "621", "622", "623", "624", "625", "626", "627", "628", "629", "630", "631", "632", "633", + "634", "635", "636", "637", "638", "639", "640", "641", "642", "643", "644", "645", "646", "647", "648", "649", + "650", "651", "652", "653", "654", "655", "656", "657", "658", "659", "660", "661", "662", "663", "664", "665", + "666", "667", "668", "669", "670", "671", "672", "673", "674", "675", "676", "677", "678", "679", "680", "681", + "682", "683", "684", "685", "686", "687", "688", "689", "690", "691", "692", "693", "694", "695", "696", "697", + "698", "699", "700", "701", "702", "703", "704", "705", "706", "707", "708", "709", "710", "711", "712", "713", + "714", "715", "716", "717", "718", "719", "720", "721", "722", "723", "724", "725", "726", "727", "728", "729", + "730", "731", "732", "733", "734", "735", "736", "737", "738", "739", "740", "741", "742", "743", "744", "745", + "746", "747", "748", "749", "750", "751", "752", "753", "754", "755", "756", "757", "758", "759", "760", "761", + "762", "763", "764", "765", "766", "767", "768", "769", "770", "771", "772", "773", "774", "775", "776", "777", + "778", "779", "780", "781", "782", "783", "784", "785", "786", "787", "788", "789", "790", "791", "792", "793", + "794", "795", "796", "797", "798", "799", "800", "801", "802", "803", "804", "805", "806", "807", "808", "809", + "810", "811", "812", "813", "814", "815", "816", "817", "818", "819", "820", "821", "822", "823", "824", "825", + "826", "827", "828", "829", "830", "831", "832", "833", "834", "835", "836", "837", "838", "839", "840", "841", + "842", "843", "844", "845", "846", "847", "848", "849", "850", "851", "852", "853", "854", "855", "856", "857", + "858", "859", "860", "861", "862", "863", "864", "865", "866", "867", "868", "869", "870", "871", "872", "873", + "874", "875", "876", "877", "878", "879", "880", "881", "882", "883", "884", "885", "886", "887", "888", "889", + "890", "891", "892", "893", "894", "895", "896", "897", "898", "899", "900", "901", "902", "903", "904", "905", + "906", "907", "908", "909", "910", "911", "912", "913", "914", "915", "916", "917", "918", "919", "920", "921", + "922", "923", "924", "925", "926", "927", "928", "929", "930", "931", "932", "933", "934", "935", "936", "937", + "938", "939", "940", "941", "942", "943", "944", "945", "946", "947", "948", "949", "950", "951", "952", "953", + "954", "955", "956", "957", "958", "959", "960", "961", "962", "963", "964", "965", "966", "967", "968", "969", + "970", "971", "972", "973", "974", "975", "976", "977", "978", "979", "980", "981", "982", "983", "984", "985", + "986", "987", "988", "989", "990", "991", "992", "993", "994", "995", "996", "997", "998", "999", "1000"]}); } diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/record-with-annotations.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/record-with-annotations.bal index a882a8d7527a..53bf953b95d5 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/record-with-annotations.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods2/modules/records/record-with-annotations.bal @@ -34,28 +34,59 @@ public [@annotOne {value: gVar} int, @annotOne {value: "k"} int, string...] g1 = "110", "111", "112", "113", "114", "115", "116", "117", "118", "119", "120", "121", "122", "123", "124", "125", "126", "127", "128", "129", "130", "131", "132", "133", "134", "135", "136", "137", "138", "139", "140", "141", "142", "143", "144", "145", "146", "147", "148", "149", "150", "151", "152", "153", "154", "155", "156", "157", - "158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", "170", "171", "172", "173", - "174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", - "190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", "202", "203", "204", "205", - "206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", "220", "221", - "222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", - "238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", "250", "251", "252", "253", - "254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", "266", "267", "268", "269", - "270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", "281", "282", "283", "284", "285", - "286", "287", "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", "298", "299", "300", "301", - "302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313", "314", "315", "316", "317", - "318", "319", "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", "330", "331", "332", "333", - "334", "335", "336", "337", "338", "339", "340", "341", "342", "343", "344", "345", "346", "347", "348", "349", - "350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "360", "361", "362", "363", "364", "365", - "366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", "378", "379", "380", "381", - "382", "383", "384", "385", "386", "387", "388", "389", "390", "391", "392", "393", "394", "395", "396", "397", - "398", "399", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", - "414", "415", "416", "417", "418", "419", "420", "421", "422", "423", "424", "425", "426", "427", "428", "429", - "430", "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", - "446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", "457", "458", "459", "460", "461", - "462", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "476", "477", - "478", "479", "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", "490", "491", "492", "493", - "494", "495", "496", "497", "498", "499", "500", "501", "502"]; +"158", "159", "160", "161", "162", "163", "164", "165", "166", "167", "168", "169", "170", "171", "172", "173", +"174", "175", "176", "177", "178", "179", "180", "181", "182", "183", "184", "185", "186", "187", "188", "189", +"190", "191", "192", "193", "194", "195", "196", "197", "198", "199", "200", "201", "202", "203", "204", "205", +"206", "207", "208", "209", "210", "211", "212", "213", "214", "215", "216", "217", "218", "219", "220", "221", +"222", "223", "224", "225", "226", "227", "228", "229", "230", "231", "232", "233", "234", "235", "236", "237", +"238", "239", "240", "241", "242", "243", "244", "245", "246", "247", "248", "249", "250", "251", "252", "253", +"254", "255", "256", "257", "258", "259", "260", "261", "262", "263", "264", "265", "266", "267", "268", "269", +"270", "271", "272", "273", "274", "275", "276", "277", "278", "279", "280", "281", "282", "283", "284", "285", +"286", "287", "288", "289", "290", "291", "292", "293", "294", "295", "296", "297", "298", "299", "300", "301", +"302", "303", "304", "305", "306", "307", "308", "309", "310", "311", "312", "313", "314", "315", "316", "317", +"318", "319", "320", "321", "322", "323", "324", "325", "326", "327", "328", "329", "330", "331", "332", "333", +"334", "335", "336", "337", "338", "339", "340", "341", "342", "343", "344", "345", "346", "347", "348", "349", +"350", "351", "352", "353", "354", "355", "356", "357", "358", "359", "360", "361", "362", "363", "364", "365", +"366", "367", "368", "369", "370", "371", "372", "373", "374", "375", "376", "377", "378", "379", "380", "381", +"382", "383", "384", "385", "386", "387", "388", "389", "390", "391", "392", "393", "394", "395", "396", "397", +"398", "399", "400", "401", "402", "403", "404", "405", "406", "407", "408", "409", "410", "411", "412", "413", +"414", "415", "416", "417", "418", "419", "420", "421", "422", "423", "424", "425", "426", "427", "428", "429", +"430", "431", "432", "433", "434", "435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", +"446", "447", "448", "449", "450", "451", "452", "453", "454", "455", "456", "457", "458", "459", "460", "461", +"462", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "476", "477", +"478", "479", "480", "481", "482", "483", "484", "485", "486", "487", "488", "489", "490", "491", "492", "493", +"494", "495", "496", "497", "498", "499", "500", "501", "502", "503", "504", "505", "506", "507", "508", "509", +"510", "511", "512", "513", "514", "515", "516", "517", "518", "519", "520", "521", "522", "523", "524", "525", +"526", "527", "528", "529", "530", "531", "532", "533", "534", "535", "536", "537", "538", "539", "540", "541", +"542", "543", "544", "545", "546", "547", "548", "549", "550", "551", "552", "553", "554", "555", "556", "557", +"558", "559", "560", "561", "562", "563", "564", "565", "566", "567", "568", "569", "570", "571", "572", "573", +"574", "575", "576", "577", "578", "579", "580", "581", "582", "583", "584", "585", "586", "587", "588", "589", +"590", "591", "592", "593", "594", "595", "596", "597", "598", "599", "600", "601", "602", "603", "604", "605", +"606", "607", "608", "609", "610", "611", "612", "613", "614", "615", "616", "617", "618", "619", "620", "621", +"622", "623", "624", "625", "626", "627", "628", "629", "630", "631", "632", "633", "634", "635", "636", "637", +"638", "639", "640", "641", "642", "643", "644", "645", "646", "647", "648", "649", "650", "651", "652", "653", +"654", "655", "656", "657", "658", "659", "660", "661", "662", "663", "664", "665", "666", "667", "668", "669", +"670", "671", "672", "673", "674", "675", "676", "677", "678", "679", "680", "681", "682", "683", "684", "685", +"686", "687", "688", "689", "690", "691", "692", "693", "694", "695", "696", "697", "698", "699", "700", "701", +"702", "703", "704", "705", "706", "707", "708", "709", "710", "711", "712", "713", "714", "715", "716", "717", +"718", "719", "720", "721", "722", "723", "724", "725", "726", "727", "728", "729", "730", "731", "732", "733", +"734", "735", "736", "737", "738", "739", "740", "741", "742", "743", "744", "745", "746", "747", "748", "749", +"750", "751", "752", "753", "754", "755", "756", "757", "758", "759", "760", "761", "762", "763", "764", "765", +"766", "767", "768", "769", "770", "771", "772", "773", "774", "775", "776", "777", "778", "779", "780", "781", +"782", "783", "784", "785", "786", "787", "788", "789", "790", "791", "792", "793", "794", "795", "796", "797", +"798", "799", "800", "801", "802", "803", "804", "805", "806", "807", "808", "809", "810", "811", "812", "813", +"814", "815", "816", "817", "818", "819", "820", "821", "822", "823", "824", "825", "826", "827", "828", "829", +"830", "831", "832", "833", "834", "835", "836", "837", "838", "839", "840", "841", "842", "843", "844", "845", +"846", "847", "848", "849", "850", "851", "852", "853", "854", "855", "856", "857", "858", "859", "860", "861", +"862", "863", "864", "865", "866", "867", "868", "869", "870", "871", "872", "873", "874", "875", "876", "877", +"878", "879", "880", "881", "882", "883", "884", "885", "886", "887", "888", "889", "890", "891", "892", "893", +"894", "895", "896", "897", "898", "899", "900", "901", "902", "903", "904", "905", "906", "907", "908", "909", +"910", "911", "912", "913", "914", "915", "916", "917", "918", "919", "920", "921", "922", "923", "924", "925", +"926", "927", "928", "929", "930", "931", "932", "933", "934", "935", "936", "937", "938", "939", "940", "941", +"942", "943", "944", "945", "946", "947", "948", "949", "950", "951", "952", "953", "954", "955", "956", "957", +"958", "959", "960", "961", "962", "963", "964", "965", "966", "967", "968", "969", "970", "971", "972", "973", +"974", "975", "976", "977", "978", "979", "980", "981", "982", "983", "984", "985", "986", "987", "988", "989", +"990", "991", "992", "993", "994", "995", "996", "997", "998", "999", "1000"]; public function testAnnotationsOnLocalRecordFields() { record { diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/.gitignore b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/.gitignore new file mode 100644 index 000000000000..5cf2b2aef30b --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/.gitignore @@ -0,0 +1,2 @@ +target +Dependencies.toml diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/Ballerina.toml b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/Ballerina.toml new file mode 100644 index 000000000000..6f46e0daf51e --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/Ballerina.toml @@ -0,0 +1,7 @@ +[build-options] +observabilityIncluded = false + +[package] +org = "testOrg" +name = "largeMethods3" +version = "0.1.0" diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/main.bal b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/main.bal new file mode 100644 index 000000000000..4e256b38aea8 --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/jvm/largeMethods3/main.bal @@ -0,0 +1,5608 @@ +// Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com) All Rights Reserved. +// +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import ballerina/test; + +type Person record {| + int age; +|}; + +type ExpectedString record {| + (any|error)[] expectedArray = [["globalVarStringVal1","localVarStringVal1","globalVarStringVal2", + "localVarStringVal2","globalVarStringVal3","localVarStringVal3","globalVarStringVal4","localVarStringVal4", + "globalVarStringVal5","localVarStringVal5","globalVarStringVal6","localVarStringVal6","globalVarStringVal7", + "localVarStringVal7","globalVarStringVal8","localVarStringVal8","globalVarStringVal9","localVarStringVal9", + "globalVarStringVal10","localVarStringVal10","globalVarStringVal11","localVarStringVal11","globalVarStringVal12", + "localVarStringVal12","globalVarStringVal13","localVarStringVal13","globalVarStringVal14","localVarStringVal14", + "globalVarStringVal15","localVarStringVal15","globalVarStringVal16","localVarStringVal16","globalVarStringVal17", + "localVarStringVal17","globalVarStringVal18","localVarStringVal18","globalVarStringVal19","localVarStringVal19", + "globalVarStringVal20","localVarStringVal20","globalVarStringVal21","localVarStringVal21","globalVarStringVal22", + "localVarStringVal22","globalVarStringVal23","localVarStringVal23","globalVarStringVal24","localVarStringVal24", + "globalVarStringVal25","localVarStringVal25","globalVarStringVal26","localVarStringVal26","globalVarStringVal27", + "localVarStringVal27","globalVarStringVal28","localVarStringVal28","globalVarStringVal29","localVarStringVal29", + "globalVarStringVal30","localVarStringVal30","globalVarStringVal31","localVarStringVal31","globalVarStringVal32", + "localVarStringVal32","globalVarStringVal33","localVarStringVal33","globalVarStringVal34","localVarStringVal34", + "globalVarStringVal35","localVarStringVal35","globalVarStringVal36","localVarStringVal36","globalVarStringVal37", + "localVarStringVal37","globalVarStringVal38","localVarStringVal38","globalVarStringVal39","localVarStringVal39", + "globalVarStringVal40","localVarStringVal40","globalVarStringVal41","localVarStringVal41","globalVarStringVal42", + "localVarStringVal42","globalVarStringVal43","localVarStringVal43","globalVarStringVal44","localVarStringVal44", + "globalVarStringVal45","localVarStringVal45","globalVarStringVal46","localVarStringVal46","globalVarStringVal47", + "localVarStringVal47","globalVarStringVal48","localVarStringVal48","globalVarStringVal49","localVarStringVal49", + "globalVarStringVal50","localVarStringVal50","globalVarStringVal51","localVarStringVal1","globalVarStringVal52", + "localVarStringVal2","globalVarStringVal53","localVarStringVal3","globalVarStringVal54","localVarStringVal4", + "globalVarStringVal55","localVarStringVal5","globalVarStringVal56","localVarStringVal6","globalVarStringVal57", + "localVarStringVal7","globalVarStringVal58","localVarStringVal8","globalVarStringVal59","localVarStringVal9", + "globalVarStringVal60","localVarStringVal1","globalVarStringVal61","localVarStringVal1","globalVarStringVal62", + "localVarStringVal2","globalVarStringVal63","localVarStringVal3","globalVarStringVal64","localVarStringVal4", + "globalVarStringVal65","localVarStringVal5","globalVarStringVal66","localVarStringVal6","globalVarStringVal67", + "localVarStringVal7","globalVarStringVal68","localVarStringVal8","globalVarStringVal69","localVarStringVal9", + "globalVarStringVal70","localVarStringVal10","globalVarStringVal71","localVarStringVal1","globalVarStringVal72", + "localVarStringVal2","globalVarStringVal73","localVarStringVal3","globalVarStringVal74","localVarStringVal4", + "globalVarStringVal75","localVarStringVal5","globalVarStringVal76","localVarStringVal6","globalVarStringVal77", + "localVarStringVal7","globalVarStringVal78","localVarStringVal8","globalVarStringVal79","localVarStringVal9", + "globalVarStringVal80","localVarStringVal10","globalVarStringVal81","localVarStringVal1","globalVarStringVal82", + "localVarStringVal2","globalVarStringVal83","localVarStringVal3","globalVarStringVal84","localVarStringVal4", + "globalVarStringVal85","localVarStringVal5","globalVarStringVal86","localVarStringVal6","globalVarStringVal87", + "localVarStringVal7","globalVarStringVal88","localVarStringVal8","globalVarStringVal89","localVarStringVal9", + "globalVarStringVal90","localVarStringVal10","globalVarStringVal91","localVarStringVal1","globalVarStringVal92", + "localVarStringVal2","globalVarStringVal93","localVarStringVal3","globalVarStringVal94","localVarStringVal4", + "globalVarStringVal95","localVarStringVal5","globalVarStringVal96","localVarStringVal6","globalVarStringVal97", + "localVarStringVal7","globalVarStringVal98","localVarStringVal8","globalVarStringVal99","localVarStringVal9", + "globalVarStringVal100","localVarStringVal10",1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14, + 14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32, + 33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51, + 1,52,2,53,3,54,4,55,5,56,6,57,7,58,8,59,9,60,10,61,1,62,2,63,3,64,4,65,5,66,6,67,7,68,8,69,9,70,10,71,1,72,2,73, + 3,74,4,75,5,76,6,77,7,78,8,79,9,80,10,81,1,82,2,83,3,84,4,85,5,86,6,87,7,88,8,89,9,90,10,91,1,92,2,93,3,94,4, + 95,5,96,6,97,7,98,8,99,9,100,10,"a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0,2.0,null, + {"a":1},[1,[2]],[[1,2]],{"b":3},{"name":"name1","age":1},{"name":"name2","age":2},{"name":"name3","age":3}, + {"name":"name4","age":4},{"name":"name5","age":5},{"name":"name6","age":6},{"name":"name7","age":7}, + {"name":"name8","age":8},{"name":"name9","age":9},{"name":"name10","age":10},{"name":"name11","age":11}, + {"name":"name12","age":12},{"name":"name13","age":13},{"name":"name14","age":14},{"name":"name15","age":15}, + {"name":"name16","age":16},{"name":"name17","age":17},{"name":"name18","age":18},{"name":"name19","age":19}, + {"name":"name20","age":20},{"name":"name21","age":21},{"name":"name22","age":22},{"name":"name23","age":23}, + {"name":"name24","age":24},{"name":"name25","age":25},{"name":"name26","age":26},{"name":"name27","age":27}, + {"name":"name28","age":28},{"name":"name29","age":29},{"name":"name30","age":30},{"name":"name31","age":31}, + {"name":"name32","age":32},{"name":"name33","age":33},{"name":"name34","age":34},{"name":"name35","age":35}, + {"name":"name36","age":36},{"name":"name37","age":37},{"name":"name38","age":38},{"name":"name39","age":39}, + {"name":"name40","age":40},{"name":"name41","age":41},{"name":"name42","age":42},{"name":"name43","age":43}, + {"name":"name44","age":44},{"name":"name45","age":45},{"name":"name46","age":46},{"name":"name47","age":47}, + {"name":"name48","age":48},{"name":"name49","age":49},{"name":"name50","age":50},{"name":"name51","age":51}, + {"name":"name52","age":52},{"name":"name53","age":53},{"name":"name54","age":54},{"name":"name55","age":55}, + {"name":"name56","age":56},{"name":"name57","age":57},{"name":"name58","age":58},{"name":"name59","age":59}, + {"name":"name60","age":60},{"name":"name61","age":61},{"name":"name62","age":62},{"name":"name63","age":63}, + {"name":"name64","age":64},{"name":"name65","age":65},{"name":"name66","age":66},{"name":"name67","age":67}, + {"name":"name68","age":68},{"name":"name69","age":69},{"name":"name70","age":70},{"name":"name71","age":71}, + {"name":"name72","age":72},{"name":"name73","age":73},{"name":"name74","age":74},{"name":"name75","age":75}, + {"name":"name76","age":76},{"name":"name77","age":77},{"name":"name78","age":78},{"name":"name79","age":79}, + {"name":"name80","age":80},{"name":"name81","age":81},{"name":"name82","age":82},{"name":"name83","age":83}, + {"name":"name84","age":84},{"name":"name85","age":85},{"name":"name86","age":86},{"name":"name87","age":87}, + {"name":"name88","age":88},{"name":"name89","age":89},{"name":"name90","age":90},{"name":"name91","age":91}, + {"name":"name92","age":92},{"name":"name93","age":93},{"name":"name94","age":94},{"name":"name95","age":95}, + {"name":"name96","age":96},{"name":"name97","age":97},{"name":"name98","age":98},{"name":"name99","age":99}, + {"name":"name100","age":100},["a","b","barval","c","globalVarStringVal1",1,"d","appleval","e",1, + "localVarStringVal1","f","orangeval","g","h","grapeval","i","j","globalVarStringVal1vala", + "localVarStringVal1name",2,3], + error("{ballerina/lang.xml}XMLOperationError",message="Failed to set children to xml element: Cycle detected"), + trap testXMLCycleInnerNonError(),true,false,true,true,true,["y","a",new NoFillerObject(1)],["y","str"], + {"name":"John","age":30,"male":true,"height":1.8,"weight":80,"friends":"Peter"},[2,4],[5,9,2,4],true,true,true, + [7,7,7,7],[[[100,200,3],[2,5,6]],[[100,200,3],[2,5,6],[12,15,16]]],"globalVarStringVal1","localVarStringVal1", + "globalVarStringVal2","localVarStringVal2","globalVarStringVal3","localVarStringVal3","globalVarStringVal4", + "localVarStringVal4","globalVarStringVal5","localVarStringVal5","globalVarStringVal6","localVarStringVal6", + "globalVarStringVal7","localVarStringVal7","globalVarStringVal8","localVarStringVal8","globalVarStringVal9", + "localVarStringVal9","globalVarStringVal10","localVarStringVal10","globalVarStringVal11","localVarStringVal11", + "globalVarStringVal12","localVarStringVal12","globalVarStringVal13","localVarStringVal13","globalVarStringVal14", + "localVarStringVal14","globalVarStringVal15","localVarStringVal15","globalVarStringVal16","localVarStringVal16", + "globalVarStringVal17","localVarStringVal17","globalVarStringVal18","localVarStringVal18","globalVarStringVal19", + "localVarStringVal19","globalVarStringVal20","localVarStringVal20","globalVarStringVal21","localVarStringVal21", + "globalVarStringVal22","localVarStringVal22","globalVarStringVal23","localVarStringVal23","globalVarStringVal24", + "localVarStringVal24","globalVarStringVal25","localVarStringVal25","globalVarStringVal26","localVarStringVal26", + "globalVarStringVal27","localVarStringVal27","globalVarStringVal28","localVarStringVal28","globalVarStringVal29", + "localVarStringVal29","globalVarStringVal30","localVarStringVal30","globalVarStringVal31","localVarStringVal31", + "globalVarStringVal32","localVarStringVal32","globalVarStringVal33","localVarStringVal33","globalVarStringVal34", + "localVarStringVal34","globalVarStringVal35","localVarStringVal35","globalVarStringVal36","localVarStringVal36", + "globalVarStringVal37","localVarStringVal37","globalVarStringVal38","localVarStringVal38","globalVarStringVal39", + "localVarStringVal39","globalVarStringVal40","localVarStringVal40","globalVarStringVal41","localVarStringVal41", + "globalVarStringVal42","localVarStringVal42","globalVarStringVal43","localVarStringVal43","globalVarStringVal44", + "localVarStringVal44","globalVarStringVal45","localVarStringVal45","globalVarStringVal46","localVarStringVal46", + "globalVarStringVal47","localVarStringVal47","globalVarStringVal48","localVarStringVal48","globalVarStringVal49", + "localVarStringVal49","globalVarStringVal50","localVarStringVal50","globalVarStringVal51","localVarStringVal1", + "globalVarStringVal52","localVarStringVal2","globalVarStringVal53","localVarStringVal3","globalVarStringVal54", + "localVarStringVal4","globalVarStringVal55","localVarStringVal5","globalVarStringVal56","localVarStringVal6", + "globalVarStringVal57","localVarStringVal7","globalVarStringVal58","localVarStringVal8","globalVarStringVal59", + "localVarStringVal9","globalVarStringVal60","localVarStringVal1","globalVarStringVal61","localVarStringVal1", + "globalVarStringVal62","localVarStringVal2","globalVarStringVal63","localVarStringVal3","globalVarStringVal64", + "localVarStringVal4","globalVarStringVal65","localVarStringVal5","globalVarStringVal66","localVarStringVal6", + "globalVarStringVal67","localVarStringVal7","globalVarStringVal68","localVarStringVal8","globalVarStringVal69", + "localVarStringVal9","globalVarStringVal70","localVarStringVal10","globalVarStringVal71","localVarStringVal1", + "globalVarStringVal72","localVarStringVal2","globalVarStringVal73","localVarStringVal3","globalVarStringVal74", + "localVarStringVal4","globalVarStringVal75","localVarStringVal5","globalVarStringVal76","localVarStringVal6", + "globalVarStringVal77","localVarStringVal7","globalVarStringVal78","localVarStringVal8","globalVarStringVal79", + "localVarStringVal9","globalVarStringVal80","localVarStringVal10","globalVarStringVal81","localVarStringVal1", + "globalVarStringVal82","localVarStringVal2","globalVarStringVal83","localVarStringVal3","globalVarStringVal84", + "localVarStringVal4","globalVarStringVal85","localVarStringVal5","globalVarStringVal86","localVarStringVal6", + "globalVarStringVal87","localVarStringVal7","globalVarStringVal88","localVarStringVal8","globalVarStringVal89", + "localVarStringVal9","globalVarStringVal90","localVarStringVal10","globalVarStringVal91","localVarStringVal1", + "globalVarStringVal92","localVarStringVal2","globalVarStringVal93","localVarStringVal3","globalVarStringVal94", + "localVarStringVal4","globalVarStringVal95","localVarStringVal5","globalVarStringVal96","localVarStringVal6", + "globalVarStringVal97","localVarStringVal7","globalVarStringVal98","localVarStringVal8","globalVarStringVal99", + "localVarStringVal9","globalVarStringVal100","localVarStringVal10",1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11, + 11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29, + 30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48, + 48,49,49,50,50,51,1,52,2,53,3,54,4,55,5,56,6,57,7,58,8,59,9,60,10,61,1,62,2,63,3,64,4,65,5,66,6,67,7,68,8,69,9, + 70,10,71,1,72,2,73,3,74,4,75,5,76,6,77,7,78,8,79,9,80,10,81,1,82,2,83,3,84,4,85,5,86,6,87,7,88,8,89,9,90,10,91, + 1,92,2,93,3,94,4,95,5,96,6,97,7,98,8,99,9,100,10,"a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0,2.0,null, + {"a":1},[1,[2]],[[1,2]],{"b":3},{"name":"name1","age":1},{"name":"name2","age":2},{"name":"name3","age":3}, + {"name":"name4","age":4},{"name":"name5","age":5},{"name":"name6","age":6},{"name":"name7","age":7}, + {"name":"name8","age":8},{"name":"name9","age":9},{"name":"name10","age":10},{"name":"name11","age":11}, + {"name":"name12","age":12},{"name":"name13","age":13},{"name":"name14","age":14},{"name":"name15","age":15}, + {"name":"name16","age":16},{"name":"name17","age":17},{"name":"name18","age":18},{"name":"name19","age":19}, + {"name":"name20","age":20},{"name":"name21","age":21},{"name":"name22","age":22},{"name":"name23","age":23}, + {"name":"name24","age":24},{"name":"name25","age":25},{"name":"name26","age":26},{"name":"name27","age":27}, + {"name":"name28","age":28},{"name":"name29","age":29},{"name":"name30","age":30},{"name":"name31","age":31}, + {"name":"name32","age":32},{"name":"name33","age":33},{"name":"name34","age":34},{"name":"name35","age":35}, + {"name":"name36","age":36},{"name":"name37","age":37},{"name":"name38","age":38},{"name":"name39","age":39}, + {"name":"name40","age":40},{"name":"name41","age":41},{"name":"name42","age":42},{"name":"name43","age":43}, + {"name":"name44","age":44},{"name":"name45","age":45},{"name":"name46","age":46},{"name":"name47","age":47}, + {"name":"name48","age":48},{"name":"name49","age":49},{"name":"name50","age":50},{"name":"name51","age":51}, + {"name":"name52","age":52},{"name":"name53","age":53},{"name":"name54","age":54},{"name":"name55","age":55}, + {"name":"name56","age":56},{"name":"name57","age":57},{"name":"name58","age":58},{"name":"name59","age":59}, + {"name":"name60","age":60},{"name":"name61","age":61},{"name":"name62","age":62},{"name":"name63","age":63}, + {"name":"name64","age":64},{"name":"name65","age":65},{"name":"name66","age":66},{"name":"name67","age":67}, + {"name":"name68","age":68},{"name":"name69","age":69},{"name":"name70","age":70},{"name":"name71","age":71}, + {"name":"name72","age":72},{"name":"name73","age":73},{"name":"name74","age":74},{"name":"name75","age":75}, + {"name":"name76","age":76},{"name":"name77","age":77},{"name":"name78","age":78},{"name":"name79","age":79}, + {"name":"name80","age":80},{"name":"name81","age":81},{"name":"name82","age":82},{"name":"name83","age":83}, + {"name":"name84","age":84},{"name":"name85","age":85},{"name":"name86","age":86},{"name":"name87","age":87}, + {"name":"name88","age":88},{"name":"name89","age":89},{"name":"name90","age":90},{"name":"name91","age":91}, + {"name":"name92","age":92},{"name":"name93","age":93},{"name":"name94","age":94},{"name":"name95","age":95}, + {"name":"name96","age":96},{"name":"name97","age":97},{"name":"name98","age":98},{"name":"name99","age":99}, + {"name":"name100","age":100}]]; +|}; + +type someType [X, int]; + +type anotherType [Y, string, NoFillerObject]; + +type oneMoreType [Y, string]; + +type someOtherType someType | anotherType | oneMoreType; + +class NoFillerObject { + int a; + + isolated function init(int arg) { + self.a = arg; + } +} + +ExpectedString expectedResult = {}; + +(any|error)[] expectedStringArray = expectedResult.expectedArray; + +isolated 'xml:Element catalog = xml ` + + Empire Burlesque + Bob Dylan + + + Hide your heart + Bonnie Tyler + + + Greatest Hits + Dolly Parton + + `; + +const X = "x"; +const Y = "y"; + +map globalMap1 = {"name": "MyName", "age": "old"}; +map globalMap2 = {"name": "MyName2", "age": "young"}; + +string globalStr1 = "globalVarStringVal1"; +string globalStr2 = "globalVarStringVal2"; +string globalStr3 = "globalVarStringVal3"; +string globalStr4 = "globalVarStringVal4"; +string globalStr5 = "globalVarStringVal5"; +string globalStr6 = "globalVarStringVal6"; +string globalStr7 = "globalVarStringVal7"; +string globalStr8 = "globalVarStringVal8"; +string globalStr9 = "globalVarStringVal9"; +string globalStr10 = "globalVarStringVal10"; +string globalStr11 = "globalVarStringVal11"; +string globalStr12 = "globalVarStringVal12"; +string globalStr13 = "globalVarStringVal13"; +string globalStr14 = "globalVarStringVal14"; +string globalStr15 = "globalVarStringVal15"; +string globalStr16 = "globalVarStringVal16"; +string globalStr17 = "globalVarStringVal17"; +string globalStr18 = "globalVarStringVal18"; +string globalStr19 = "globalVarStringVal19"; +string globalStr20 = "globalVarStringVal20"; +string globalStr21 = "globalVarStringVal21"; +string globalStr22 = "globalVarStringVal22"; +string globalStr23 = "globalVarStringVal23"; +string globalStr24 = "globalVarStringVal24"; +string globalStr25 = "globalVarStringVal25"; +string globalStr26 = "globalVarStringVal26"; +string globalStr27 = "globalVarStringVal27"; +string globalStr28 = "globalVarStringVal28"; +string globalStr29 = "globalVarStringVal29"; +string globalStr30 = "globalVarStringVal30"; +string globalStr31 = "globalVarStringVal31"; +string globalStr32 = "globalVarStringVal32"; +string globalStr33 = "globalVarStringVal33"; +string globalStr34 = "globalVarStringVal34"; +string globalStr35 = "globalVarStringVal35"; +string globalStr36 = "globalVarStringVal36"; +string globalStr37 = "globalVarStringVal37"; +string globalStr38 = "globalVarStringVal38"; +string globalStr39 = "globalVarStringVal39"; +string globalStr40 = "globalVarStringVal40"; +string globalStr41 = "globalVarStringVal41"; +string globalStr42 = "globalVarStringVal42"; +string globalStr43 = "globalVarStringVal43"; +string globalStr44 = "globalVarStringVal44"; +string globalStr45 = "globalVarStringVal45"; +string globalStr46 = "globalVarStringVal46"; +string globalStr47 = "globalVarStringVal47"; +string globalStr48 = "globalVarStringVal48"; +string globalStr49 = "globalVarStringVal49"; +string globalStr50 = "globalVarStringVal50"; +string globalStr51 = "globalVarStringVal51"; +string globalStr52 = "globalVarStringVal52"; +string globalStr53 = "globalVarStringVal53"; +string globalStr54 = "globalVarStringVal54"; +string globalStr55 = "globalVarStringVal55"; +string globalStr56 = "globalVarStringVal56"; +string globalStr57 = "globalVarStringVal57"; +string globalStr58 = "globalVarStringVal58"; +string globalStr59 = "globalVarStringVal59"; +string globalStr60 = "globalVarStringVal60"; +string globalStr61 = "globalVarStringVal61"; +string globalStr62 = "globalVarStringVal62"; +string globalStr63 = "globalVarStringVal63"; +string globalStr64 = "globalVarStringVal64"; +string globalStr65 = "globalVarStringVal65"; +string globalStr66 = "globalVarStringVal66"; +string globalStr67 = "globalVarStringVal67"; +string globalStr68 = "globalVarStringVal68"; +string globalStr69 = "globalVarStringVal69"; +string globalStr70 = "globalVarStringVal70"; +string globalStr71 = "globalVarStringVal71"; +string globalStr72 = "globalVarStringVal72"; +string globalStr73 = "globalVarStringVal73"; +string globalStr74 = "globalVarStringVal74"; +string globalStr75 = "globalVarStringVal75"; +string globalStr76 = "globalVarStringVal76"; +string globalStr77 = "globalVarStringVal77"; +string globalStr78 = "globalVarStringVal78"; +string globalStr79 = "globalVarStringVal79"; +string globalStr80 = "globalVarStringVal80"; +string globalStr81 = "globalVarStringVal81"; +string globalStr82 = "globalVarStringVal82"; +string globalStr83 = "globalVarStringVal83"; +string globalStr84 = "globalVarStringVal84"; +string globalStr85 = "globalVarStringVal85"; +string globalStr86 = "globalVarStringVal86"; +string globalStr87 = "globalVarStringVal87"; +string globalStr88 = "globalVarStringVal88"; +string globalStr89 = "globalVarStringVal89"; +string globalStr90 = "globalVarStringVal90"; +string globalStr91 = "globalVarStringVal91"; +string globalStr92 = "globalVarStringVal92"; +string globalStr93 = "globalVarStringVal93"; +string globalStr94 = "globalVarStringVal94"; +string globalStr95 = "globalVarStringVal95"; +string globalStr96 = "globalVarStringVal96"; +string globalStr97 = "globalVarStringVal97"; +string globalStr98 = "globalVarStringVal98"; +string globalStr99 = "globalVarStringVal99"; +string globalStr100 = "globalVarStringVal100"; +int globalInt1 = 1; +int globalInt2 = 2; +int globalInt3 = 3; +int globalInt4 = 4; +int globalInt5 = 5; +int globalInt6 = 6; +int globalInt7 = 7; +int globalInt8 = 8; +int globalInt9 = 9; +int globalInt10 = 10; +int globalInt11 = 11; +int globalInt12 = 12; +int globalInt13 = 13; +int globalInt14 = 14; +int globalInt15 = 15; +int globalInt16 = 16; +int globalInt17 = 17; +int globalInt18 = 18; +int globalInt19 = 19; +int globalInt20 = 20; +int globalInt21 = 21; +int globalInt22 = 22; +int globalInt23 = 23; +int globalInt24 = 24; +int globalInt25 = 25; +int globalInt26 = 26; +int globalInt27 = 27; +int globalInt28 = 28; +int globalInt29 = 29; +int globalInt30 = 30; +int globalInt31 = 31; +int globalInt32 = 32; +int globalInt33 = 33; +int globalInt34 = 34; +int globalInt35 = 35; +int globalInt36 = 36; +int globalInt37 = 37; +int globalInt38 = 38; +int globalInt39 = 39; +int globalInt40 = 40; +int globalInt41 = 41; +int globalInt42 = 42; +int globalInt43 = 43; +int globalInt44 = 44; +int globalInt45 = 45; +int globalInt46 = 46; +int globalInt47 = 47; +int globalInt48 = 48; +int globalInt49 = 49; +int globalInt50 = 50; +int globalInt51 = 51; +int globalInt52 = 52; +int globalInt53 = 53; +int globalInt54 = 54; +int globalInt55 = 55; +int globalInt56 = 56; +int globalInt57 = 57; +int globalInt58 = 58; +int globalInt59 = 59; +int globalInt60 = 60; +int globalInt61 = 61; +int globalInt62 = 62; +int globalInt63 = 63; +int globalInt64 = 64; +int globalInt65 = 65; +int globalInt66 = 66; +int globalInt67 = 67; +int globalInt68 = 68; +int globalInt69 = 69; +int globalInt70 = 70; +int globalInt71 = 71; +int globalInt72 = 72; +int globalInt73 = 73; +int globalInt74 = 74; +int globalInt75 = 75; +int globalInt76 = 76; +int globalInt77 = 77; +int globalInt78 = 78; +int globalInt79 = 79; +int globalInt80 = 80; +int globalInt81 = 81; +int globalInt82 = 82; +int globalInt83 = 83; +int globalInt84 = 84; +int globalInt85 = 85; +int globalInt86 = 86; +int globalInt87 = 87; +int globalInt88 = 88; +int globalInt89 = 89; +int globalInt90 = 90; +int globalInt91 = 91; +int globalInt92 = 92; +int globalInt93 = 93; +int globalInt94 = 94; +int globalInt95 = 95; +int globalInt96 = 96; +int globalInt97 = 97; +int globalInt98 = 98; +int globalInt99 = 99; +int globalInt100 = 100; + +byte? lhsval3 = 251; +int:Unsigned8? lhsval4 = 251; +int:Signed8 rhsval3 = -123; +int rhsval4 = -123; + +public function main(int intArgA = 2) returns error? { + int intB = intArgA.cloneReadOnly(); + int[] a = [1, 2, 3]; + int[][] b = [[1, 2, 3], [4, 5, 6]]; + any c = a; + any d = b; + int localInt1 = 1; + int localInt2 = 2; + int localInt3 = 3; + int localInt4 = 4; + int localInt5 = 5; + int localInt6 = 6; + int localInt7 = 7; + int localInt8 = 8; + int localInt9 = 9; + int localInt10 = 10; + int localInt11 = 11; + int localInt12 = 12; + int localInt13 = 13; + int localInt14 = 14; + int localInt15 = 15; + int localInt16 = 16; + int localInt17 = 17; + int localInt18 = 18; + int localInt19 = 19; + int localInt20 = 20; + int localInt21 = 21; + int localInt22 = 22; + int localInt23 = 23; + int localInt24 = 24; + int localInt25 = 25; + int localInt26 = 26; + int localInt27 = 27; + int localInt28 = 28; + int localInt29 = 29; + int localInt30 = 30; + int localInt31 = 31; + int localInt32 = 32; + int localInt33 = 33; + int localInt34 = 34; + int localInt35 = 35; + int localInt36 = 36; + int localInt37 = 37; + int localInt38 = 38; + int localInt39 = 39; + int localInt40 = 40; + int localInt41 = 41; + int localInt42 = 42; + int localInt43 = 43; + int localInt44 = 44; + int localInt45 = 45; + int localInt46 = 46; + int localInt47 = 47; + int localInt48 = 48; + int localInt49 = 49; + int localInt50 = 50; + string localStr1 = "localVarStringVal1"; + string localStr2 = "localVarStringVal2"; + string localStr3 = "localVarStringVal3"; + string localStr4 = "localVarStringVal4"; + string localStr5 = "localVarStringVal5"; + string localStr6 = "localVarStringVal6"; + string localStr7 = "localVarStringVal7"; + string localStr8 = "localVarStringVal8"; + string localStr9 = "localVarStringVal9"; + string localStr10 = "localVarStringVal10"; + string localStr11 = "localVarStringVal11"; + string localStr12 = "localVarStringVal12"; + string localStr13 = "localVarStringVal13"; + string localStr14 = "localVarStringVal14"; + string localStr15 = "localVarStringVal15"; + string localStr16 = "localVarStringVal16"; + string localStr17 = "localVarStringVal17"; + string localStr18 = "localVarStringVal18"; + string localStr19 = "localVarStringVal19"; + string localStr20 = "localVarStringVal20"; + string localStr21 = "localVarStringVal21"; + string localStr22 = "localVarStringVal22"; + string localStr23 = "localVarStringVal23"; + string localStr24 = "localVarStringVal24"; + string localStr25 = "localVarStringVal25"; + string localStr26 = "localVarStringVal26"; + string localStr27 = "localVarStringVal27"; + string localStr28 = "localVarStringVal28"; + string localStr29 = "localVarStringVal29"; + string localStr30 = "localVarStringVal30"; + string localStr31 = "localVarStringVal31"; + string localStr32 = "localVarStringVal32"; + string localStr33 = "localVarStringVal33"; + string localStr34 = "localVarStringVal34"; + string localStr35 = "localVarStringVal35"; + string localStr36 = "localVarStringVal36"; + string localStr37 = "localVarStringVal37"; + string localStr38 = "localVarStringVal38"; + string localStr39 = "localVarStringVal39"; + string localStr40 = "localVarStringVal40"; + string localStr41 = "localVarStringVal41"; + string localStr42 = "localVarStringVal42"; + string localStr43 = "localVarStringVal43"; + string localStr44 = "localVarStringVal44"; + string localStr45 = "localVarStringVal45"; + string localStr46 = "localVarStringVal46"; + string localStr47 = "localVarStringVal47"; + string localStr48 = "localVarStringVal48"; + string localStr49 = "localVarStringVal49"; + string localStr50 = "localVarStringVal50"; + + [[string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + string, string, string, string, int, int, int, int, boolean, boolean, float, float, decimal, decimal, (), + record {|int a;|}, [int, [int]], [[int, int]], record {|int b;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + [string, string, string, string, string, int, string, string, string, int, string, string, string, string, string, + string, string, string, string, string, int, int], xml|error, xml|error, boolean, boolean, boolean, boolean, + boolean, someOtherType, someOtherType, + record {|string name; int age; boolean male; float height; int weight; string friends;|}, [int...], [int...], + boolean, boolean, boolean, [byte?, int:Unsigned8?, byte?, int:Unsigned8?], + [[[int, int, int], [int, int, int]], [[int, int, int], [int, int, int], [int, int, int]]], string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, string, string, string, string, string, string, string, string, string, string, string, string, string, + string, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, + int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, int, string, string, string, + string, int, int, int, int, boolean, boolean, float, float, decimal, decimal, (), + record {|int a;|}, [int, [int]], [[int, int]], record {|int b;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}, record {|string name; int age;|}, record {|string name; int age;|}, + record {|string name; int age;|}...]] largeTuple = [ + [ + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100}, + ["a", "b", bar(), "c", globalStr1, globalInt1, "d", apple(), "e", localInt1, localStr1, "f", + check trap orange(), "g", "h", check trap grape(), "i", "j", globalStr1 + "vala", + localStr1 + "name", globalInt1 + 1, localInt1 + 2], + trap testXMLCycleErrorInner(), trap testXMLCycleInnerNonError(), + (c is int[] && d is int[][]), c is float[], d is json, d is json[], d is json[][], + [Y, "a", new NoFillerObject(1)], + ["y", "str"], + {name: "John", age: 30, male: true, "height": 1.8, "weight": 80, "friends": "Peter"}, + from var {x} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] collect [x], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] let var sum = x + y collect [...[sum], ...[x]], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}, {"x": 6, "y": 7}] collect [x].some(n => n > 2), + intArgA == intB, (intArgA.isReadOnly() && intB.isReadOnly()), + [lhsval3 >>> rhsval3, lhsval4 >> rhsval3, lhsval3 >>> rhsval4, lhsval4 >> rhsval4], + [[[100, 200, 3], [2, 5, 6]], [[100, 200, 3], [2, 5, 6], [12, 15, 16]]], + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100} + ] + ]; + + (any|error)[][] anyArray = [ + [ + ...largeTuple, + globalStr1, localStr1, + ...largeTuple, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100}, + ["a", "b", bar(), "c", globalStr1, globalInt1, "d", apple(), "e", localInt1, localStr1, "f", + check trap orange(), "g", "h", check trap grape(), "i", "j", globalStr1 + "vala", + localStr1 + "name", globalInt1 + 1, localInt1 + 2], + trap testXMLCycleErrorInner(), trap testXMLCycleInnerNonError(), + (c is int[] && d is int[][]), c is float[], d is json, d is json[], d is json[][], + [Y, "a", new NoFillerObject(1)], + ["y", "str"], + {name: "John", age: 30, male: true, "height": 1.8, "weight": 80, "friends": "Peter"}, + from var {x} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] collect [x], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] let var sum = x + y collect [...[sum], ...[x]], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}, {"x": 6, "y": 7}] collect [x].some(n => n > 2), + intArgA == intB, (intArgA.isReadOnly() && intB.isReadOnly()), + [lhsval3 >>> rhsval3, lhsval4 >> rhsval3, lhsval3 >>> rhsval4, lhsval4 >> rhsval4], + [[[100, 200, 3], [2, 5, 6]], [[100, 200, 3], [2, 5, 6], [12, 15, 16]]], + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100} + ] + ]; + + map expectedArrayResult = {expectedArray: [[ + ...largeTuple,"globalVarStringVal1", + "localVarStringVal1",...largeTuple,"globalVarStringVal2", + "localVarStringVal2","globalVarStringVal3","localVarStringVal3","globalVarStringVal4","localVarStringVal4", + "globalVarStringVal5","localVarStringVal5","globalVarStringVal6","localVarStringVal6","globalVarStringVal7", + "localVarStringVal7","globalVarStringVal8","localVarStringVal8","globalVarStringVal9","localVarStringVal9", + "globalVarStringVal10","localVarStringVal10","globalVarStringVal11","localVarStringVal11","globalVarStringVal12", + "localVarStringVal12","globalVarStringVal13","localVarStringVal13","globalVarStringVal14","localVarStringVal14", + "globalVarStringVal15","localVarStringVal15","globalVarStringVal16","localVarStringVal16","globalVarStringVal17", + "localVarStringVal17","globalVarStringVal18","localVarStringVal18","globalVarStringVal19","localVarStringVal19", + "globalVarStringVal20","localVarStringVal20","globalVarStringVal21","localVarStringVal21","globalVarStringVal22", + "localVarStringVal22","globalVarStringVal23","localVarStringVal23","globalVarStringVal24","localVarStringVal24", + "globalVarStringVal25","localVarStringVal25","globalVarStringVal26","localVarStringVal26","globalVarStringVal27", + "localVarStringVal27","globalVarStringVal28","localVarStringVal28","globalVarStringVal29","localVarStringVal29", + "globalVarStringVal30","localVarStringVal30","globalVarStringVal31","localVarStringVal31","globalVarStringVal32", + "localVarStringVal32","globalVarStringVal33","localVarStringVal33","globalVarStringVal34","localVarStringVal34", + "globalVarStringVal35","localVarStringVal35","globalVarStringVal36","localVarStringVal36","globalVarStringVal37", + "localVarStringVal37","globalVarStringVal38","localVarStringVal38","globalVarStringVal39","localVarStringVal39", + "globalVarStringVal40","localVarStringVal40","globalVarStringVal41","localVarStringVal41","globalVarStringVal42", + "localVarStringVal42","globalVarStringVal43","localVarStringVal43","globalVarStringVal44","localVarStringVal44", + "globalVarStringVal45","localVarStringVal45","globalVarStringVal46","localVarStringVal46","globalVarStringVal47", + "localVarStringVal47","globalVarStringVal48","localVarStringVal48","globalVarStringVal49","localVarStringVal49", + "globalVarStringVal50","localVarStringVal50","globalVarStringVal51","localVarStringVal1","globalVarStringVal52", + "localVarStringVal2","globalVarStringVal53","localVarStringVal3","globalVarStringVal54","localVarStringVal4", + "globalVarStringVal55","localVarStringVal5","globalVarStringVal56","localVarStringVal6","globalVarStringVal57", + "localVarStringVal7","globalVarStringVal58","localVarStringVal8","globalVarStringVal59","localVarStringVal9", + "globalVarStringVal60","localVarStringVal1","globalVarStringVal61","localVarStringVal1","globalVarStringVal62", + "localVarStringVal2","globalVarStringVal63","localVarStringVal3","globalVarStringVal64","localVarStringVal4", + "globalVarStringVal65","localVarStringVal5","globalVarStringVal66","localVarStringVal6","globalVarStringVal67", + "localVarStringVal7","globalVarStringVal68","localVarStringVal8","globalVarStringVal69","localVarStringVal9", + "globalVarStringVal70","localVarStringVal10","globalVarStringVal71","localVarStringVal1","globalVarStringVal72", + "localVarStringVal2","globalVarStringVal73","localVarStringVal3","globalVarStringVal74","localVarStringVal4", + "globalVarStringVal75","localVarStringVal5","globalVarStringVal76","localVarStringVal6","globalVarStringVal77", + "localVarStringVal7","globalVarStringVal78","localVarStringVal8","globalVarStringVal79","localVarStringVal9", + "globalVarStringVal80","localVarStringVal10","globalVarStringVal81","localVarStringVal1","globalVarStringVal82", + "localVarStringVal2","globalVarStringVal83","localVarStringVal3","globalVarStringVal84","localVarStringVal4", + "globalVarStringVal85","localVarStringVal5","globalVarStringVal86","localVarStringVal6","globalVarStringVal87", + "localVarStringVal7","globalVarStringVal88","localVarStringVal8","globalVarStringVal89","localVarStringVal9", + "globalVarStringVal90","localVarStringVal10","globalVarStringVal91","localVarStringVal1","globalVarStringVal92", + "localVarStringVal2","globalVarStringVal93","localVarStringVal3","globalVarStringVal94","localVarStringVal4", + "globalVarStringVal95","localVarStringVal5","globalVarStringVal96","localVarStringVal6","globalVarStringVal97", + "localVarStringVal7","globalVarStringVal98","localVarStringVal8","globalVarStringVal99","localVarStringVal9", + "globalVarStringVal100","localVarStringVal10",1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14, + 14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32, + 33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51, + 1,52,2,53,3,54,4,55,5,56,6,57,7,58,8,59,9,60,10,61,1,62,2,63,3,64,4,65,5,66,6,67,7,68,8,69,9,70,10,71,1,72,2,73, + 3,74,4,75,5,76,6,77,7,78,8,79,9,80,10,81,1,82,2,83,3,84,4,85,5,86,6,87,7,88,8,89,9,90,10,91,1,92,2,93,3,94,4, + 95,5,96,6,97,7,98,8,99,9,100,10,"a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0,2.0,null, + {"a":1},[1,[2]],[[1,2]],{"b":3},{"name":"name1","age":1},{"name":"name2","age":2},{"name":"name3","age":3}, + {"name":"name4","age":4},{"name":"name5","age":5},{"name":"name6","age":6},{"name":"name7","age":7}, + {"name":"name8","age":8},{"name":"name9","age":9},{"name":"name10","age":10},{"name":"name11","age":11}, + {"name":"name12","age":12},{"name":"name13","age":13},{"name":"name14","age":14},{"name":"name15","age":15}, + {"name":"name16","age":16},{"name":"name17","age":17},{"name":"name18","age":18},{"name":"name19","age":19}, + {"name":"name20","age":20},{"name":"name21","age":21},{"name":"name22","age":22},{"name":"name23","age":23}, + {"name":"name24","age":24},{"name":"name25","age":25},{"name":"name26","age":26},{"name":"name27","age":27}, + {"name":"name28","age":28},{"name":"name29","age":29},{"name":"name30","age":30},{"name":"name31","age":31}, + {"name":"name32","age":32},{"name":"name33","age":33},{"name":"name34","age":34},{"name":"name35","age":35}, + {"name":"name36","age":36},{"name":"name37","age":37},{"name":"name38","age":38},{"name":"name39","age":39}, + {"name":"name40","age":40},{"name":"name41","age":41},{"name":"name42","age":42},{"name":"name43","age":43}, + {"name":"name44","age":44},{"name":"name45","age":45},{"name":"name46","age":46},{"name":"name47","age":47}, + {"name":"name48","age":48},{"name":"name49","age":49},{"name":"name50","age":50},{"name":"name51","age":51}, + {"name":"name52","age":52},{"name":"name53","age":53},{"name":"name54","age":54},{"name":"name55","age":55}, + {"name":"name56","age":56},{"name":"name57","age":57},{"name":"name58","age":58},{"name":"name59","age":59}, + {"name":"name60","age":60},{"name":"name61","age":61},{"name":"name62","age":62},{"name":"name63","age":63}, + {"name":"name64","age":64},{"name":"name65","age":65},{"name":"name66","age":66},{"name":"name67","age":67}, + {"name":"name68","age":68},{"name":"name69","age":69},{"name":"name70","age":70},{"name":"name71","age":71}, + {"name":"name72","age":72},{"name":"name73","age":73},{"name":"name74","age":74},{"name":"name75","age":75}, + {"name":"name76","age":76},{"name":"name77","age":77},{"name":"name78","age":78},{"name":"name79","age":79}, + {"name":"name80","age":80},{"name":"name81","age":81},{"name":"name82","age":82},{"name":"name83","age":83}, + {"name":"name84","age":84},{"name":"name85","age":85},{"name":"name86","age":86},{"name":"name87","age":87}, + {"name":"name88","age":88},{"name":"name89","age":89},{"name":"name90","age":90},{"name":"name91","age":91}, + {"name":"name92","age":92},{"name":"name93","age":93},{"name":"name94","age":94},{"name":"name95","age":95}, + {"name":"name96","age":96},{"name":"name97","age":97},{"name":"name98","age":98},{"name":"name99","age":99}, + {"name":"name100","age":100},["a","b","barval","c","globalVarStringVal1",1,"d","appleval","e",1, + "localVarStringVal1","f","orangeval","g","h","grapeval","i","j","globalVarStringVal1vala", + "localVarStringVal1name",2,3], + error("{ballerina/lang.xml}XMLOperationError",message="Failed to set children to xml element: Cycle detected"), + trap testXMLCycleInnerNonError(),true,false,true,true,true,["y","a",new NoFillerObject(1)],["y","str"], + {"name":"John","age":30,"male":true,"height":1.8,"weight":80,"friends":"Peter"},[2,4],[5,9,2,4],true,true,true, + [7,7,7,7],[[[100,200,3],[2,5,6]],[[100,200,3],[2,5,6],[12,15,16]]],"globalVarStringVal1","localVarStringVal1", + "globalVarStringVal2","localVarStringVal2","globalVarStringVal3","localVarStringVal3","globalVarStringVal4", + "localVarStringVal4","globalVarStringVal5","localVarStringVal5","globalVarStringVal6","localVarStringVal6", + "globalVarStringVal7","localVarStringVal7","globalVarStringVal8","localVarStringVal8","globalVarStringVal9", + "localVarStringVal9","globalVarStringVal10","localVarStringVal10","globalVarStringVal11","localVarStringVal11", + "globalVarStringVal12","localVarStringVal12","globalVarStringVal13","localVarStringVal13","globalVarStringVal14", + "localVarStringVal14","globalVarStringVal15","localVarStringVal15","globalVarStringVal16","localVarStringVal16", + "globalVarStringVal17","localVarStringVal17","globalVarStringVal18","localVarStringVal18","globalVarStringVal19", + "localVarStringVal19","globalVarStringVal20","localVarStringVal20","globalVarStringVal21","localVarStringVal21", + "globalVarStringVal22","localVarStringVal22","globalVarStringVal23","localVarStringVal23","globalVarStringVal24", + "localVarStringVal24","globalVarStringVal25","localVarStringVal25","globalVarStringVal26","localVarStringVal26", + "globalVarStringVal27","localVarStringVal27","globalVarStringVal28","localVarStringVal28","globalVarStringVal29", + "localVarStringVal29","globalVarStringVal30","localVarStringVal30","globalVarStringVal31","localVarStringVal31", + "globalVarStringVal32","localVarStringVal32","globalVarStringVal33","localVarStringVal33","globalVarStringVal34", + "localVarStringVal34","globalVarStringVal35","localVarStringVal35","globalVarStringVal36","localVarStringVal36", + "globalVarStringVal37","localVarStringVal37","globalVarStringVal38","localVarStringVal38","globalVarStringVal39", + "localVarStringVal39","globalVarStringVal40","localVarStringVal40","globalVarStringVal41","localVarStringVal41", + "globalVarStringVal42","localVarStringVal42","globalVarStringVal43","localVarStringVal43","globalVarStringVal44", + "localVarStringVal44","globalVarStringVal45","localVarStringVal45","globalVarStringVal46","localVarStringVal46", + "globalVarStringVal47","localVarStringVal47","globalVarStringVal48","localVarStringVal48","globalVarStringVal49", + "localVarStringVal49","globalVarStringVal50","localVarStringVal50","globalVarStringVal51","localVarStringVal1", + "globalVarStringVal52","localVarStringVal2","globalVarStringVal53","localVarStringVal3","globalVarStringVal54", + "localVarStringVal4","globalVarStringVal55","localVarStringVal5","globalVarStringVal56","localVarStringVal6", + "globalVarStringVal57","localVarStringVal7","globalVarStringVal58","localVarStringVal8","globalVarStringVal59", + "localVarStringVal9","globalVarStringVal60","localVarStringVal1","globalVarStringVal61","localVarStringVal1", + "globalVarStringVal62","localVarStringVal2","globalVarStringVal63","localVarStringVal3","globalVarStringVal64", + "localVarStringVal4","globalVarStringVal65","localVarStringVal5","globalVarStringVal66","localVarStringVal6", + "globalVarStringVal67","localVarStringVal7","globalVarStringVal68","localVarStringVal8","globalVarStringVal69", + "localVarStringVal9","globalVarStringVal70","localVarStringVal10","globalVarStringVal71","localVarStringVal1", + "globalVarStringVal72","localVarStringVal2","globalVarStringVal73","localVarStringVal3","globalVarStringVal74", + "localVarStringVal4","globalVarStringVal75","localVarStringVal5","globalVarStringVal76","localVarStringVal6", + "globalVarStringVal77","localVarStringVal7","globalVarStringVal78","localVarStringVal8","globalVarStringVal79", + "localVarStringVal9","globalVarStringVal80","localVarStringVal10","globalVarStringVal81","localVarStringVal1", + "globalVarStringVal82","localVarStringVal2","globalVarStringVal83","localVarStringVal3","globalVarStringVal84", + "localVarStringVal4","globalVarStringVal85","localVarStringVal5","globalVarStringVal86","localVarStringVal6", + "globalVarStringVal87","localVarStringVal7","globalVarStringVal88","localVarStringVal8","globalVarStringVal89", + "localVarStringVal9","globalVarStringVal90","localVarStringVal10","globalVarStringVal91","localVarStringVal1", + "globalVarStringVal92","localVarStringVal2","globalVarStringVal93","localVarStringVal3","globalVarStringVal94", + "localVarStringVal4","globalVarStringVal95","localVarStringVal5","globalVarStringVal96","localVarStringVal6", + "globalVarStringVal97","localVarStringVal7","globalVarStringVal98","localVarStringVal8","globalVarStringVal99", + "localVarStringVal9","globalVarStringVal100","localVarStringVal10",1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11, + 11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29, + 30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48, + 48,49,49,50,50,51,1,52,2,53,3,54,4,55,5,56,6,57,7,58,8,59,9,60,10,61,1,62,2,63,3,64,4,65,5,66,6,67,7,68,8,69,9, + 70,10,71,1,72,2,73,3,74,4,75,5,76,6,77,7,78,8,79,9,80,10,81,1,82,2,83,3,84,4,85,5,86,6,87,7,88,8,89,9,90,10,91, + 1,92,2,93,3,94,4,95,5,96,6,97,7,98,8,99,9,100,10,"a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0,2.0,null, + {"a":1},[1,[2]],[[1,2]],{"b":3},{"name":"name1","age":1},{"name":"name2","age":2},{"name":"name3","age":3}, + {"name":"name4","age":4},{"name":"name5","age":5},{"name":"name6","age":6},{"name":"name7","age":7}, + {"name":"name8","age":8},{"name":"name9","age":9},{"name":"name10","age":10},{"name":"name11","age":11}, + {"name":"name12","age":12},{"name":"name13","age":13},{"name":"name14","age":14},{"name":"name15","age":15}, + {"name":"name16","age":16},{"name":"name17","age":17},{"name":"name18","age":18},{"name":"name19","age":19}, + {"name":"name20","age":20},{"name":"name21","age":21},{"name":"name22","age":22},{"name":"name23","age":23}, + {"name":"name24","age":24},{"name":"name25","age":25},{"name":"name26","age":26},{"name":"name27","age":27}, + {"name":"name28","age":28},{"name":"name29","age":29},{"name":"name30","age":30},{"name":"name31","age":31}, + {"name":"name32","age":32},{"name":"name33","age":33},{"name":"name34","age":34},{"name":"name35","age":35}, + {"name":"name36","age":36},{"name":"name37","age":37},{"name":"name38","age":38},{"name":"name39","age":39}, + {"name":"name40","age":40},{"name":"name41","age":41},{"name":"name42","age":42},{"name":"name43","age":43}, + {"name":"name44","age":44},{"name":"name45","age":45},{"name":"name46","age":46},{"name":"name47","age":47}, + {"name":"name48","age":48},{"name":"name49","age":49},{"name":"name50","age":50},{"name":"name51","age":51}, + {"name":"name52","age":52},{"name":"name53","age":53},{"name":"name54","age":54},{"name":"name55","age":55}, + {"name":"name56","age":56},{"name":"name57","age":57},{"name":"name58","age":58},{"name":"name59","age":59}, + {"name":"name60","age":60},{"name":"name61","age":61},{"name":"name62","age":62},{"name":"name63","age":63}, + {"name":"name64","age":64},{"name":"name65","age":65},{"name":"name66","age":66},{"name":"name67","age":67}, + {"name":"name68","age":68},{"name":"name69","age":69},{"name":"name70","age":70},{"name":"name71","age":71}, + {"name":"name72","age":72},{"name":"name73","age":73},{"name":"name74","age":74},{"name":"name75","age":75}, + {"name":"name76","age":76},{"name":"name77","age":77},{"name":"name78","age":78},{"name":"name79","age":79}, + {"name":"name80","age":80},{"name":"name81","age":81},{"name":"name82","age":82},{"name":"name83","age":83}, + {"name":"name84","age":84},{"name":"name85","age":85},{"name":"name86","age":86},{"name":"name87","age":87}, + {"name":"name88","age":88},{"name":"name89","age":89},{"name":"name90","age":90},{"name":"name91","age":91}, + {"name":"name92","age":92},{"name":"name93","age":93},{"name":"name94","age":94},{"name":"name95","age":95}, + {"name":"name96","age":96},{"name":"name97","age":97},{"name":"name98","age":98},{"name":"name99","age":99}, + {"name":"name100","age":100}]]}; + + test:assertEquals(largeTuple[0].length(), 1056); + test:assertEquals(largeTuple.toString(), expectedStringArray.toString()); + test:assertEquals(anyArray[0].length(), 1058); + test:assertEquals(anyArray.toString(), expectedArrayResult.get("expectedArray").toString()); + + record {|string key501; string key502; string key503; string key504; string key505; + string key506; string key507; string key508; string key509; string key510; + string key511; string key512; string key513; string key514; string key515; + string key516; string key517; string key518; string key519; string key520; + string key521; string key522; string key523; string key524; string key525; + string key526; string key527; string key528; string key529; string key530; + string key531; string key532; string key533; string key534; string key535; + string key536; string key537; string key538; string key539; string key540; + string key541; string key542; string key543; string key544; string key545; + string key546; string key547; string key548; string key549; string key550; + string key551; string key552; string key553; string key554; string key555; + string key556; string key557; string key558; string key559; string key560; + string key561; string key562; string key563; string key564; string key565; + string key566; string key567; string key568; string key569; string key570; + string key571; string key572; string key573; string key574; string key575; + string key576; string key577; string key578; string key579; string key580; + string key581; string key582; string key583; string key584; string key585; + string key586; string key587; string key588; string key589; string key590; + string key591; string key592; string key593; string key594; string key595; + string key596; string key597; string key598; string key599; string key600; + string key601; string key602; string key603; string key604; string key605; + string key606; string key607; string key608; string key609; string key610; + string key611; string key612; string key613; string key614; string key615; + string key616; string key617; string key618; string key619; string key620; + string key621; string key622; string key623; string key624; string key625; + string key626; string key627; string key628; string key629; string key630; + string key631; string key632; string key633; string key634; string key635; + string key636; string key637; string key638; string key639; string key640; + string key641; string key642; string key643; string key644; string key645; + string key646; string key647; string key648; string key649; string key650; + string key651; string key652; string key653; string key654; string key655; + string key656; string key657; string key658; string key659; string key660; + string key661; string key662; string key663; string key664; string key665; + string key666; string key667; string key668; string key669; string key670; + string key671; string key672; string key673; string key674; string key675; + string key676; string key677; string key678; string key679; string key680; + string key681; string key682; string key683; string key684; string key685; + string key686; string key687; string key688; string key689; string key690; + string key691; string key692; string key693; string key694; string key695; + string key696; string key697; string key698; string key699; string key700; + string key701; string key702; string key703; string key704; string key705; + string key706; string key707; string key708; string key709; string key710; + string key711; string key712; string key713; string key714; string key715; + string key716; string key717; string key718; string key719; string key720; + string key721; string key722; string key723; string key724; string key725; + string key726; string key727; string key728; string key729; string key730; + string key731; string key732; string key733; string key734; string key735; + string key736; string key737; string key738; string key739; string key740; + string key741; string key742; string key743; string key744; string key745; + string key746; string key747; string key748; string key749; string key750; + string key751; string key752; string key753; string key754; string key755; + string key756; string key757; string key758; string key759; string key760; + string key761; string key762; string key763; string key764; string key765; + string key766; string key767; string key768; string key769; string key770; + string key771; string key772; string key773; string key774; string key775; + string key776; string key777; string key778; string key779; string key780; + string key781; string key782; string key783; string key784; string key785; + string key786; string key787; string key788; string key789; string key790; + string key791; string key792; string key793; string key794; string key795; + string key796; string key797; string key798; string key799; string key800; + string key801; string key802; string key803; string key804; string key805; + string key806; string key807; string key808; string key809; string key810; + string key811; string key812; string key813; string key814; string key815; + string key816; string key817; string key818; string key819; string key820; + string key821; string key822; string key823; string key824; string key825; + string key826; string key827; string key828; string key829; string key830; + string key831; string key832; string key833; string key834; string key835; + string key836; string key837; string key838; string key839; string key840; + string key841; string key842; string key843; string key844; string key845; + string key846; string key847; string key848; string key849; string key850; + string key851; string key852; string key853; string key854; string key855; + string key856; string key857; string key858; string key859; string key860; + string key861; string key862; string key863; string key864; string key865; + string key866; string key867; string key868; string key869; string key870; + string key871; string key872; string key873; string key874; string key875; + string key876; string key877; string key878; string key879; string key880; + string key881; string key882; string key883; string key884; string key885; + string key886; string key887; string key888; string key889; string key890; + string key891; string key892; string key893; string key894; string key895; + string key896; string key897; string key898; string key899; string key900; + string key901; string key902; string key903; string key904; string key905; + string key906; string key907; string key908; string key909; string key910; + string key911; string key912; string key913; string key914; string key915; + string key916; string key917; string key918; string key919; string key920; + string key921; string key922; string key923; string key924; string key925; + string key926; string key927; string key928; string key929; string key930; + string key931; string key932; string key933; string key934; string key935; + string key936; string key937; string key938; string key939; string key940; + string key941; string key942; string key943; string key944; string key945; + string key946; string key947; string key948; string key949; string key950; + string key951; string key952; string key953; string key954; string key955; + string key956; string key957; string key958; string key959; string key960; + string key961; string key962; string key963; string key964; string key965; + string key966; string key967; string key968; string key969; string key970; + string key971; string key972; string key973; string key974; string key975; + string key976; string key977; string key978; string key979; string key980; + string key981; string key982; string key983; string key984; string key985; + string key986; string key987; string key988; string key989; string key990; + string key991; string key992; string key993; string key994; string key995; + string key996; string key997; string key998; any key999; + |} largeRecord = { + "key501" : "value501", + "key502" : "value502", + "key503" : "value503", + "key504" : "value504", + "key505" : "value505", + "key506" : "value506", + "key507" : "value507", + "key508" : "value508", + "key509" : "value509", + "key510" : "value510", + "key511" : "value511", + "key512" : "value512", + "key513" : "value513", + "key514" : "value514", + "key515" : "value515", + "key516" : "value516", + "key517" : "value517", + "key518" : "value518", + "key519" : "value519", + "key520" : "value520", + "key521" : "value521", + "key522" : "value522", + "key523" : "value523", + "key524" : "value524", + "key525" : "value525", + "key526" : "value526", + "key527" : "value527", + "key528" : "value528", + "key529" : "value529", + "key530" : "value530", + "key531" : "value531", + "key532" : "value532", + "key533" : "value533", + "key534" : "value534", + "key535" : "value535", + "key536" : "value536", + "key537" : "value537", + "key538" : "value538", + "key539" : "value539", + "key540" : "value540", + "key541" : "value541", + "key542" : "value542", + "key543" : "value543", + "key544" : "value544", + "key545" : "value545", + "key546" : "value546", + "key547" : "value547", + "key548" : "value548", + "key549" : "value549", + "key550" : "value550", + "key551" : "value551", + "key552" : "value552", + "key553" : "value553", + "key554" : "value554", + "key555" : "value555", + "key556" : "value556", + "key557" : "value557", + "key558" : "value558", + "key559" : "value559", + "key560" : "value560", + "key561" : "value561", + "key562" : "value562", + "key563" : "value563", + "key564" : "value564", + "key565" : "value565", + "key566" : "value566", + "key567" : "value567", + "key568" : "value568", + "key569" : "value569", + "key570" : "value570", + "key571" : "value571", + "key572" : "value572", + "key573" : "value573", + "key574" : "value574", + "key575" : "value575", + "key576" : "value576", + "key577" : "value577", + "key578" : "value578", + "key579" : "value579", + "key580" : "value580", + "key581" : "value581", + "key582" : "value582", + "key583" : "value583", + "key584" : "value584", + "key585" : "value585", + "key586" : "value586", + "key587" : "value587", + "key588" : "value588", + "key589" : "value589", + "key590" : "value590", + "key591" : "value591", + "key592" : "value592", + "key593" : "value593", + "key594" : "value594", + "key595" : "value595", + "key596" : "value596", + "key597" : "value597", + "key598" : "value598", + "key599" : "value599", + "key600" : "value600", + "key601" : "value601", + "key602" : "value602", + "key603" : "value603", + "key604" : "value604", + "key605" : "value605", + "key606" : "value606", + "key607" : "value607", + "key608" : "value608", + "key609" : "value609", + "key610" : "value610", + "key611" : "value611", + "key612" : "value612", + "key613" : "value613", + "key614" : "value614", + "key615" : "value615", + "key616" : "value616", + "key617" : "value617", + "key618" : "value618", + "key619" : "value619", + "key620" : "value620", + "key621" : "value621", + "key622" : "value622", + "key623" : "value623", + "key624" : "value624", + "key625" : "value625", + "key626" : "value626", + "key627" : "value627", + "key628" : "value628", + "key629" : "value629", + "key630" : "value630", + "key631" : "value631", + "key632" : "value632", + "key633" : "value633", + "key634" : "value634", + "key635" : "value635", + "key636" : "value636", + "key637" : "value637", + "key638" : "value638", + "key639" : "value639", + "key640" : "value640", + "key641" : "value641", + "key642" : "value642", + "key643" : "value643", + "key644" : "value644", + "key645" : "value645", + "key646" : "value646", + "key647" : "value647", + "key648" : "value648", + "key649" : "value649", + "key650" : "value650", + "key651" : "value651", + "key652" : "value652", + "key653" : "value653", + "key654" : "value654", + "key655" : "value655", + "key656" : "value656", + "key657" : "value657", + "key658" : "value658", + "key659" : "value659", + "key660" : "value660", + "key661" : "value661", + "key662" : "value662", + "key663" : "value663", + "key664" : "value664", + "key665" : "value665", + "key666" : "value666", + "key667" : "value667", + "key668" : "value668", + "key669" : "value669", + "key670" : "value670", + "key671" : "value671", + "key672" : "value672", + "key673" : "value673", + "key674" : "value674", + "key675" : "value675", + "key676" : "value676", + "key677" : "value677", + "key678" : "value678", + "key679" : "value679", + "key680" : "value680", + "key681" : "value681", + "key682" : "value682", + "key683" : "value683", + "key684" : "value684", + "key685" : "value685", + "key686" : "value686", + "key687" : "value687", + "key688" : "value688", + "key689" : "value689", + "key690" : "value690", + "key691" : "value691", + "key692" : "value692", + "key693" : "value693", + "key694" : "value694", + "key695" : "value695", + "key696" : "value696", + "key697" : "value697", + "key698" : "value698", + "key699" : "value699", + "key700" : "value700", + "key701" : "value701", + "key702" : "value702", + "key703" : "value703", + "key704" : "value704", + "key705" : "value705", + "key706" : "value706", + "key707" : "value707", + "key708" : "value708", + "key709" : "value709", + "key710" : "value710", + "key711" : "value711", + "key712" : "value712", + "key713" : "value713", + "key714" : "value714", + "key715" : "value715", + "key716" : "value716", + "key717" : "value717", + "key718" : "value718", + "key719" : "value719", + "key720" : "value720", + "key721" : "value721", + "key722" : "value722", + "key723" : "value723", + "key724" : "value724", + "key725" : "value725", + "key726" : "value726", + "key727" : "value727", + "key728" : "value728", + "key729" : "value729", + "key730" : "value730", + "key731" : "value731", + "key732" : "value732", + "key733" : "value733", + "key734" : "value734", + "key735" : "value735", + "key736" : "value736", + "key737" : "value737", + "key738" : "value738", + "key739" : "value739", + "key740" : "value740", + "key741" : "value741", + "key742" : "value742", + "key743" : "value743", + "key744" : "value744", + "key745" : "value745", + "key746" : "value746", + "key747" : "value747", + "key748" : "value748", + "key749" : "value749", + "key750" : "value750", + "key751" : "value751", + "key752" : "value752", + "key753" : "value753", + "key754" : "value754", + "key755" : "value755", + "key756" : "value756", + "key757" : "value757", + "key758" : "value758", + "key759" : "value759", + "key760" : "value760", + "key761" : "value761", + "key762" : "value762", + "key763" : "value763", + "key764" : "value764", + "key765" : "value765", + "key766" : "value766", + "key767" : "value767", + "key768" : "value768", + "key769" : "value769", + "key770" : "value770", + "key771" : "value771", + "key772" : "value772", + "key773" : "value773", + "key774" : "value774", + "key775" : "value775", + "key776" : "value776", + "key777" : "value777", + "key778" : "value778", + "key779" : "value779", + "key780" : "value780", + "key781" : "value781", + "key782" : "value782", + "key783" : "value783", + "key784" : "value784", + "key785" : "value785", + "key786" : "value786", + "key787" : "value787", + "key788" : "value788", + "key789" : "value789", + "key790" : "value790", + "key791" : "value791", + "key792" : "value792", + "key793" : "value793", + "key794" : "value794", + "key795" : "value795", + "key796" : "value796", + "key797" : "value797", + "key798" : "value798", + "key799" : "value799", + "key800" : "value800", + "key801" : "value801", + "key802" : "value802", + "key803" : "value803", + "key804" : "value804", + "key805" : "value805", + "key806" : "value806", + "key807" : "value807", + "key808" : "value808", + "key809" : "value809", + "key810" : "value810", + "key811" : "value811", + "key812" : "value812", + "key813" : "value813", + "key814" : "value814", + "key815" : "value815", + "key816" : "value816", + "key817" : "value817", + "key818" : "value818", + "key819" : "value819", + "key820" : "value820", + "key821" : "value821", + "key822" : "value822", + "key823" : "value823", + "key824" : "value824", + "key825" : "value825", + "key826" : "value826", + "key827" : "value827", + "key828" : "value828", + "key829" : "value829", + "key830" : "value830", + "key831" : "value831", + "key832" : "value832", + "key833" : "value833", + "key834" : "value834", + "key835" : "value835", + "key836" : "value836", + "key837" : "value837", + "key838" : "value838", + "key839" : "value839", + "key840" : "value840", + "key841" : "value841", + "key842" : "value842", + "key843" : "value843", + "key844" : "value844", + "key845" : "value845", + "key846" : "value846", + "key847" : "value847", + "key848" : "value848", + "key849" : "value849", + "key850" : "value850", + "key851" : "value851", + "key852" : "value852", + "key853" : "value853", + "key854" : "value854", + "key855" : "value855", + "key856" : "value856", + "key857" : "value857", + "key858" : "value858", + "key859" : "value859", + "key860" : "value860", + "key861" : "value861", + "key862" : "value862", + "key863" : "value863", + "key864" : "value864", + "key865" : "value865", + "key866" : "value866", + "key867" : "value867", + "key868" : "value868", + "key869" : "value869", + "key870" : "value870", + "key871" : "value871", + "key872" : "value872", + "key873" : "value873", + "key874" : "value874", + "key875" : "value875", + "key876" : "value876", + "key877" : "value877", + "key878" : "value878", + "key879" : "value879", + "key880" : "value880", + "key881" : "value881", + "key882" : "value882", + "key883" : "value883", + "key884" : "value884", + "key885" : "value885", + "key886" : "value886", + "key887" : "value887", + "key888" : "value888", + "key889" : "value889", + "key890" : "value890", + "key891" : "value891", + "key892" : "value892", + "key893" : "value893", + "key894" : "value894", + "key895" : "value895", + "key896" : "value896", + "key897" : "value897", + "key898" : "value898", + "key899" : "value899", + "key900" : "value900", + "key901" : "value901", + "key902" : "value902", + "key903" : "value903", + "key904" : "value904", + "key905" : "value905", + "key906" : "value906", + "key907" : "value907", + "key908" : "value908", + "key909" : "value909", + "key910" : "value910", + "key911" : "value911", + "key912" : "value912", + "key913" : "value913", + "key914" : "value914", + "key915" : "value915", + "key916" : "value916", + "key917" : "value917", + "key918" : "value918", + "key919" : "value919", + "key920" : "value920", + "key921" : "value921", + "key922" : "value922", + "key923" : "value923", + "key924" : "value924", + "key925" : "value925", + "key926" : "value926", + "key927" : "value927", + "key928" : "value928", + "key929" : "value929", + "key930" : "value930", + "key931" : "value931", + "key932" : "value932", + "key933" : "value933", + "key934" : "value934", + "key935" : "value935", + "key936" : "value936", + "key937" : "value937", + "key938" : "value938", + "key939" : "value939", + "key940" : "value940", + "key941" : "value941", + "key942" : "value942", + "key943" : "value943", + "key944" : "value944", + "key945" : "value945", + "key946" : "value946", + "key947" : "value947", + "key948" : "value948", + "key949" : "value949", + "key950" : "value950", + "key951" : "value951", + "key952" : "value952", + "key953" : "value953", + "key954" : "value954", + "key955" : "value955", + "key956" : "value956", + "key957" : "value957", + "key958" : "value958", + "key959" : "value959", + "key960" : "value960", + "key961" : "value961", + "key962" : "value962", + "key963" : "value963", + "key964" : "value964", + "key965" : "value965", + "key966" : "value966", + "key967" : "value967", + "key968" : "value968", + "key969" : "value969", + "key970" : "value970", + "key971" : "value971", + "key972" : "value972", + "key973" : "value973", + "key974" : "value974", + "key975" : "value975", + "key976" : "value976", + "key977" : "value977", + "key978" : "value978", + "key979" : "value979", + "key980" : "value980", + "key981" : "value981", + "key982" : "value982", + "key983" : "value983", + "key984" : "value984", + "key985" : "value985", + "key986" : "value986", + "key987" : "value987", + "key988" : "value988", + "key989" : "value989", + "key990" : "value990", + "key991" : "value991", + "key992" : "value992", + "key993" : "value993", + "key994" : "value994", + "key995" : "value995", + "key996" : "value996", + "key997" : "value997", + "key998" : "value998", + "key999" : [ + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100}, + ["a", "b", bar(), "c", globalStr1, globalInt1, "d", apple(), "e", localInt1, localStr1, "f", + check trap orange(), "g", "h", check trap grape(), "i", "j", globalStr1 + "vala", + localStr1 + "name", globalInt1 + 1, localInt1 + 2], + trap testXMLCycleErrorInner(), trap testXMLCycleInnerNonError(), + (c is int[] && d is int[][]), c is float[], d is json, d is json[], d is json[][], + [Y, "a", new NoFillerObject(1)], + ["y", "str"], + {name: "John", age: 30, male: true, "height": 1.8, "weight": 80, "friends": "Peter"}, + from var {x} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] collect [x], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] let var sum = x + y collect [...[sum], ...[x]], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}, {"x": 6, "y": 7}] collect [x].some(n => n > 2), + intArgA == intB, (intArgA.isReadOnly() && intB.isReadOnly()), + [lhsval3 >>> rhsval3, lhsval4 >> rhsval3, lhsval3 >>> rhsval4, lhsval4 >> rhsval4], + [[[100, 200, 3], [2, 5, 6]], [[100, 200, 3], [2, 5, 6], [12, 15, 16]]], + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100} + ] + }; + + map>> largeMap = { + nestedMap1: { + nestedMap2: { + nestedMap3: { + [globalStr1] : "globalStr1", + [globalStr2] : "globalStr2", + [globalStr3] : [globalInt1], + [globalStr4] : [globalStr2], + ["globalStr11"] : ["globalStr1"], + ["globalStr22"] : ["globalStr2"], + [globalStr3] : [localInt1], + [globalStr4] : [localStr1], + [globalStr5] : [localStr1], + [localStr1] : "globalStr1", + [localStr2] : "globalStr2", + [localStr3] : [globalInt1], + [localStr4] : [globalStr2], + ["localStr11"] : ["globalStr1"], + ["localStr22"] : ["globalStr2"], + [localStr3] : [localInt1], + [localStr4] : [localStr1], + [localStr5] : [localStr1], + "key1": [globalInt1], + "key2": [globalStr2], + "key3": ["globalStr1"], + "key4": ["globalStr2"], + "key5" :[localInt1], + "key6" :[localInt1], + "key7" :[localInt2], + "key8" :[localInt2], + "key9" : "value9", + "key10" : "value10", + ...largeRecord, + "key11" : "value11", + "key12" : globalStr1, + "key13" : globalStr1, + "key14" : globalStr2, + "key15" : globalMap1, + [globalStr6] : globalMap1, + [globalStr7] : globalMap2, + "key18" : "value18", + "key19" : "value19", + "key20" : "value20", + "key21" : "value21", + "key22" : "value22", + "key23" : "value23", + "key24" : "value24", + "key25" : "value25", + "key26" : "value26", + "key27" : "value27", + "key28" : "value28", + "key29" : "value29", + "key30" : "value30", + "key31" : "value31", + "key32" : "value32", + "key33" : "value33", + "key34" : "value34", + "key35" : "value35", + "key36" : "value36", + "key37" : "value37", + "key38" : "value38", + "key39" : "value39", + "key40" : "value40", + "key41" : "value41", + "key42" : "value42", + "key43" : "value43", + "key44" : "value44", + "key45" : "value45", + "key46" : "value46", + "key47" : "value47", + "key48" : "value48", + "key49" : "value49", + "key50" : "value50", + "key51" : "value51", + "key52" : "value52", + "key53" : "value53", + "key54" : "value54", + "key55" : "value55", + "key56" : "value56", + "key57" : "value57", + "key58" : "value58", + "key59" : "value59", + "key60" : "value60", + "key61" : "value61", + "key62" : "value62", + "key63" : "value63", + "key64" : "value64", + "key65" : "value65", + "key66" : "value66", + "key67" : "value67", + "key68" : "value68", + "key69" : "value69", + "key70" : "value70", + "key71" : "value71", + "key72" : "value72", + "key73" : "value73", + "key74" : "value74", + "key75" : "value75", + "key76" : "value76", + "key77" : "value77", + "key78" : "value78", + "key79" : "value79", + "key80" : "value80", + "key81" : "value81", + "key82" : "value82", + "key83" : "value83", + "key84" : "value84", + "key85" : "value85", + "key86" : "value86", + "key87" : "value87", + "key88" : "value88", + "key89" : "value89", + "key90" : "value90", + "key91" : "value91", + "key92" : "value92", + "key93" : "value93", + "key94" : "value94", + "key95" : "value95", + "key96" : "value96", + "key97" : "value97", + "key98" : "value98", + "key99" : "value99", + "key100" : "value100", + "key101" : "value101", + "key102" : "value102", + "key103" : "value103", + "key104" : "value104", + "key105" : "value105", + "key106" : "value106", + "key107" : "value107", + "key108" : "value108", + "key109" : "value109", + "key110" : "value110", + "key111" : "value111", + "key112" : "value112", + "key113" : "value113", + "key114" : "value114", + "key115" : "value115", + "key116" : "value116", + "key117" : "value117", + "key118" : "value118", + "key119" : "value119", + "key120" : "value120", + "key121" : "value121", + "key122" : "value122", + "key123" : "value123", + "key124" : "value124", + "key125" : "value125", + "key126" : "value126", + "key127" : "value127", + "key128" : "value128", + "key129" : "value129", + "key130" : "value130", + "key131" : "value131", + "key132" : "value132", + "key133" : "value133", + "key134" : "value134", + "key135" : "value135", + "key136" : "value136", + "key137" : "value137", + "key138" : "value138", + "key139" : "value139", + "key140" : "value140", + "key141" : "value141", + "key142" : "value142", + "key143" : "value143", + "key144" : "value144", + "key145" : "value145", + "key146" : "value146", + "key147" : "value147", + "key148" : "value148", + "key149" : "value149", + "key150" : "value150", + "key151" : "value151", + "key152" : "value152", + "key153" : "value153", + "key154" : "value154", + "key155" : "value155", + "key156" : "value156", + "key157" : "value157", + "key158" : "value158", + "key159" : "value159", + "key160" : "value160", + "key161" : "value161", + "key162" : "value162", + "key163" : "value163", + "key164" : "value164", + "key165" : "value165", + "key166" : "value166", + "key167" : "value167", + "key168" : "value168", + "key169" : "value169", + "key170" : "value170", + "key171" : "value171", + "key172" : "value172", + "key173" : "value173", + "key174" : "value174", + "key175" : "value175", + "key176" : "value176", + "key177" : "value177", + "key178" : "value178", + "key179" : "value179", + "key180" : "value180", + "key181" : "value181", + "key182" : "value182", + "key183" : "value183", + "key184" : "value184", + "key185" : "value185", + "key186" : "value186", + "key187" : "value187", + "key188" : "value188", + "key189" : "value189", + "key190" : "value190", + "key191" : "value191", + "key192" : "value192", + "key193" : "value193", + "key194" : "value194", + "key195" : "value195", + "key196" : "value196", + "key197" : "value197", + "key198" : "value198", + "key199" : "value199", + "key200" : "value200", + "key201" : "value201", + "key202" : "value202", + "key203" : "value203", + "key204" : "value204", + "key205" : "value205", + "key206" : "value206", + "key207" : "value207", + "key208" : "value208", + "key209" : "value209", + "key210" : "value210", + "key211" : "value211", + "key212" : "value212", + "key213" : "value213", + "key214" : "value214", + "key215" : "value215", + "key216" : "value216", + "key217" : "value217", + "key218" : "value218", + "key219" : "value219", + "key220" : "value220", + "key221" : "value221", + "key222" : "value222", + "key223" : "value223", + "key224" : "value224", + "key225" : "value225", + "key226" : "value226", + "key227" : "value227", + "key228" : "value228", + "key229" : "value229", + "key230" : "value230", + "key231" : "value231", + "key232" : "value232", + "key233" : "value233", + "key234" : "value234", + "key235" : "value235", + "key236" : "value236", + "key237" : "value237", + "key238" : "value238", + "key239" : "value239", + "key240" : "value240", + "key241" : "value241", + "key242" : "value242", + "key243" : "value243", + "key244" : "value244", + "key245" : "value245", + "key246" : "value246", + "key247" : "value247", + "key248" : "value248", + "key249" : "value249", + "key250" : "value250", + "key251" : "value251", + "key252" : "value252", + "key253" : "value253", + "key254" : "value254", + "key255" : "value255", + "key256" : "value256", + "key257" : "value257", + "key258" : "value258", + "key259" : "value259", + "key260" : "value260", + "key261" : "value261", + "key262" : "value262", + "key263" : "value263", + "key264" : "value264", + "key265" : "value265", + "key266" : "value266", + "key267" : "value267", + "key268" : "value268", + "key269" : "value269", + "key270" : "value270", + "key271" : "value271", + "key272" : "value272", + "key273" : "value273", + "key274" : "value274", + "key275" : "value275", + "key276" : "value276", + "key277" : "value277", + "key278" : "value278", + "key279" : "value279", + "key280" : "value280", + "key281" : "value281", + "key282" : "value282", + "key283" : "value283", + "key284" : "value284", + "key285" : "value285", + "key286" : "value286", + "key287" : "value287", + "key288" : "value288", + "key289" : "value289", + "key290" : "value290", + "key291" : "value291", + "key292" : "value292", + "key293" : "value293", + "key294" : "value294", + "key295" : "value295", + "key296" : "value296", + "key297" : "value297", + "key298" : "value298", + "key299" : "value299", + "key300" : "value300", + "key301" : "value301", + "key302" : "value302", + "key303" : "value303", + "key304" : "value304", + "key305" : "value305", + "key306" : "value306", + "key307" : "value307", + "key308" : "value308", + "key309" : "value309", + "key310" : "value310", + "key311" : "value311", + "key312" : "value312", + "key313" : "value313", + "key314" : "value314", + "key315" : "value315", + "key316" : "value316", + "key317" : "value317", + "key318" : "value318", + "key319" : "value319", + "key320" : "value320", + "key321" : "value321", + "key322" : "value322", + "key323" : "value323", + "key324" : "value324", + "key325" : "value325", + "key326" : "value326", + "key327" : "value327", + "key328" : "value328", + "key329" : "value329", + "key330" : "value330", + "key331" : "value331", + "key332" : "value332", + "key333" : "value333", + "key334" : "value334", + "key335" : "value335", + "key336" : "value336", + "key337" : "value337", + "key338" : "value338", + "key339" : "value339", + "key340" : "value340", + "key341" : "value341", + "key342" : "value342", + "key343" : "value343", + "key344" : "value344", + "key345" : "value345", + "key346" : "value346", + "key347" : "value347", + "key348" : "value348", + "key349" : "value349", + "key350" : "value350", + "key351" : "value351", + "key352" : "value352", + "key353" : "value353", + "key354" : "value354", + "key355" : "value355", + "key356" : "value356", + "key357" : "value357", + "key358" : "value358", + "key359" : "value359", + "key360" : "value360", + "key361" : "value361", + "key362" : "value362", + "key363" : "value363", + "key364" : "value364", + "key365" : "value365", + "key366" : "value366", + "key367" : "value367", + "key368" : "value368", + "key369" : "value369", + "key370" : "value370", + "key371" : "value371", + "key372" : "value372", + "key373" : "value373", + "key374" : "value374", + "key375" : "value375", + "key376" : "value376", + "key377" : "value377", + "key378" : "value378", + "key379" : "value379", + "key380" : "value380", + "key381" : "value381", + "key382" : "value382", + "key383" : "value383", + "key384" : "value384", + "key385" : "value385", + "key386" : "value386", + "key387" : "value387", + "key388" : "value388", + "key389" : "value389", + "key390" : "value390", + "key391" : "value391", + "key392" : "value392", + "key393" : "value393", + "key394" : "value394", + "key395" : "value395", + "key396" : "value396", + "key397" : "value397", + "key398" : "value398", + "key399" : "value399", + "key400" : "value400", + "key401" : "value401", + "key402" : "value402", + "key403" : "value403", + "key404" : "value404", + "key405" : "value405", + "key406" : "value406", + "key407" : "value407", + "key408" : "value408", + "key409" : "value409", + "key410" : "value410", + "key411" : "value411", + "key412" : "value412", + "key413" : "value413", + "key414" : "value414", + "key415" : "value415", + "key416" : "value416", + "key417" : "value417", + "key418" : "value418", + "key419" : "value419", + "key420" : "value420", + "key421" : "value421", + "key422" : "value422", + "key423" : "value423", + "key424" : "value424", + "key425" : "value425", + "key426" : "value426", + "key427" : "value427", + "key428" : "value428", + "key429" : "value429", + "key430" : "value430", + "key431" : "value431", + "key432" : "value432", + "key433" : "value433", + "key434" : "value434", + "key435" : "value435", + "key436" : "value436", + "key437" : "value437", + "key438" : "value438", + "key439" : "value439", + "key440" : "value440", + "key441" : "value441", + "key442" : "value442", + "key443" : "value443", + "key444" : "value444", + "key445" : "value445", + "key446" : "value446", + "key447" : "value447", + "key448" : "value448", + "key449" : "value449", + "key450" : "value450", + "key451" : "value451", + "key452" : "value452", + "key453" : "value453", + "key454" : "value454", + "key455" : "value455", + "key456" : "value456", + "key457" : "value457", + "key458" : "value458", + "key459" : "value459", + "key460" : "value460", + "key461" : "value461", + "key462" : "value462", + "key463" : "value463", + "key464" : "value464", + "key465" : "value465", + "key466" : "value466", + "key467" : "value467", + "key468" : "value468", + "key469" : "value469", + "key470" : "value470", + "key471" : "value471", + "key472" : "value472", + "key473" : "value473", + "key474" : "value474", + "key475" : "value475", + "key476" : "value476", + "key477" : "value477", + "key478" : "value478", + "key479" : "value479", + "key480" : "value480", + "key481" : "value481", + "key482" : "value482", + "key483" : "value483", + "key484" : "value484", + "key485" : "value485", + "key486" : "value486", + "key487" : "value487", + "key488" : "value488", + "key489" : "value489", + "key490" : "value490", + "key491" : "value491", + "key492" : "value492", + "key493" : "value493", + "key494" : "value494", + "key495" : "value495", + "key496" : "value496", + "key497" : "value497", + "key498" : "value498", + "key499" : "value499", + "key500" : [ + [ + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100}, + ["a", "b", bar(), "c", globalStr1, globalInt1, "d", apple(), "e", localInt1, localStr1, "f", + check trap orange(), "g", "h", check trap grape(), "i", "j", globalStr1 + "vala", + localStr1 + "name", globalInt1 + 1, localInt1 + 2], + trap testXMLCycleErrorInner(), trap testXMLCycleInnerNonError(), + (c is int[] && d is int[][]), c is float[], d is json, d is json[], d is json[][], + [Y, "a", new NoFillerObject(1)], + ["y", "str"], + {name: "John", age: 30, male: true, "height": 1.8, "weight": 80, "friends": "Peter"}, + from var {x} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] collect [x], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] let var sum = x + y collect [...[sum], ...[x]], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}, {"x": 6, "y": 7}] collect [x].some(n => n > 2), + intArgA == intB, (intArgA.isReadOnly() && intB.isReadOnly()), + [lhsval3 >>> rhsval3, lhsval4 >> rhsval3, lhsval3 >>> rhsval4, lhsval4 >> rhsval4], + [[[100, 200, 3], [2, 5, 6]], [[100, 200, 3], [2, 5, 6], [12, 15, 16]]], + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100} + ] + ] + } + } + } + }; + + [record {|(any|error)...;|}] expectedStringMap = [{ + [globalStr1] : "globalStr1", + [globalStr2] : "globalStr2", + [globalStr3] : [globalInt1], + [globalStr4] : [globalStr2], + ["globalStr11"] : ["globalStr1"], + ["globalStr22"] : ["globalStr2"], + [globalStr3] : [localInt1], + [globalStr4] : [localStr1], + [globalStr5] : [localStr1], + [localStr1] : "globalStr1", + [localStr2] : "globalStr2", + [localStr3] : [globalInt1], + [localStr4] : [globalStr2], + ["localStr11"] : ["globalStr1"], + ["localStr22"] : ["globalStr2"], + [localStr3] : [localInt1], + [localStr4] : [localStr1], + [localStr5] : [localStr1], + "key1": [globalInt1], + "key2": [globalStr2], + "key3": ["globalStr1"], + "key4": ["globalStr2"], + "key5" :[localInt1], + "key6" :[localInt1], + "key7" :[localInt2], + "key8" :[localInt2], + "key9" : "value9", + "key10" : "value10", + ...largeRecord, + "key11" : "value11", + "key12" : globalStr1, + "key13" : globalStr1, + "key14" : globalStr2, + "key15" : globalMap1, + [globalStr6] : globalMap1, + [globalStr7] : globalMap2, + "key18" : "value18", + "key19" : "value19", + "key20" : "value20", + "key21" : "value21", + "key22" : "value22", + "key23" : "value23", + "key24" : "value24", + "key25" : "value25", + "key26" : "value26", + "key27" : "value27", + "key28" : "value28", + "key29" : "value29", + "key30" : "value30", + "key31" : "value31", + "key32" : "value32", + "key33" : "value33", + "key34" : "value34", + "key35" : "value35", + "key36" : "value36", + "key37" : "value37", + "key38" : "value38", + "key39" : "value39", + "key40" : "value40", + "key41" : "value41", + "key42" : "value42", + "key43" : "value43", + "key44" : "value44", + "key45" : "value45", + "key46" : "value46", + "key47" : "value47", + "key48" : "value48", + "key49" : "value49", + "key50" : "value50", + "key51" : "value51", + "key52" : "value52", + "key53" : "value53", + "key54" : "value54", + "key55" : "value55", + "key56" : "value56", + "key57" : "value57", + "key58" : "value58", + "key59" : "value59", + "key60" : "value60", + "key61" : "value61", + "key62" : "value62", + "key63" : "value63", + "key64" : "value64", + "key65" : "value65", + "key66" : "value66", + "key67" : "value67", + "key68" : "value68", + "key69" : "value69", + "key70" : "value70", + "key71" : "value71", + "key72" : "value72", + "key73" : "value73", + "key74" : "value74", + "key75" : "value75", + "key76" : "value76", + "key77" : "value77", + "key78" : "value78", + "key79" : "value79", + "key80" : "value80", + "key81" : "value81", + "key82" : "value82", + "key83" : "value83", + "key84" : "value84", + "key85" : "value85", + "key86" : "value86", + "key87" : "value87", + "key88" : "value88", + "key89" : "value89", + "key90" : "value90", + "key91" : "value91", + "key92" : "value92", + "key93" : "value93", + "key94" : "value94", + "key95" : "value95", + "key96" : "value96", + "key97" : "value97", + "key98" : "value98", + "key99" : "value99", + "key100" : "value100", + "key101" : "value101", + "key102" : "value102", + "key103" : "value103", + "key104" : "value104", + "key105" : "value105", + "key106" : "value106", + "key107" : "value107", + "key108" : "value108", + "key109" : "value109", + "key110" : "value110", + "key111" : "value111", + "key112" : "value112", + "key113" : "value113", + "key114" : "value114", + "key115" : "value115", + "key116" : "value116", + "key117" : "value117", + "key118" : "value118", + "key119" : "value119", + "key120" : "value120", + "key121" : "value121", + "key122" : "value122", + "key123" : "value123", + "key124" : "value124", + "key125" : "value125", + "key126" : "value126", + "key127" : "value127", + "key128" : "value128", + "key129" : "value129", + "key130" : "value130", + "key131" : "value131", + "key132" : "value132", + "key133" : "value133", + "key134" : "value134", + "key135" : "value135", + "key136" : "value136", + "key137" : "value137", + "key138" : "value138", + "key139" : "value139", + "key140" : "value140", + "key141" : "value141", + "key142" : "value142", + "key143" : "value143", + "key144" : "value144", + "key145" : "value145", + "key146" : "value146", + "key147" : "value147", + "key148" : "value148", + "key149" : "value149", + "key150" : "value150", + "key151" : "value151", + "key152" : "value152", + "key153" : "value153", + "key154" : "value154", + "key155" : "value155", + "key156" : "value156", + "key157" : "value157", + "key158" : "value158", + "key159" : "value159", + "key160" : "value160", + "key161" : "value161", + "key162" : "value162", + "key163" : "value163", + "key164" : "value164", + "key165" : "value165", + "key166" : "value166", + "key167" : "value167", + "key168" : "value168", + "key169" : "value169", + "key170" : "value170", + "key171" : "value171", + "key172" : "value172", + "key173" : "value173", + "key174" : "value174", + "key175" : "value175", + "key176" : "value176", + "key177" : "value177", + "key178" : "value178", + "key179" : "value179", + "key180" : "value180", + "key181" : "value181", + "key182" : "value182", + "key183" : "value183", + "key184" : "value184", + "key185" : "value185", + "key186" : "value186", + "key187" : "value187", + "key188" : "value188", + "key189" : "value189", + "key190" : "value190", + "key191" : "value191", + "key192" : "value192", + "key193" : "value193", + "key194" : "value194", + "key195" : "value195", + "key196" : "value196", + "key197" : "value197", + "key198" : "value198", + "key199" : "value199", + "key200" : "value200", + "key201" : "value201", + "key202" : "value202", + "key203" : "value203", + "key204" : "value204", + "key205" : "value205", + "key206" : "value206", + "key207" : "value207", + "key208" : "value208", + "key209" : "value209", + "key210" : "value210", + "key211" : "value211", + "key212" : "value212", + "key213" : "value213", + "key214" : "value214", + "key215" : "value215", + "key216" : "value216", + "key217" : "value217", + "key218" : "value218", + "key219" : "value219", + "key220" : "value220", + "key221" : "value221", + "key222" : "value222", + "key223" : "value223", + "key224" : "value224", + "key225" : "value225", + "key226" : "value226", + "key227" : "value227", + "key228" : "value228", + "key229" : "value229", + "key230" : "value230", + "key231" : "value231", + "key232" : "value232", + "key233" : "value233", + "key234" : "value234", + "key235" : "value235", + "key236" : "value236", + "key237" : "value237", + "key238" : "value238", + "key239" : "value239", + "key240" : "value240", + "key241" : "value241", + "key242" : "value242", + "key243" : "value243", + "key244" : "value244", + "key245" : "value245", + "key246" : "value246", + "key247" : "value247", + "key248" : "value248", + "key249" : "value249", + "key250" : "value250", + "key251" : "value251", + "key252" : "value252", + "key253" : "value253", + "key254" : "value254", + "key255" : "value255", + "key256" : "value256", + "key257" : "value257", + "key258" : "value258", + "key259" : "value259", + "key260" : "value260", + "key261" : "value261", + "key262" : "value262", + "key263" : "value263", + "key264" : "value264", + "key265" : "value265", + "key266" : "value266", + "key267" : "value267", + "key268" : "value268", + "key269" : "value269", + "key270" : "value270", + "key271" : "value271", + "key272" : "value272", + "key273" : "value273", + "key274" : "value274", + "key275" : "value275", + "key276" : "value276", + "key277" : "value277", + "key278" : "value278", + "key279" : "value279", + "key280" : "value280", + "key281" : "value281", + "key282" : "value282", + "key283" : "value283", + "key284" : "value284", + "key285" : "value285", + "key286" : "value286", + "key287" : "value287", + "key288" : "value288", + "key289" : "value289", + "key290" : "value290", + "key291" : "value291", + "key292" : "value292", + "key293" : "value293", + "key294" : "value294", + "key295" : "value295", + "key296" : "value296", + "key297" : "value297", + "key298" : "value298", + "key299" : "value299", + "key300" : "value300", + "key301" : "value301", + "key302" : "value302", + "key303" : "value303", + "key304" : "value304", + "key305" : "value305", + "key306" : "value306", + "key307" : "value307", + "key308" : "value308", + "key309" : "value309", + "key310" : "value310", + "key311" : "value311", + "key312" : "value312", + "key313" : "value313", + "key314" : "value314", + "key315" : "value315", + "key316" : "value316", + "key317" : "value317", + "key318" : "value318", + "key319" : "value319", + "key320" : "value320", + "key321" : "value321", + "key322" : "value322", + "key323" : "value323", + "key324" : "value324", + "key325" : "value325", + "key326" : "value326", + "key327" : "value327", + "key328" : "value328", + "key329" : "value329", + "key330" : "value330", + "key331" : "value331", + "key332" : "value332", + "key333" : "value333", + "key334" : "value334", + "key335" : "value335", + "key336" : "value336", + "key337" : "value337", + "key338" : "value338", + "key339" : "value339", + "key340" : "value340", + "key341" : "value341", + "key342" : "value342", + "key343" : "value343", + "key344" : "value344", + "key345" : "value345", + "key346" : "value346", + "key347" : "value347", + "key348" : "value348", + "key349" : "value349", + "key350" : "value350", + "key351" : "value351", + "key352" : "value352", + "key353" : "value353", + "key354" : "value354", + "key355" : "value355", + "key356" : "value356", + "key357" : "value357", + "key358" : "value358", + "key359" : "value359", + "key360" : "value360", + "key361" : "value361", + "key362" : "value362", + "key363" : "value363", + "key364" : "value364", + "key365" : "value365", + "key366" : "value366", + "key367" : "value367", + "key368" : "value368", + "key369" : "value369", + "key370" : "value370", + "key371" : "value371", + "key372" : "value372", + "key373" : "value373", + "key374" : "value374", + "key375" : "value375", + "key376" : "value376", + "key377" : "value377", + "key378" : "value378", + "key379" : "value379", + "key380" : "value380", + "key381" : "value381", + "key382" : "value382", + "key383" : "value383", + "key384" : "value384", + "key385" : "value385", + "key386" : "value386", + "key387" : "value387", + "key388" : "value388", + "key389" : "value389", + "key390" : "value390", + "key391" : "value391", + "key392" : "value392", + "key393" : "value393", + "key394" : "value394", + "key395" : "value395", + "key396" : "value396", + "key397" : "value397", + "key398" : "value398", + "key399" : "value399", + "key400" : "value400", + "key401" : "value401", + "key402" : "value402", + "key403" : "value403", + "key404" : "value404", + "key405" : "value405", + "key406" : "value406", + "key407" : "value407", + "key408" : "value408", + "key409" : "value409", + "key410" : "value410", + "key411" : "value411", + "key412" : "value412", + "key413" : "value413", + "key414" : "value414", + "key415" : "value415", + "key416" : "value416", + "key417" : "value417", + "key418" : "value418", + "key419" : "value419", + "key420" : "value420", + "key421" : "value421", + "key422" : "value422", + "key423" : "value423", + "key424" : "value424", + "key425" : "value425", + "key426" : "value426", + "key427" : "value427", + "key428" : "value428", + "key429" : "value429", + "key430" : "value430", + "key431" : "value431", + "key432" : "value432", + "key433" : "value433", + "key434" : "value434", + "key435" : "value435", + "key436" : "value436", + "key437" : "value437", + "key438" : "value438", + "key439" : "value439", + "key440" : "value440", + "key441" : "value441", + "key442" : "value442", + "key443" : "value443", + "key444" : "value444", + "key445" : "value445", + "key446" : "value446", + "key447" : "value447", + "key448" : "value448", + "key449" : "value449", + "key450" : "value450", + "key451" : "value451", + "key452" : "value452", + "key453" : "value453", + "key454" : "value454", + "key455" : "value455", + "key456" : "value456", + "key457" : "value457", + "key458" : "value458", + "key459" : "value459", + "key460" : "value460", + "key461" : "value461", + "key462" : "value462", + "key463" : "value463", + "key464" : "value464", + "key465" : "value465", + "key466" : "value466", + "key467" : "value467", + "key468" : "value468", + "key469" : "value469", + "key470" : "value470", + "key471" : "value471", + "key472" : "value472", + "key473" : "value473", + "key474" : "value474", + "key475" : "value475", + "key476" : "value476", + "key477" : "value477", + "key478" : "value478", + "key479" : "value479", + "key480" : "value480", + "key481" : "value481", + "key482" : "value482", + "key483" : "value483", + "key484" : "value484", + "key485" : "value485", + "key486" : "value486", + "key487" : "value487", + "key488" : "value488", + "key489" : "value489", + "key490" : "value490", + "key491" : "value491", + "key492" : "value492", + "key493" : "value493", + "key494" : "value494", + "key495" : "value495", + "key496" : "value496", + "key497" : "value497", + "key498" : "value498", + "key499" : "value499", + "key500" : [ + [ + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100}, + ["a", "b", bar(), "c", globalStr1, globalInt1, "d", apple(), "e", localInt1, localStr1, "f", + check trap orange(), "g", "h", check trap grape(), "i", "j", globalStr1 + "vala", + localStr1 + "name", globalInt1 + 1, localInt1 + 2], + trap testXMLCycleErrorInner(), trap testXMLCycleInnerNonError(), + (c is int[] && d is int[][]), c is float[], d is json, d is json[], d is json[][], + [Y, "a", new NoFillerObject(1)], + ["y", "str"], + {name: "John", age: 30, male: true, "height": 1.8, "weight": 80, "friends": "Peter"}, + from var {x} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] collect [x], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}] let var sum = x + y collect [...[sum], ...[x]], + from var {x, y} in [{"x": 2, "y": 3}, {"x": 4, "y": 5}, {"x": 6, "y": 7}] collect [x].some(n => n > 2), + intArgA == intB, (intArgA.isReadOnly() && intB.isReadOnly()), + [lhsval3 >>> rhsval3, lhsval4 >> rhsval3, lhsval3 >>> rhsval4, lhsval4 >> rhsval4], + [[[100, 200, 3], [2, 5, 6]], [[100, 200, 3], [2, 5, 6], [12, 15, 16]]], + globalStr1, localStr1, + globalStr2, localStr2, + globalStr3, localStr3, + globalStr4, localStr4, + globalStr5, localStr5, + globalStr6, localStr6, + globalStr7, localStr7, + globalStr8, localStr8, + globalStr9, localStr9, + globalStr10, localStr10, + globalStr11, localStr11, + globalStr12, localStr12, + globalStr13, localStr13, + globalStr14, localStr14, + globalStr15, localStr15, + globalStr16, localStr16, + globalStr17, localStr17, + globalStr18, localStr18, + globalStr19, localStr19, + globalStr20, localStr20, + globalStr21, localStr21, + globalStr22, localStr22, + globalStr23, localStr23, + globalStr24, localStr24, + globalStr25, localStr25, + globalStr26, localStr26, + globalStr27, localStr27, + globalStr28, localStr28, + globalStr29, localStr29, + globalStr30, localStr30, + globalStr31, localStr31, + globalStr32, localStr32, + globalStr33, localStr33, + globalStr34, localStr34, + globalStr35, localStr35, + globalStr36, localStr36, + globalStr37, localStr37, + globalStr38, localStr38, + globalStr39, localStr39, + globalStr40, localStr40, + globalStr41, localStr41, + globalStr42, localStr42, + globalStr43, localStr43, + globalStr44, localStr44, + globalStr45, localStr45, + globalStr46, localStr46, + globalStr47, localStr47, + globalStr48, localStr48, + globalStr49, localStr49, + globalStr50, localStr50, + globalStr51, localStr1, + globalStr52, localStr2, + globalStr53, localStr3, + globalStr54, localStr4, + globalStr55, localStr5, + globalStr56, localStr6, + globalStr57, localStr7, + globalStr58, localStr8, + globalStr59, localStr9, + globalStr60, localStr1, + globalStr61, localStr1, + globalStr62, localStr2, + globalStr63, localStr3, + globalStr64, localStr4, + globalStr65, localStr5, + globalStr66, localStr6, + globalStr67, localStr7, + globalStr68, localStr8, + globalStr69, localStr9, + globalStr70, localStr10, + globalStr71, localStr1, + globalStr72, localStr2, + globalStr73, localStr3, + globalStr74, localStr4, + globalStr75, localStr5, + globalStr76, localStr6, + globalStr77, localStr7, + globalStr78, localStr8, + globalStr79, localStr9, + globalStr80, localStr10, + globalStr81, localStr1, + globalStr82, localStr2, + globalStr83, localStr3, + globalStr84, localStr4, + globalStr85, localStr5, + globalStr86, localStr6, + globalStr87, localStr7, + globalStr88, localStr8, + globalStr89, localStr9, + globalStr90, localStr10, + globalStr91, localStr1, + globalStr92, localStr2, + globalStr93, localStr3, + globalStr94, localStr4, + globalStr95, localStr5, + globalStr96, localStr6, + globalStr97, localStr7, + globalStr98, localStr8, + globalStr99, localStr9, + globalStr100, localStr10, + globalInt1, localInt1, + globalInt2, localInt2, + globalInt3, localInt3, + globalInt4, localInt4, + globalInt5, localInt5, + globalInt6, localInt6, + globalInt7, localInt7, + globalInt8, localInt8, + globalInt9, localInt9, + globalInt10, localInt10, + globalInt11, localInt11, + globalInt12, localInt12, + globalInt13, localInt13, + globalInt14, localInt14, + globalInt15, localInt15, + globalInt16, localInt16, + globalInt17, localInt17, + globalInt18, localInt18, + globalInt19, localInt19, + globalInt20, localInt20, + globalInt21, localInt21, + globalInt22, localInt22, + globalInt23, localInt23, + globalInt24, localInt24, + globalInt25, localInt25, + globalInt26, localInt26, + globalInt27, localInt27, + globalInt28, localInt28, + globalInt29, localInt29, + globalInt30, localInt30, + globalInt31, localInt31, + globalInt32, localInt32, + globalInt33, localInt33, + globalInt34, localInt34, + globalInt35, localInt35, + globalInt36, localInt36, + globalInt37, localInt37, + globalInt38, localInt38, + globalInt39, localInt39, + globalInt40, localInt40, + globalInt41, localInt41, + globalInt42, localInt42, + globalInt43, localInt43, + globalInt44, localInt44, + globalInt45, localInt45, + globalInt46, localInt46, + globalInt47, localInt47, + globalInt48, localInt48, + globalInt49, localInt49, + globalInt50, localInt50, + globalInt51, localInt1, + globalInt52, localInt2, + globalInt53, localInt3, + globalInt54, localInt4, + globalInt55, localInt5, + globalInt56, localInt6, + globalInt57, localInt7, + globalInt58, localInt8, + globalInt59, localInt9, + globalInt60, localInt10, + globalInt61, localInt1, + globalInt62, localInt2, + globalInt63, localInt3, + globalInt64, localInt4, + globalInt65, localInt5, + globalInt66, localInt6, + globalInt67, localInt7, + globalInt68, localInt8, + globalInt69, localInt9, + globalInt70, localInt10, + globalInt71, localInt1, + globalInt72, localInt2, + globalInt73, localInt3, + globalInt74, localInt4, + globalInt75, localInt5, + globalInt76, localInt6, + globalInt77, localInt7, + globalInt78, localInt8, + globalInt79, localInt9, + globalInt80, localInt10, + globalInt81, localInt1, + globalInt82, localInt2, + globalInt83, localInt3, + globalInt84, localInt4, + globalInt85, localInt5, + globalInt86, localInt6, + globalInt87, localInt7, + globalInt88, localInt8, + globalInt89, localInt9, + globalInt90, localInt10, + globalInt91, localInt1, + globalInt92, localInt2, + globalInt93, localInt3, + globalInt94, localInt4, + globalInt95, localInt5, + globalInt96, localInt6, + globalInt97, localInt7, + globalInt98, localInt8, + globalInt99, localInt9, + globalInt100, localInt10, + "a","b","c","d",1,2,3,4,true,false,1.0,2.0,1.0d,2.0d, + (), {"a":1}, [1,[2]], [[1,2]], {"b": 3}, + {"name": "name1", "age": 1}, + {"name": "name2", "age": 2}, + {"name": "name3", "age": 3}, + {"name": "name4", "age": 4}, + {"name": "name5", "age": 5}, + {"name": "name6", "age": 6}, + {"name": "name7", "age": 7}, + {"name": "name8", "age": 8}, + {"name": "name9", "age": 9}, + {"name": "name10", "age": 10}, + {"name": "name11", "age": 11}, + {"name": "name12", "age": 12}, + {"name": "name13", "age": 13}, + {"name": "name14", "age": 14}, + {"name": "name15", "age": 15}, + {"name": "name16", "age": 16}, + {"name": "name17", "age": 17}, + {"name": "name18", "age": 18}, + {"name": "name19", "age": 19}, + {"name": "name20", "age": 20}, + {"name": "name21", "age": 21}, + {"name": "name22", "age": 22}, + {"name": "name23", "age": 23}, + {"name": "name24", "age": 24}, + {"name": "name25", "age": 25}, + {"name": "name26", "age": 26}, + {"name": "name27", "age": 27}, + {"name": "name28", "age": 28}, + {"name": "name29", "age": 29}, + {"name": "name30", "age": 30}, + {"name": "name31", "age": 31}, + {"name": "name32", "age": 32}, + {"name": "name33", "age": 33}, + {"name": "name34", "age": 34}, + {"name": "name35", "age": 35}, + {"name": "name36", "age": 36}, + {"name": "name37", "age": 37}, + {"name": "name38", "age": 38}, + {"name": "name39", "age": 39}, + {"name": "name40", "age": 40}, + {"name": "name41", "age": 41}, + {"name": "name42", "age": 42}, + {"name": "name43", "age": 43}, + {"name": "name44", "age": 44}, + {"name": "name45", "age": 45}, + {"name": "name46", "age": 46}, + {"name": "name47", "age": 47}, + {"name": "name48", "age": 48}, + {"name": "name49", "age": 49}, + {"name": "name50", "age": 50}, + {"name": "name51", "age": 51}, + {"name": "name52", "age": 52}, + {"name": "name53", "age": 53}, + {"name": "name54", "age": 54}, + {"name": "name55", "age": 55}, + {"name": "name56", "age": 56}, + {"name": "name57", "age": 57}, + {"name": "name58", "age": 58}, + {"name": "name59", "age": 59}, + {"name": "name60", "age": 60}, + {"name": "name61", "age": 61}, + {"name": "name62", "age": 62}, + {"name": "name63", "age": 63}, + {"name": "name64", "age": 64}, + {"name": "name65", "age": 65}, + {"name": "name66", "age": 66}, + {"name": "name67", "age": 67}, + {"name": "name68", "age": 68}, + {"name": "name69", "age": 69}, + {"name": "name70", "age": 70}, + {"name": "name71", "age": 71}, + {"name": "name72", "age": 72}, + {"name": "name73", "age": 73}, + {"name": "name74", "age": 74}, + {"name": "name75", "age": 75}, + {"name": "name76", "age": 76}, + {"name": "name77", "age": 77}, + {"name": "name78", "age": 78}, + {"name": "name79", "age": 79}, + {"name": "name80", "age": 80}, + {"name": "name81", "age": 81}, + {"name": "name82", "age": 82}, + {"name": "name83", "age": 83}, + {"name": "name84", "age": 84}, + {"name": "name85", "age": 85}, + {"name": "name86", "age": 86}, + {"name": "name87", "age": 87}, + {"name": "name88", "age": 88}, + {"name": "name89", "age": 89}, + {"name": "name90", "age": 90}, + {"name": "name91", "age": 91}, + {"name": "name92", "age": 92}, + {"name": "name93", "age": 93}, + {"name": "name94", "age": 94}, + {"name": "name95", "age": 95}, + {"name": "name96", "age": 96}, + {"name": "name97", "age": 97}, + {"name": "name98", "age": 98}, + {"name": "name99", "age": 99}, + {"name": "name100", "age": 100} + ] + ] + }]; + + test:assertEquals(expectedStringMap[0].toString(), + (check largeMap.get("nestedMap1").get("nestedMap2").get("nestedMap3")).toString()); +} + +function testXMLCycleErrorInner() returns xml { + 'xml:Element cat; + lock { + cat = <'xml:Element>catalog.clone(); + } + 'xml:Element fc = <'xml:Element>cat.getChildren().strip()[0]; + fc.setChildren(cat); + return cat; +} + +isolated function testXMLCycleInnerNonError() returns xml { + 'xml:Element cat; + lock { + cat = <'xml:Element>catalog.clone(); + } + + var cds = cat.getChildren().strip(); + 'xml:Element fc = <'xml:Element>cds[0]; + fc.setChildren(cds[1]); + return cat; +} + +function bar() returns string { + return "barval"; +} + +function apple() returns string { + return "appleval"; +} + +function orange() returns string|error { + return "orangeval"; +} + +function grape() returns string|error { + return "grapeval"; +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/object/object-with-defaultable-field.bal b/tests/jballerina-unit-test/src/test/resources/test-src/object/object-with-defaultable-field.bal index 5060d44abd71..d89f73357b0f 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/object/object-with-defaultable-field.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/object/object-with-defaultable-field.bal @@ -18,3 +18,39 @@ class Person { self.month = val1; } } + +final int classI = 111222; + +class ModuleVariableReferencingClass { + int i = classI; +} + +function value(int k = classI) returns int { + return k; +} + +ModuleVariableReferencingClass c1 = new; + +function testClassWithModuleLevelVarAsDefaultValue() { + ModuleVariableReferencingClass c = new; + assertEquality(111222, c.i); + assertEquality(111222, c1.i); +} + +function testObjectConstructorWithModuleLevelVarAsDefaultValue() { + var value = object { + int i = classI; + }; + assertEquality(111222, value.i); +} + +const ASSERTION_ERROR_REASON = "AssertionError"; + +function assertEquality(anydata expected, anydata actual) { + if expected == actual { + return; + } + + panic error(ASSERTION_ERROR_REASON, + message = "expected '" + expected.toString() + "', found '" + actual.toString () + "'"); +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause.bal b/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause.bal index 4424dd720d3f..1a84c6e68441 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause.bal @@ -451,9 +451,74 @@ function testErrorSeq() { assertEquality("msg1", x[0].message()); } -function assertEquality(anydata expected, anydata actual) { - if expected == actual { +class NumberGenerator { + int i = 0; + boolean resultError = false; + public isolated function next() returns record {|int value;|}|error? { + if self.i > 5 { + if self.resultError { + return error("Number exceed 5"); + } + return (); + } + int value = self.i; + self.i += 1; + return {value}; + } + + function init(boolean resultError = false) { + self.resultError = resultError; + } +} + +function testErrorCompletion() { + NumberGenerator numGenratorErrorResult = new(true); + stream numberStream1 = new (numGenratorErrorResult); + int|error collectResult1 = from int number in numberStream1 + collect sum(number); + assertEquality(error("Number exceed 5"), collectResult1); + + NumberGenerator numGenrator = new(); + stream numberStream2 = new (numGenrator); + int|error collectResult2 = from int number in numberStream2 + collect sum(number); + assertEquality(15, collectResult2); + + int|error collectResult3 = from int num1 in 1...5 + join int num2 in numberStream1 + on num1 equals num2 + collect sum(num1); + assertEquality(error("Number exceed 5"), collectResult3); + + NumberGenerator numGenrator2 = new(); + stream numberStream3 = new (numGenrator2); + (int|error)[] collectResult4 = from int number in 1...3 + let int|error sum = from int i in numberStream3 + collect sum(i) + select sum; + assertTrue(collectResult4[0] is int); + assertEquality(15, collectResult4[0]); +} + +const ASSERTION_ERROR_REASON = "AssertionError"; + +function assertEquality(anydata|error expected, anydata|error actual) { + if expected is anydata && actual is anydata && expected == actual { + return; + } + + if expected is error && actual is error && expected.message() == actual.message(){ return; } - panic error("expected '" + expected.toString() + "', found '" + actual.toString() + "'"); + + string expectedValAsString = expected is error ? expected.toString() : expected.toString(); + string actualValAsString = actual is error ? actual.toString() : actual.toString(); + panic error(ASSERTION_ERROR_REASON, + message = "expected '" + expectedValAsString + "', found '" + actualValAsString + "'"); +} + +function assertTrue(boolean condition) { + if (!condition) { + panic error(ASSERTION_ERROR_REASON, message = "expected 'true', found 'false'"); + } } diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause_negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause_negative.bal index 735850320afe..048f62eaf06f 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause_negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/query/collect_clause_negative.bal @@ -59,14 +59,14 @@ function testInvalidAssignment() { function testUndefinedModule() { int sum = from var {name, price} in [{name: "Saman", price: 11}] - collect foo:sum(price); // error + collect foo:sum(price); // error } function testUserDefinedFunctions() { int sum = from var {name, price} in [{name: "Saman", price: 11}] - collect sumy(price); + collect sumy(price); sum = from var {name, price} in [{name: "Saman", price: 11}] - collect sumx(price); + collect sumx(price); } function sumx(int... p) returns int { @@ -79,11 +79,11 @@ function testQueryConstructTypes() { var sum1 = stream from var {name, price1, price2} in input collect sum(price1); // error var sum2 = map from var {name, price1, price2} in input - collect sum(price1); // error + collect sum(price1); // error map sum3 = map from var {name, price1, price2} in input - collect sum(price1); // error + collect sum(price1); // error var sum4 = table key(name) from var {name, price1, price2} in input - collect sum(price1); // error + collect sum(price1); // error } function testInvalidExpressions2() { @@ -117,7 +117,7 @@ function testVariablesSeqMoreThanOnce() { {name: "Kamal", price1: 10, price2: 9}, {name: "Amal", price1: 11, price2: 13}, {name: "Amal", price1: 11, price2: 15}]; - + var x1 = from var {name, price1, price2} in input1 group by name collect [price1]; // error @@ -131,7 +131,7 @@ function testVariablesSeqMoreThanOnce() { function testInvalidReturnTypesForEmptyGroups() { int x7 = from var {name, price1} in [{name: "Saman", price1: 2}] where name == "X" - collect max(price1); // error + collect max(price1); // error } function testInvalidArgOrder() { @@ -153,3 +153,53 @@ function testInvalidArgOrder() { where name == "XX" collect int:max(...[price]); // error } + +class NumberGenerator { + int i = 0; + boolean resultError = false; + public isolated function next() returns record {|int value;|}|error? { + if self.i > 5 { + if self.resultError { + return error("Number exceed 5"); + } + return (); + } + int value = self.i; + self.i += 1; + return {value}; + } + + function init(boolean resultError = false) { + self.resultError = resultError; + } +} + +function testErrorCompletion() { + NumberGenerator numGenrator = new (); + stream numberStream = new (numGenrator); + int _ = from int number in numberStream + collect sum(number); + + int _ = from int num1 in 1 ... 5 + join int num2 in numberStream + on num1 equals num2 + collect sum(num1); + + _ = from int number in 1 ... 5 + let int sum = from int i in numberStream + collect sum(i) + select number; + + _ = from int number in 1 ... 5 + do { + int _ = from int i in numberStream + collect sum(i); + }; + + _ = from int number in 1 ... 5 + do { + int _ = from int i in 1 ... 3 + from int j in numberStream + collect sum(i); + }; +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/query/query_action_or_expr_code_analysis_negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/query/query_action_or_expr_code_analysis_negative.bal index 1eb1bf000f1b..a2c93fbe6408 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/query/query_action_or_expr_code_analysis_negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/query/query_action_or_expr_code_analysis_negative.bal @@ -157,3 +157,26 @@ function testQueryActionOrExprWithSingleReceiveAction() { j -> w5; } } + +function testQueryActionOrExprAsyncSendActionInSelectClause() { + worker w1 { + _ = from var i in [1] + select i -> w2; + } + + worker w2 { + _ = <- w1; + } +} + +function testQueryActionOrExprAsyncSendActionInLetClause() { + worker w1 { + _ = from var i in [1] + let int? _ = i -> w2 + select i; + } + + worker w2 { + _ = <- w1; + } +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability.bal b/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability.bal new file mode 100644 index 000000000000..7fb91f78a063 --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability.bal @@ -0,0 +1,116 @@ +// Copyright (c) 2023 WSO2 LLC. (http://www.wso2.com). +// +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +type R1 record { + string y?; +}; + +type R2 record { + int x?; +}; + +type R3 record {| + string y?; + int...; +|}; + +type R4 record { + int a?; + string b; +}; + +type R5 record { + string b; +}; + +type R6 record { + int a?; + int b; +}; + +type R7 record { + readonly int? b; +}; + +function testOpenRecordToRecordWithOptionalFieldTypingRuntimeNegative() { + R2 a = {x: 1, "y": 10}; + assertFalse(a is R1); + + record {| int|string...; |} b = {}; + assertFalse(b is R1); + + record {| int...; |} c = {}; + assertFalse(c is R1); + assertFalse(c is R3); + + R5[] d = []; + assertFalse(d is R4[]); + + R7 e = {b: 1}; + assertFalse(e is R6); +} + +type R8 record { + string y?; +}; + +type R9 record {| + int x?; + string...; +|}; + +type R10 record { + int a?; + int b; +}; + +type R11 record {| + readonly int? b; + int...; +|}; + +function testRecordToRecordWithOptionalFieldTypingRuntimePositive() { + R9 a = {}; + R8 _ = a; // OK + assertTrue(a is R8); + + record {| int x?; |} b = {}; + assertTrue(b is R8); + + record {| int x?; never...; |} c = {}; + assertTrue(c is R8); + + R9[] d = []; + R8[] _ = d; // OK + assertTrue(d is R8[]); + + record {| readonly int? b; int...; |} e = {b: 1}; + assertTrue(e is record { int a?; int b; }); +} + +function assertTrue(anydata actual) { + assertEquality(true, actual); +} + +function assertFalse(anydata actual) { + assertEquality(false, actual); +} + +function assertEquality(anydata expected, anydata actual) { + if expected != actual { + panic error(string `expected ${expected.toBalString()}, found ${actual.toBalString()}`); + } +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability_negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability_negative.bal index a1fd57e5e6bb..a060855effec 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability_negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/record/record_assignability_negative.bal @@ -41,3 +41,31 @@ function testClosedRecordAssignabilityNegative() { boolean|string|int|record {|boolean|int b;|} r8 = r7; boolean|string|int|record {|boolean|int b;|} _ = r7; } + +type R1 record { + string y?; +}; + +type R2 record { + int x?; +}; + +type R3 record {| + string y?; + int...; +|}; + +function testOpenRecordToRecordWithIncompatibleOptionalFieldTyping() { + R2 r1 = {x: 1, "y": 10}; + R1 _ = r1; + + record {|int|string...;|} r2 = {}; + R1 _ = r2; + + record {|int...;|} r3 = {}; + R1 _ = r3; + R3 _ = r3; + + record {|readonly int? b; int...;|} r4 = {b: 1}; + record {int a?; int b;} _ = r4; +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/statements/ifelse/if-stmt.bal b/tests/jballerina-unit-test/src/test/resources/test-src/statements/ifelse/if-stmt.bal index eeb81927c3a2..85b32b70cbd1 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/statements/ifelse/if-stmt.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/statements/ifelse/if-stmt.bal @@ -217,6 +217,125 @@ function testResetTypeNarrowingWithBlockStmt() { } } +function testSymbolsInIfElse1() { + int? x = (); + if x is () { + int a = 3; + int b = 12; + b += 1; + if b == 13 { + a += 1; + b = 1; + } + } else { + int a = 3; + int b = 12; + } +} + +function testSymbolsInIfElse2() { + int? x = (); + if x is () { + int a = 2; + int b = 6; + b += 1; + if b == 7 { + a += 1; + b = 1; + if a == 3 { + a += 2; + b += 2; + } + } + int c = 10; + int d = 20; + if c == 7 { + a += 1; + b = 1; + if a == 6 { + a += 2; + b += 2; + } + } + } else { + int a = 5; + int b = 12; + if a == 4 { + int c = 2; + int d = 3; + } else { + int c = 2; + int d = 3; + } + } +} + +function testSymbolsInIfElse3() { + int|string? x = (); + if x is () { + int a = 12; + int b = 12; + b += 1; + if b == 13 { + a += 1; + b = 1; + } + if a == 2 { + a += 2; + b += 2; + } + } else if x is string { + int a = 2022; + int b = 12; + } else { + int a = 10; + int b = 12; + } +} + +function testSymbolsInIfElse4() { + int|string? x = (); + if x is () { + int? a = 12; + int? b = 12; + if b is int { + b += 1; + int? c = 1; + if c is int { + int|string? d = (); + if d is int { + c = 2; + a = 2; + } + if d is string { + d = 2; + b = 3; + } + } else { + int d = 2; + a = 2; + b = 3; + c = 10; + } + } + if a is int { + if a == 0 { + int d = 12; + } + int c = 10; + } + } else { + int a = 12; + int b = 10; + if a == 10 { + int c = 10; + if c == 10 { + int d = 12; + } + } + } +} + function assertTrue(any|error actual) { assertEquality(true, actual); } diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/statements/onfail/on-fail-clause-negative-v2.bal b/tests/jballerina-unit-test/src/test/resources/test-src/statements/onfail/on-fail-clause-negative-v2.bal index 6198d7e4cfe6..deccd7cf20bd 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/statements/onfail/on-fail-clause-negative-v2.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/statements/onfail/on-fail-clause-negative-v2.bal @@ -78,3 +78,1084 @@ function getError() returns error { error err = error("Custom Error"); return err; } + +function getErrorOrInt() returns int|error { + return getError(); +} + +public function testUnInitVars1() { + int resultInt; + do { + resultInt = check getErrorOrInt(); + } on fail { + } + resultInt += 1; +} + +public function testUnInitVars2() { + int resultInt1; + int resultInt2; + int resultInt3; + do { + resultInt1 = 1; + resultInt2 = check getErrorOrInt(); + resultInt3 = 1; + } on fail { + } + resultInt1 += 1; + resultInt2 += 1; + resultInt3 += 1; +} + +public function testUnInitVars3() { + int resultInt1; + int resultInt2; + int resultInt3; + transaction { + check commit; + resultInt1 = 1; + resultInt2 = check getErrorOrInt(); + resultInt3 = 1; + } on fail { + } + resultInt1 += 1; + resultInt2 += 1; + resultInt3 += 1; +} + +public function testUnInitVars4() { + int resultInt1; + int resultInt2; + int resultInt3; + transaction { + do { + resultInt1 = 1; + resultInt2 = check getErrorOrInt(); + resultInt3 = 1; + } + check commit; + } on fail { + } + resultInt1 += 1; + resultInt2 += 1; + resultInt3 += 1; +} + +public function testUnInitVars5() { + int resultInt1; + int resultInt2; + int resultInt3; + transaction { + do { + resultInt1 = 1; + resultInt2 = 2; + } + check commit; + resultInt3 = 1; + } on fail { + } + resultInt1 += 1; + resultInt2 += 1; + resultInt3 += 1; +} + +function testUnInitVars6() { + int i; + int j; + int k; + do { + i = 0; + j = 1; + check getErrorOrNil(); + k = 1; + } on fail { + i += 1; + j += 1; + k += 1; + } +} + +function testUnInitVars7() { + int i; + int j; + int k; + do { + i = 0; + j = 1; + check getErrorOrNil(); + k = 1; + } on fail { + k = -1; + } + i += 1; + j += 1; + k += 1; +} + +function getErrorOrNil() returns error? { + return getError(); +} + +function testUnInitVars8(int[] data) returns string { + string str1 = ""; + string str2; + foreach var i in data { + if(i < 0) { + check getErrorOrNil(); + str1 = "partial init"; + str2 = "partial init"; + } + } on fail { + str1 += "-> error caught. Hence value returning"; + return str1; + } + str2 += "-> reached end"; + return str1; +} + +function testUnInitVars9() { + string str1; + string str2; + do { + } on fail { + str1 = "-> error caught. Hence value returning"; + str2 = "-> error caught. Hence value returning"; + } + str1 += "-> reached end"; //error: variable 'str1' is not initialized + str2 += "-> reached end"; //error: variable 'str2' is not initialized +} + +function testUnInitVars10() { + string str1; + string str2; + do { + check getErrorOrNil(); + str2 = "partial init"; + } on fail { + str1 = "partial init"; + str2 = "-> error caught. Hence value returning"; + } + str1 += "-> reached end"; //error: variable 'str1' may not have been initialized + str2 += "-> reached end"; +} + +function testUnInitVars11() { + int i; + int j; + int k; + do { + i = 0; + j = 1; + check getErrorOrNil(); + k = 1; + } on fail { + k = -1; + } + i += 1; + j += 1; + k += 1; +} + +function testUnInitVars12() { + int i; + int j; + int k; + do { + i = 0; + j = check getErrorOrInt(); + k = 1; + j += 1; + } on fail { + k = -1; + } + i += 1; + j += 1; //error: variable 'j' may not have been initialized + k += 1; +} + +function testUnInitVars13() { + boolean bool = true; + int i; + int j; + do { + if (bool) { + i = 1; + check getErrorOrNil(); + j = 1; + } else { + i = 2; + j = 2; + } + i += 1; + j += 1; + } on fail { + j += 1; //error: variable 'j' may not have been initialized + } + i += 1; + j += 1; //error: variable 'j' may not have been initialized +} + +function testUnInitVars14() { + int[] x; + int[] y; + int[] z; + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + _ = x[0]; + _ = y[0]; + _ = z[0]; + } on fail { + return; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars15(boolean bool) { + int[] x; + int[] y; + int[] z; + do { + if bool { + z = []; + x = check getErrorOrIntArr(); + y = []; + } else { + z = []; + x = []; + y = []; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; + } on fail { + return; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars16(boolean bool) { + int[] i; + do { + do { + i = check getErrorOrIntArr(); + } + } on fail { + if bool { + i = []; + } else { + i = []; + } + } + _ = i[0]; +} + +function testUnInitVars17(boolean bool) { + int[] x; + int[] y; + int[] z; + do { + if bool { + z = []; + x = check getErrorOrIntArr(); + y = []; + } else { + z = []; + x = []; + y = []; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; + } on fail { + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; +} + +function testUnInitVars18(boolean bool) { + int[] x; + int[] y; + int[] z; + do { + if bool { + z = []; + x = check getErrorOrIntArr(); + y = []; + } else { + z = []; + x = []; + y = []; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; + } on fail { + x = []; + } + _ = x[0]; + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; +} + +function testUnInitVars19() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail error e { + fail e; + } + _ = x[0]; //no compilation error + _ = y[0]; + _ = z[0]; + } on fail { + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; +} + +function testUnInitVars20() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail error e { + fail e; + } + _ = x[0]; //no compilation error + _ = y[0]; + _ = z[0]; + } on fail { + x = []; + } + _ = x[0]; + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; +} + +function testUnInitVars21() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail error e { + y = []; + fail e; + } + _ = x[0]; //no compilation error + _ = y[0]; + _ = z[0]; + } on fail { + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars22() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail error e { + y = []; + fail e; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; + } on fail { + return; + } + _ = x[0]; + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars23() { + int[] x; + int[] y; + int[] z; + + do { + z = []; + x = []; + } on fail { + y = []; + } + _ = x[0]; + _ = y[0]; //error: variable 'y' is not initialized" + _ = z[0]; +} + +function testUnInitVars24() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail { + y = []; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; + } on fail { + x = []; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars25() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail { + y = []; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; + } on fail { + _ = x[0]; //error: variable 'x' may not have been initialized + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars26() { + int[] x; + int[] y; + int[] z; + do { + do { + z = []; + x = check getErrorOrIntArr(); + y = []; + } on fail { + y = []; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; + } on fail { + x = []; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; + _ = z[0]; +} + +function testUnInitVars27(boolean bool) { + int i; + do { + if (bool) { + fail error("Dummy 1"); + } else { + i = 0; + fail error("Dummy 2"); + } + } on fail { + i = 0; + } + _ = i; +} + +function testUnInitVars28(boolean bool) { + int i; + do { + if (bool) { + fail error("Dummy 1"); + } else { + i = 0; + fail error("Dummy 2"); + } + } on fail { + } + _ = i; //error: variable 'i' may not have been initialized +} + +function testUnInitVars29(boolean bool) returns error? { + int[] x; + int[] y; + int[] z; + + do { + do { + z = []; + if bool { + x = check getErrorOrIntArr(); + } else { + y = []; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; + } on fail error e { + fail e; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; + } on fail error e { + return e; + } + _ = x[0]; //error: variable 'x' may not have been initialized + _ = y[0]; //error: variable 'y' may not have been initialized + _ = z[0]; +} + +function testUnInitVars30(boolean bool) returns error? { + int i; + do { + if bool { + fail error("Dummy error"); + } + _ = i; //error: variable 'x' is not initialized + } on fail { + i = 0; + } + _ = i; //error: variable 'x' may not have been initialized +} + +function testUnInitVars31(boolean bool) { + int i; + do { + i = 0; + if bool { + fail error("Dummy 1"); + } else { + fail error("Dummy 2"); + } + _ = i; //error: unreachable code + } on fail { + i = 0; + } + // the following line should not result in a compile-time error + _ = i; +} + +function testUnInitVars32(boolean bool) { + int i; + do { + i = 0; + if bool { + fail error("Dummy 1"); + } else { + fail error("Dummy 2"); + } + } on fail { + } + // the following line should not result in a compile-time error + _ = i; +} + +function testUnInitVars33(boolean bool) { + int a = 1; + final int c; + do { + if (a == 3) { + fail error("Dummy error"); + } + } on fail { + c = 0; + } + // the following line should result in a compile-time error + // variable c may not have been initialized + _ = c; +} + +function testUnInitVars34() { + int i; + do { + if true { + fail error("Dummy error"); + } + } on fail { + i = 0; + } + // the following line should not result in a compile-time error + _ = i; +} + +function testUnInitVars35(boolean bool) { + int i; + do { + if bool { + fail error("Dummy error"); + } + } on fail { + i = 0; + } + // the following line should result in a compile-time error + // variable i may not have been initialized + _ = i; +} + +function testUnInitVars36() { + int i; + int j; + do { + i = check getErrorOrInt(); + return; + } on fail { + i = 0; + j = 0; + } + // the following line should not result in a compile-time error + _ = i; + _ = j; +} + +function testUnInitVars37() { + int[] i; + do { + } on fail { + lock { + _ = i[0]; //error: variable 'i' is not initialized + } + } +} + +function testUnInitVars38() { + int[] i; + do { + i = check getErrorOrIntArr(); + } on fail { + lock { + _ = i[0]; //error: variable 'i' may not have been initialized + } + } +} + +function testUnInitVars39() { + int[] i; + do { + i = []; + i = check getErrorOrIntArr(); + } on fail { + lock { + _ = i[0]; //no compilation error + } + } +} + +function testUnInitVars40() returns error? { + int[] i; + transaction { + check commit; + } on fail { + lock { + _ = i[0]; //error: variable 'i' is not initialized + } + } +} + +function testUnInitVars41() returns error? { + int[] i; + transaction { + check commit; + } on fail { + i = []; + } + _ = i[0]; //error: variable 'i' may not have been initialized +} + +function testUnInitVars42(boolean bool) { + int[] i; + foreach int j in 1 ... 3 { + if bool { + i = [check getErrorOrInt()]; + } + break; + } on fail { + i = []; + } + _ = i[0]; //error: variable 'i' may not have been initialized +} + +function testUnInitVars43(boolean bool) returns error? { + int[] i; + foreach int j in 1 ... 3 { + if bool { + i = [check getErrorOrInt()]; + } else { + i = [check getErrorOrInt()]; + } + break; + } on fail { + i = []; + } + _ = i[0]; //no compilation error +} + +function testUnInitVars44(boolean bool) { + int i; + do { + if bool { + fail error("", message = "error"); + } else { + i = 1; + } + } on fail { + } + _ = i; //error: variable 'i' may not have been initialized +} + +function testUnInitVars45(int count) { + int i = 0; + int j; + while count > i { + check getErrorOrNil(); + j = i; + } on fail { + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars46(int count) { + int i = 0; + int j; + while count > i { + check getErrorOrNil(); + j = i; + } on fail { + j = 1; + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars47() { + int i = 0; + int j; + while true { + check getErrorOrNil(); + j = i; + } on fail { + j = 1; + } + _ = j; //no compile error +} + +function testUnInitVars48() { + int i = 0; + int j; + while true { + check getErrorOrNil(); + j = i; + } on fail { + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars49() { + int i = 0; + int j; + while true { + check getErrorOrNil(); + j = i; + return; + } on fail { + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars50() { + int i = 0; + int j; + while true { + check getErrorOrNil(); + j = i; + return; + } on fail { + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars51() { + int i = 0; + int j; + while true { + check getErrorOrNil(); + j = i; + return; + } on fail { + j = 1; + } + _ = j; //no compilation error +} + +function testUnInitVars52(boolean bool) { + int i = 0; + int j; + while bool { + check getErrorOrNil(); + j = i; + return; + } on fail { + j = 1; + } + _ = j; //no compilation error +} + +function testUnInitVars53(boolean bool) { + int i = 0; + int j; + do { + while bool { + check getErrorOrNil(); + j = i; + } on fail { + j = 1; + } + } on fail { + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars54() { + int i = 0; + int j; + do { + while true { + check getErrorOrNil(); + j = i; + } on fail { + j = 1; + } + } on fail { + } + _ = j; //no compilation error +} + +function testUnInitVars55() { + int i = 0; + int j; + do { + while true { + check getErrorOrNil(); + j = i; + } on fail error e { + fail e; + } + } on fail { + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars56() { + int i = 0; + int j; + do { + while true { + check getErrorOrNil(); + j = i; + } on fail error e { + fail e; + } + } on fail { + j = 1; + } + _ = j; //no compilation error +} + +function testUnInitVars57(boolean bool) { + int i = 0; + int j; + do { + while bool { + check getErrorOrNil(); + j = i; + } on fail error e { + fail e; + } + } on fail { + j = 1; + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars58() { + int i = 0; + int j; + do { + foreach int _ in [1] { + check getErrorOrNil(); + j = i; + } on fail error e { + fail e; + } + } on fail { + j = 1; + } + _ = j; //no compilation error +} + +function testUnInitVars59() { + int i = 0; + int j; + do { + foreach int _ in [1] { + check getErrorOrNil(); + j = i; + } on fail { + } + } on fail { + j = 1; + } + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars60() { + int i; + int j; + do { + check getErrorOrNil(); + [i, j] = [1, 2]; + } on fail { + } + _ = i; //error: variable 'i' may not have been initialized + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars61() { + int i; + int j; + do { + foreach int _ in [1] { + check getErrorOrNil(); + [i, j] = [1, 2]; + } on fail { + } + } on fail { + [i, j] = [1, 2]; + } + _ = i; //error: variable 'i' may not have been initialized + _ = j; //error: variable 'j' may not have been initialized +} + +function testUnInitVars62() { + int i; + int j; + do { + foreach int _ in [1] { + check getErrorOrNil(); + [i, j] = [1, 2]; + } on fail error e { + fail e; + } + } on fail { + [i, j] = [1, 2]; + } + _ = i; //no compilation error + _ = j; //no compilation error +} + +public function testUnInitVars63() returns error? { + int i; + do { + error? e = getError(); + if e is error { + fail e; + } + i = 1; + } on fail { + } + _ = i; //error: variable 'i' may not have been initialized +} + +public function testUnInitVars64() returns error? { + int i; + do { + error? e = getError(); + if e is error { + fail e; + } + i = 1; + } on fail { + i = -1; + } + _ = i; //error: variable 'i' may not have been initialized +} + +function getErrorOrIntArr() returns int[]|error { + return getError(); +} + +public function testUnInitVars65() returns error? { + int resultInt; + do { + resultInt = check getErrorOrInt(); + } on fail { + resultInt = check getErrorOrInt(); + } + resultInt += 1; +} + +public function testUnInitVars66() returns error? { + int resultInt; + do { + resultInt = check getErrorOrInt(); + do { + resultInt = check getErrorOrInt(); + } on fail { + } + } on fail { + resultInt = check getErrorOrInt(); + } + resultInt += 1; +} + +public function testUnInitVars67() returns error? { + int resultInt1; + int resultInt2; + do { + resultInt1 = check getErrorOrInt(); + do { + resultInt2 = check getErrorOrInt(); + } on fail { + } + } on fail { + resultInt1 = check getErrorOrInt(); + } + resultInt1 += 1; + resultInt2 += 1; +} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never-type-negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never-type-negative.bal index 362830ddc35b..20e0b233b8c9 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never-type-negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never-type-negative.bal @@ -248,17 +248,20 @@ function testNeverFieldTypeBinding() { } function testNeverRestFieldType() { - record {|never...; |} a = {}; + record {|never...;|} a = {}; record {|int x;|} copy = a; record {|int x?;|} a1 = {}; record {|never...; |} copy2 = a1; - record {|int x;never?...; |} a2 = {x: 12}; + record {|int x;never?...;|} a2 = {x: 12}; record {||} copy3 = a2; record {||} a3 = {}; - record {|int x;never...; |} copy4 = a3; + record {|int x;never...;|} copy4 = a3; + + record {|never?...;|} a4 = {}; + record {never i?;} _ = a4; } never N = check error("Error"); // error diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never_type_runtime.bal b/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never_type_runtime.bal index 8e0d703da520..645ac4b21f79 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never_type_runtime.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/types/never/never_type_runtime.bal @@ -160,7 +160,8 @@ function testNeverFieldTypeCheck() { assertEquality(true, r7 is record {never x?;}); record {|never?...; |} r8 = {}; - assertEquality(true, r8 is record {never x?;}); + assertEquality(false, r8 is record {never x?;}); + assertEquality(true, r8 is record {never? x?;}); record {|int?...; |} r9 = {}; assertEquality(false, r9 is record {never x?;}); @@ -191,10 +192,6 @@ function testNeverFieldTypeCheck() { record {never i?;} y1 = x1; assertEquality(true, y1 is record {|never...; |}); - record {|never?...; |} x2 = {}; - record {never i?;} y2 = x2; - assertEquality(true, y2 is record {|never?...; |}); - record {||} x3 = {}; record {never i?;} y3 = x3; assertEquality(true, y3 is record {||}); diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/types/xml/xml-attribute-access-lax-behavior.bal b/tests/jballerina-unit-test/src/test/resources/test-src/types/xml/xml-attribute-access-lax-behavior.bal index 5cf64bd32463..267334994fba 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/types/xml/xml-attribute-access-lax-behavior.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/types/xml/xml-attribute-access-lax-behavior.bal @@ -1,36 +1,13 @@ import ballerina/lang.'xml; -function testXMLAsMapContent() returns [string|error?, string|error?, boolean] { - map xmap = getXMLMap(); - string|error val = xmap.a.attr; - string|error? val2 = xmap.a?.attr; - string|error? val3 = xmap.a?.attr2; - return [val, val2, val3 is ()]; -} - -function testXMLASMapContentInvalidKey() returns string|error? { - map xmap = getXMLMap(); - string|error val = xmap.b.attr; - return val; -} - -function testXMLAttributeWithNSPrefix() returns - [string|error?, string|error?, string|error?, boolean, boolean] { - map xmap = {}; - xmap["a"] = xml ``; - string|error val = xmap.a.'xml:space; - string|error? val2 = xmap.a?.'xml:space; - string|error? val3 = xmap.b?.'xml:space; - return [val, val2, val3]; +function testXMLAttributeWithNSPrefix() returns [string|error?, string|error?] { + xml a = xml ``; + string|error val = a.'xml:space; + string|error? val2 = a?.'xml:space; + return [val, val2]; } function testXMLDirectAttributeAccess() returns [boolean, boolean, boolean, boolean] { xml x = xml ``; return [x.attr is string, x?.attr is string, x.attrNon is error, x?.attrNon is ()]; } - -function getXMLMap() returns map { - map xmap = {}; - xmap["a"] = xml ``; - return xmap; -} diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/workers/wait-actions-negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/workers/wait-actions-negative.bal index 0fb820c605b0..54be86942c62 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/workers/wait-actions-negative.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/workers/wait-actions-negative.bal @@ -90,6 +90,54 @@ function waitForAllTest() { restRec2 result16 = wait {id: f1, name: f2, age: f4}; } +type WaitResult record {| + boolean|error producer; + boolean consumer; +|}; + +function waitForAllTest2() { + worker Producer1 returns boolean|error { + return true; + } + + worker Producer2 returns boolean|error { + return true; + } + + worker Consumer1 returns boolean { + return false; + } + + worker Consumer2 returns boolean { + return false; + } + + WaitResult res = wait {producer: Producer1|Producer2, consumer: Consumer1}; + res = wait {producer: Producer1, consumer: Consumer1|Consumer2}; + res = wait {producer: Producer1|Producer2, consumer: Consumer1|Consumer2}; + + res = wait {producer: (Producer1|(Producer2)), consumer: Consumer1}; + res = wait {producer: Producer1, consumer: (((Consumer1|Consumer2)))}; + res = wait {producer: (((((((Producer1|Producer2))))))), consumer: (Consumer1|Consumer2)}; +} + +function waitActionWithInvalidType() { + worker Producer1 returns boolean|error { + return true; + } + + worker Consumer1 returns boolean { + return false; + } + + future|future x = Producer1; + future|future y = Consumer1; + + WaitResult res = wait {producer: x, consumer: Consumer1}; + res = wait {producer: Producer1, consumer: y}; + res = wait {producer: x, consumer: y}; +} + function print(string str) { string result = str.toUpperAscii(); } diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_as_expression.bal b/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_as_expression.bal index 614e6d05432d..91bd2bf8bfbc 100644 --- a/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_as_expression.bal +++ b/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_as_expression.bal @@ -1,6 +1,6 @@ -// Copyright (c) 2021 WSO2 Inc. (http://www.wso2.org) All Rights Reserved. +// Copyright (c) 2023 WSO2 LLC. (http://www.wso2.com) // -// WSO2 Inc. licenses this file to you under the Apache License, +// WSO2 LLC. licenses this file to you under the Apache License, // Version 2.0 (the "License"); you may not use this file except // in compliance with the License. // You may obtain a copy of the License at @@ -14,12 +14,135 @@ // specific language governing permissions and limitations // under the License. -function foo() { +function testAsyncSendAsExpressionReturnType() { worker w1 { () a = 5 -> w2; + assertValueEquality(a, ()); + + var b = "Foo" -> w2; + assertValueEquality(b, ()); + } + + worker w2 { + int x = <- w1; + assertValueEquality(5, x); + + string y = <- w1; + assertValueEquality("Foo", y); + } + + _ = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithPanic() { + worker w1 { + () a = 5 -> w2; + () b = 15 -> w2; + assertValueEquality(b, ()); + } + + worker w2 returns error? { + int x = <- w1; + if (x == 5) { + return error("This is an error"); + } + x = <- w1; + } + + map mapResult = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithTrapAndCheckExpr() { + worker w1 { + () a = check (5 -> w2); + assertValueEquality(a, ()); + error? b = trap (15 -> w2); + if b is error { + assertValueEquality("This is an error", b.message()); + } else { + assertValueEquality(b, ()); + } + } + + worker w2 returns error? { + int x = <- w1; + if (x == 5) { + return error("This is an error"); + } + x = <- w1; + } + + map mapResult = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithTypeCastExpr() { + worker w1 { + () a = <()>(5 -> w2); + assertValueEquality((), a); } worker w2 { - int a = <- w1; + int x = <- w1; + assertValueEquality(5, x); + } + + _ = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithReturnStmt() { + worker w1 { + return (5 -> w2); + } + + worker w2 { + int x = <- w1; + assertValueEquality(5, x); + } + + _ = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithWildCardBindingPattern() { + worker w1 { + _ = 5 -> w2; + } + + worker w2 { + int x = <- w1; + assertValueEquality(5, x); + } + + _ = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithMatchStmt() { + worker w1 { + match (5 -> w2) { + () => { + return; + } + + _ => { + panic error("This is an error"); + } + } + } + + worker w2 { + int x = <- w1; + assertValueEquality(5, x); + } + + _ = wait {w1, w2}; +} + +type AssertionError distinct error; +const ASSERTION_ERROR_REASON = "AssertionError"; + +function assertValueEquality(anydata expected, anydata actual) { + if expected == actual { + return; } + panic error(ASSERTION_ERROR_REASON, + message = "expected '" + expected.toString() + "', found '" + actual.toString () + "'"); } diff --git a/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_negative.bal b/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_negative.bal new file mode 100644 index 000000000000..eb9aec80a5b1 --- /dev/null +++ b/tests/jballerina-unit-test/src/test/resources/test-src/workers/worker_async_send_negative.bal @@ -0,0 +1,42 @@ +// Copyright (c) 2023 WSO2 LLC. (http://www.wso2.com) +// +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +function testAsyncSendAsExpressionWithForEachStmt() { + worker w1 { + foreach var j in 5 -> w2 { + + } + } + + worker w2 { + int x = <- w1; + } + + _ = wait {w1, w2}; +} + +function testAsyncSendAsExpressionWithCompoundAssignmentStmt() { + worker w1 { + int result = 4; + result += 5 -> w2; + } + + worker w2 { + int x = <- w1; + } + + _ = wait {w1, w2}; +} diff --git a/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_completion_single_file_config1.json b/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_completion_single_file_config1.json index ef541c71935d..8641deea9ad1 100644 --- a/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_completion_single_file_config1.json +++ b/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_completion_single_file_config1.json @@ -215,11 +215,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -359,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config1.json b/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config1.json index fedbf45dc0fb..3bd7585eba4f 100644 --- a/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config1.json +++ b/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config1.json @@ -215,11 +215,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -239,11 +239,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -263,11 +263,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -287,11 +287,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -311,11 +311,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -335,11 +335,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -359,11 +359,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, diff --git a/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config2.json b/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config2.json index a6e7ac535e4a..175ce69bae1c 100644 --- a/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config2.json +++ b/tests/language-server-integration-tests/src/test/resources/completion/compiler-plugins/config/compiler_plugin_with_completions_config2.json @@ -192,11 +192,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -216,11 +216,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -240,11 +240,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -264,11 +264,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -288,11 +288,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -312,11 +312,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } }, @@ -336,11 +336,11 @@ { "range": { "start": { - "line": 0, + "line": 1, "character": 0 }, "end": { - "line": 0, + "line": 1, "character": 0 } },