Skip to content

Commit

Permalink
Merge pull request #43044 from NipunaMadhushan/fix-configurables-apidoc
Browse files Browse the repository at this point in the history
Remove public construct check for configurable variables in API doc generation
  • Loading branch information
NipunaMadhushan committed Jul 26, 2024
2 parents abf6c71 + 56ca67d commit 51bdd8e
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -158,16 +158,16 @@ public static void setModuleFromSyntaxTree(Module module, SyntaxTree syntaxTree,
((EnumDeclarationNode) node).qualifier().isPresent() &&
((EnumDeclarationNode) node).qualifier().get().kind().equals(SyntaxKind.PUBLIC_KEYWORD)) {
module.enums.add(getEnumModel((EnumDeclarationNode) node));
} else if (node.kind() == SyntaxKind.MODULE_VAR_DECL &&
((ModuleVariableDeclarationNode) node).visibilityQualifier().isPresent() &&
((ModuleVariableDeclarationNode) node).visibilityQualifier().get().kind()
.equals(SyntaxKind.PUBLIC_KEYWORD)) {
DefaultableVariable defaultableVariable = getModuleVariable((ModuleVariableDeclarationNode) node,
} else if (node.kind() == SyntaxKind.MODULE_VAR_DECL) {
ModuleVariableDeclarationNode variableDeclarationNode = (ModuleVariableDeclarationNode) node;
DefaultableVariable defaultableVariable = getModuleVariable(variableDeclarationNode,
semanticModel, module);
if (containsToken(((ModuleVariableDeclarationNode) node).qualifiers(),
if (containsToken(variableDeclarationNode.qualifiers(),
SyntaxKind.CONFIGURABLE_KEYWORD)) {
module.configurables.add(defaultableVariable);
} else {
} else if (variableDeclarationNode.visibilityQualifier().isPresent() &&
variableDeclarationNode.visibilityQualifier().get().kind()
.equals(SyntaxKind.PUBLIC_KEYWORD)) {
module.variables.add(defaultableVariable);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,29 @@ public void testModuleVariables() {
Assert.assertEquals(tuple.get().type.memberTypes.get(1).category, "builtin");
}

@Test(description = "Test module configurable variables")
public void testModuleConfigurableVariables() {
Optional<DefaultableVariable> confString = testModule.configurables.stream()
.filter(client -> client.name.equals("confString")).findAny();
Assert.assertTrue(confString.isPresent());

Assert.assertEquals(confString.get().description, "A configurable variable of string type without " +
"default value" + System.lineSeparator());
Assert.assertEquals(confString.get().defaultValue, "?");
Assert.assertEquals(confString.get().type.category, "builtin");
Assert.assertEquals(confString.get().type.name, "string");

Optional<DefaultableVariable> defaultConfString = testModule.configurables.stream()
.filter(client -> client.name.equals("defaultConfString")).findAny();
Assert.assertTrue(defaultConfString.isPresent());

Assert.assertEquals(defaultConfString.get().description, "A configurable variable of string type with " +
"default value" + System.lineSeparator());
Assert.assertEquals(defaultConfString.get().defaultValue, "\"confidential\"");
Assert.assertEquals(defaultConfString.get().type.category, "builtin");
Assert.assertEquals(defaultConfString.get().type.name, "string");
}

@Test(description = "Test record rest field")
public void testRecordRestField() {
Optional<Record> keyValRec = testModule.records.stream()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@ public [int, float] [a, b] = [1, 1.5];
# A public variable of string type
public string pubString = "123";

# A configurable variable of string type without default value
configurable string confString = ?;

# A configurable variable of string type with default value
configurable string defaultConfString = "confidential";

public type Coordinates record {|
decimal latitude;
decimal longitude;
Expand Down

0 comments on commit 51bdd8e

Please sign in to comment.