Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Arthanareeswaran2019-07-12 10:30:49 +0000
committerJay Arthanareeswaran2019-07-16 10:05:08 +0000
commit5cae2bc4507d466b23a63b26e6dbcba0a97c2b1b (patch)
treeacb1e38fa4782e355fe1d83b335f37acbd2105a8
parentdca146a6ff9a1138801577c665e5e29b71cbf90e (diff)
downloadeclipse.jdt.core-5cae2bc4507d466b23a63b26e6dbcba0a97c2b1b.tar.gz
eclipse.jdt.core-5cae2bc4507d466b23a63b26e6dbcba0a97c2b1b.tar.xz
eclipse.jdt.core-5cae2bc4507d466b23a63b26e6dbcba0a97c2b1b.zip
Bug 547900 - [13] dom support for JEP 354 Switch Expression
Removing the PROPERTY_DESCRIPTORS_12 that is no longer required. This is causing some test failures. Also disabling some failing test that are run at AST level 12, which no longer support the preview features that are being tested. Change-Id: I31ae7f4ad072439f71d3c09efbcfd516382790d3 Signed-off-by: Jay Arthanareeswaran <jarthana@in.ibm.com>
-rw-r--r--org.eclipse.jdt.core.tests.model/pom.xml2
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter9Test.java96
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java14
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java31
-rw-r--r--org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchExpressionsTest.java12
-rw-r--r--org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java2
-rw-r--r--org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BreakStatement.java1
-rw-r--r--org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SwitchCase.java16
8 files changed, 55 insertions, 119 deletions
diff --git a/org.eclipse.jdt.core.tests.model/pom.xml b/org.eclipse.jdt.core.tests.model/pom.xml
index bcfbd6f543..0b900da068 100644
--- a/org.eclipse.jdt.core.tests.model/pom.xml
+++ b/org.eclipse.jdt.core.tests.model/pom.xml
@@ -197,7 +197,7 @@
</plugins>
</build>
<properties>
- <!-- Overridden in https://ci.eclipse.org/jdt/job/eclipse.jdt.core-run.javac-12/configure -->
+ <!-- Overridden in https://ci.eclipse.org/jdt/job/eclipse.jdt.core-run.javac-13/configure -->
<tycho.surefire.argLine>--add-modules ALL-SYSTEM -Dcompliance=1.4,1.7,1.8,13</tycho.surefire.argLine>
</properties>
</profile>
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter9Test.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter9Test.java
index 1193890dff..22050a43a3 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter9Test.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/dom/ASTConverter9Test.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -1417,94 +1421,10 @@ public class ASTConverter9Test extends ConverterTestSetup {
deleteProject("Foo");
}
}
- // TODO: should probably start a new test class
- public void testBug531714_015() throws CoreException {
- // saw NPE in SwitchExpression.resolveType(SwitchExpression.java:423)
- if (!isJRE12) {
- System.err.println("Test "+getName()+" requires a JRE 12");
- return;
- }
- IJavaProject p = createJavaProject("Foo", new String[] {"src"}, new String[] {jcl9lib}, "bin", "12"); // FIXME jcl12?
- p.setOption(JavaCore.COMPILER_PB_ENABLE_PREVIEW_FEATURES, JavaCore.ENABLED);
- p.setOption(JavaCore.COMPILER_PB_REPORT_PREVIEW_FEATURES, JavaCore.IGNORE);
- try {
- String source =
- "import java.util.*;\n" +
- "public class X {\n" +
- " void testForeach1(int i, List<String> list) {\n" +
- " for (String s : switch(i) { case 1 -> list; default -> ; }) {\n" +
- " \n" +
- " }\n" +
- " Throwable t = switch (i) {\n" +
- " case 1 -> new Exception();\n" +
- " case 2 -> new RuntimeException();\n" + // trigger !typeUniformAcrossAllArms
- " default -> missing;\n" +
- " };\n" +
- " }\n" +
- " void testForeach0(int i, List<String> list) {\n" + // errors in first arm
- " for (String s : switch(i) { case 1 -> ; default -> list; }) {\n" +
- " \n" +
- " }\n" +
- " Throwable t = switch (i) {\n" +
- " case 0 -> missing;\n" +
- " case 1 -> new Exception();\n" +
- " default -> new RuntimeException();\n" + // trigger !typeUniformAcrossAllArms
- " };\n" +
- " }\n" +
- " void testForeachAll(int i) {\n" + // only erroneous arms
- " Throwable t = switch (i) {\n" +
- " case 0 -> missing;\n" +
- " default -> absent;\n" +
- " };\n" +
- " }\n" +
- "}\n";
- createFile("Foo/src/X.java", source);
- ICompilationUnit cuD = getCompilationUnit("/Foo/src/X.java");
-
- ASTParser parser = ASTParser.newParser(AST_INTERNAL_JLS11);
- parser.setProject(p);
- parser.setSource(cuD);
- parser.setResolveBindings(true);
- parser.setStatementsRecovery(true);
- parser.setBindingsRecovery(true);
- org.eclipse.jdt.core.dom.CompilationUnit cuAST = (org.eclipse.jdt.core.dom.CompilationUnit) parser.createAST(null);
- IProblem[] problems = cuAST.getProblems();
- assertProblems("Unexpected problems",
- "1. ERROR in /Foo/src/X.java (at line 4)\n" +
- " for (String s : switch(i) { case 1 -> list; default -> ; }) {\n" +
- " ^^\n" +
- "Syntax error on token \"->\", Expression expected after this token\n" +
- "----------\n" +
- "2. ERROR in /Foo/src/X.java (at line 10)\n" +
- " default -> missing;\n" +
- " ^^^^^^^\n" +
- "missing cannot be resolved to a variable\n" +
- "----------\n" +
- "3. ERROR in /Foo/src/X.java (at line 14)\n" +
- " for (String s : switch(i) { case 1 -> ; default -> list; }) {\n" +
- " ^^\n" +
- "Syntax error on token \"->\", Expression expected after this token\n" +
- "----------\n" +
- "4. ERROR in /Foo/src/X.java (at line 18)\n" +
- " case 0 -> missing;\n" +
- " ^^^^^^^\n" +
- "missing cannot be resolved to a variable\n" +
- "----------\n" +
- "5. ERROR in /Foo/src/X.java (at line 25)\n" +
- " case 0 -> missing;\n" +
- " ^^^^^^^\n" +
- "missing cannot be resolved to a variable\n" +
- "----------\n" +
- "6. ERROR in /Foo/src/X.java (at line 26)\n" +
- " default -> absent;\n" +
- " ^^^^^^\n" +
- "absent cannot be resolved to a variable\n" +
- "----------\n",
- problems, source.toCharArray());
- } finally {
- deleteProject(p);
- }
- }
+ /**
+ * @deprecated
+ * @throws Exception
+ */
public void testBug542795() throws Exception {
IJavaProject p = createJavaProject("Foo", new String[] {"src"}, new String[] {jcl9lib}, "bin", "11");
try {
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java
index 678c648075..10b6babd69 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/formatter/FormatterRegressionTests.java
@@ -14840,7 +14840,7 @@ public void testBug541011g() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818a() throws JavaModelException {
+public void _testBug543818a() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
this.formatterPrefs.insert_space_before_comma_in_switch_case_expressions = true;
this.formatterPrefs.insert_space_before_colon_in_case = true;
@@ -14851,7 +14851,7 @@ public void testBug543818a() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818b() throws JavaModelException {
+public void _testBug543818b() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
this.formatterPrefs.insert_space_after_comma_in_switch_case_expressions = false;
this.formatterPrefs.insert_space_before_closing_paren_in_switch = true;
@@ -14862,7 +14862,7 @@ public void testBug543818b() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818c() throws JavaModelException {
+public void _testBug543818c() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
this.formatterPrefs.insert_space_before_arrow_in_switch_case = false;
this.formatterPrefs.insert_space_before_opening_paren_in_switch = false;
@@ -14873,7 +14873,7 @@ public void testBug543818c() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818d() throws JavaModelException {
+public void _testBug543818d() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
this.formatterPrefs.insert_space_after_arrow_in_switch_case = false;
this.formatterPrefs.insert_space_after_opening_paren_in_switch = true;
@@ -14885,7 +14885,7 @@ public void testBug543818d() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818e() throws JavaModelException {
+public void _testBug543818e() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
this.formatterPrefs.insert_space_before_arrow_in_switch_default = false;
this.formatterPrefs.insert_space_before_colon_in_default = true;
@@ -14896,7 +14896,7 @@ public void testBug543818e() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818f() throws JavaModelException {
+public void _testBug543818f() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
this.formatterPrefs.insert_space_after_arrow_in_switch_default = false;
this.formatterPrefs.insert_space_before_opening_brace_in_switch = false;
@@ -14907,7 +14907,7 @@ public void testBug543818f() throws JavaModelException {
/**
* https://bugs.eclipse.org/543818 - [12] Formatter Support for Switch Expressions
*/
-public void testBug543818g() throws JavaModelException {
+public void _testBug543818g() throws JavaModelException {
setComplianceLevel(CompilerOptions.VERSION_12);
String input = getCompilationUnit("Formatter", "", "test543818", "in.java").getSource();
formatSource(input, getCompilationUnit("Formatter", "", "test543818", "G_out.java").getSource());
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java
index 5bb279099f..959ac6ec1c 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaModelTests.java
@@ -81,6 +81,7 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
protected static boolean isJRE10 = false;
protected static boolean isJRE11 = false;
protected static boolean isJRE12 = false;
+ protected static boolean isJRE13 = false;
protected static String DEFAULT_MODULES = null;
static {
String javaVersion = System.getProperty("java.version");
@@ -94,7 +95,10 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
}
}
long jdkLevel = CompilerOptions.versionToJdkLevel(javaVersion.length() > 3 ? javaVersion.substring(0, 3) : javaVersion);
- if (jdkLevel >= ClassFileConstants.getLatestJDKLevel()) {
+ if (jdkLevel >= ClassFileConstants.JDK13) {
+ isJRE13 = true;
+ }
+ if (jdkLevel >= ClassFileConstants.JDK12) {
isJRE12 = true;
}
if (jdkLevel >= ClassFileConstants.JDK11) {
@@ -147,6 +151,7 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
/**
* Internal synonym for constant AST.JSL12
* to alleviate deprecation warnings once AST.JLS12 is deprecated in future.
+ * @deprecated
*/
protected static final int AST_INTERNAL_JLS12 = AST.JLS12;
@@ -159,6 +164,7 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
/**
* Internal synonym for constant AST.JSL11
* to alleviate deprecation warnings once AST.JLS11 is deprecated in future.
+ * @deprecated
*/
protected static final int AST_INTERNAL_JLS11 = AST.JLS11;
public static class BasicProblemRequestor implements IProblemRequestor {
@@ -2064,6 +2070,12 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_12);
options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_12);
javaProject.setOptions(options);
+ } else if ("13".equals(compliance)) {
+ Map options = new HashMap();
+ options.put(CompilerOptions.OPTION_Compliance, CompilerOptions.VERSION_13);
+ options.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_13);
+ options.put(CompilerOptions.OPTION_TargetPlatform, CompilerOptions.VERSION_13);
+ javaProject.setOptions(options);
}
result[0] = javaProject;
}
@@ -3157,7 +3169,10 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
newJclLibString = "JCL18_FULL";
newJclSrcString = "JCL18_SRC"; // Use the same source
} else {
- if (compliance.equals("12")) {
+ if (compliance.equals("13")) {
+ newJclLibString = "JCL13_LIB";
+ newJclSrcString = "JCL13_SRC";
+ } else if (compliance.equals("12")) {
newJclLibString = "JCL12_LIB";
newJclSrcString = "JCL12_SRC";
} else if (compliance.equals("11")) {
@@ -3218,10 +3233,12 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
IPath jcl10Lib = new Path("JCL10_LIB");
IPath jcl11Lib = new Path("JCL11_LIB");
IPath jcl12Lib = new Path("JCL12_LIB");
+ IPath jcl13Lib = new Path("JCL13_LIB");
IPath jclFull = new Path("JCL18_FULL");
return path.equals(jclLib) || path.equals(jcl5Lib) || path.equals(jcl8Lib) || path.equals(jcl9Lib)
- || path.equals(jcl10Lib) || path.equals(jcl11Lib) || path.equals(jcl12Lib) || path.equals(jclFull);
+ || path.equals(jcl10Lib) || path.equals(jcl11Lib) || path.equals(jcl12Lib) || path.equals(jcl13Lib)
+ || path.equals(jclFull);
}
public void setUpJCLClasspathVariables(String compliance) throws JavaModelException, IOException {
setUpJCLClasspathVariables(compliance, false);
@@ -3292,6 +3309,14 @@ public abstract class AbstractJavaModelTests extends SuiteOfTestCases {
new IPath[] {getExternalJCLPath("12"), getExternalJCLSourcePath("12"), getExternalJCLRootSourcePath()},
null);
}
+ } else if ("13".equals(compliance)) {
+ if (JavaCore.getClasspathVariable("JCL13_LIB") == null) {
+ setupExternalJCL("jclMin12"); // No need for an explicit jclmin13, just use the same old one.
+ JavaCore.setClasspathVariables(
+ new String[] {"JCL13_LIB", "JCL13_SRC", "JCL_SRCROOT"},
+ new IPath[] {getExternalJCLPath("13"), getExternalJCLSourcePath("13"), getExternalJCLRootSourcePath()},
+ null);
+ }
} else {
if (JavaCore.getClasspathVariable("JCL_LIB") == null) {
setupExternalJCL("jclMin");
diff --git a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchExpressionsTest.java b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchExpressionsTest.java
index be868d92bf..647f4b3f2d 100644
--- a/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchExpressionsTest.java
+++ b/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/rewrite/describing/ASTRewritingSwitchExpressionsTest.java
@@ -8,6 +8,10 @@
*
* SPDX-License-Identifier: EPL-2.0
*
+ * This is an implementation of an early-draft specification developed under the Java
+ * Community Process (JCP) and is made available for testing and evaluation purposes
+ * only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
@@ -158,7 +162,7 @@ public class ASTRewritingSwitchExpressionsTest extends ASTRewritingTest {
}
@Deprecated
@SuppressWarnings("rawtypes")
- public void testSwitchExpressions_02_since_12() throws Exception {
+ public void _testSwitchExpressions_02_since_12() throws Exception {
IPackageFragment pack1= this.sourceFolder.createPackageFragment("test1", false, null);
StringBuffer buf= new StringBuffer();
buf.append("package test1;\n");
@@ -218,7 +222,7 @@ public class ASTRewritingSwitchExpressionsTest extends ASTRewritingTest {
@Deprecated
@SuppressWarnings("rawtypes")
- public void testSwitchExpressions_03_since_12() throws Exception {
+ public void _testSwitchExpressions_03_since_12() throws Exception {
IPackageFragment pack1= this.sourceFolder.createPackageFragment("test1", false, null);
String s =
"package test1;\n"+
@@ -306,7 +310,7 @@ public class ASTRewritingSwitchExpressionsTest extends ASTRewritingTest {
}
@SuppressWarnings("rawtypes")
- public void testSwitchStatement_Bug543720_since_12() throws Exception {
+ public void _testSwitchStatement_Bug543720_since_12() throws Exception {
IPackageFragment pack1= this.sourceFolder.createPackageFragment("test1", false, null);
String s =
"package test1;\n"+
@@ -387,7 +391,7 @@ public class ASTRewritingSwitchExpressionsTest extends ASTRewritingTest {
assertEqualString(preview, buf.toString());
}
@SuppressWarnings("rawtypes")
- public void testSwitchExpressions_04_since_12() throws Exception {
+ public void _testSwitchExpressions_04_since_12() throws Exception {
IPackageFragment pack1= this.sourceFolder.createPackageFragment("test1", false, null);
String s = "package test1;\n"+
"public class X {\n"+
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java
index b0f32ef643..e53779cd27 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ASTNode.java
@@ -2170,7 +2170,7 @@ public abstract class ASTNode {
*/
final void supportedOnlyIn13() {
if (this.ast.apiLevel != AST.JLS13_INTERNAL) {
- throw new UnsupportedOperationException("Operation only supported in JLS13 AST\""); //$NON-NLS-1$
+ throw new UnsupportedOperationException("Operation only supported in JLS13 AST"); //$NON-NLS-1$
}
}
/**
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BreakStatement.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BreakStatement.java
index b02d8d988d..31b6d79408 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BreakStatement.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BreakStatement.java
@@ -11,6 +11,7 @@
* This is an implementation of an early-draft specification developed under the Java
* Community Process (JCP) and is made available for testing and evaluation purposes
* only. The code is not compatible with any specification of the JCP.
+ *
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SwitchCase.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SwitchCase.java
index f4d65511c8..cc3489152e 100644
--- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SwitchCase.java
+++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SwitchCase.java
@@ -76,12 +76,6 @@ public class SwitchCase extends Statement {
* {@link StructuralPropertyDescriptor}),
* or null if uninitialized.
*/
- private static final List PROPERTY_DESCRIPTORS_12;
- /**
- * A list of property descriptors (element type:
- * {@link StructuralPropertyDescriptor}),
- * or null if uninitialized.
- */
private static final List PROPERTY_DESCRIPTORS_13;
static {
@@ -94,12 +88,6 @@ public class SwitchCase extends Statement {
createPropertyList(SwitchCase.class, propertyList);
addProperty(EXPRESSIONS2_PROPERTY , propertyList);
addProperty(SWITCH_LABELED_RULE_PROPERTY, propertyList);
- PROPERTY_DESCRIPTORS_12 = reapPropertyList(propertyList);
-
- propertyList = new ArrayList(2);
- createPropertyList(SwitchCase.class, propertyList);
- addProperty(EXPRESSIONS2_PROPERTY , propertyList);
- addProperty(SWITCH_LABELED_RULE_PROPERTY, propertyList);
PROPERTY_DESCRIPTORS_13 = reapPropertyList(propertyList);
}
@@ -114,9 +102,7 @@ public class SwitchCase extends Statement {
* @since 3.0
*/
public static List propertyDescriptors(int apiLevel) {
- if (apiLevel == AST.JLS12_INTERNAL) {
- return PROPERTY_DESCRIPTORS_12;
- } else if (apiLevel == AST.JLS13_INTERNAL) {
+ if (apiLevel == AST.JLS13_INTERNAL) {
return PROPERTY_DESCRIPTORS_13;
}
return PROPERTY_DESCRIPTORS;

Back to the top