Add some clarifying comments
diff --git a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserRecordDeclaration.java b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserRecordDeclaration.java
index 388203c..fc190c8 100644
--- a/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserRecordDeclaration.java
+++ b/javaparser-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/declarations/JavaParserRecordDeclaration.java
@@ -54,6 +54,7 @@
* @author Federico Tomassetti
*/
// TODO: Check all of this
+// TODO: This is mostly a copy of JavaParserClassDeclaration. Refactor to reduce code duplication.
public class JavaParserRecordDeclaration extends AbstractTypeDeclaration
implements ResolvedRecordDeclaration,
MethodResolutionCapability,
@@ -106,6 +107,12 @@
/// Public methods: fields
///
+ /**
+ * This method returns both the ResolvedFieldDeclarations for the explicit static fields declared in the
+ * record and non-static private fields corresponding to the record parameters. This is done to make
+ * the fields of a record consistent across the various models (since the record parameters are considered
+ * fields by the Java compiler and runtime).
+ */
@Override
public List<ResolvedFieldDeclaration> getAllFields() {
List<ResolvedFieldDeclaration> fields = javaParserTypeAdapter.getFieldsForDeclaredVariables();
@@ -461,6 +468,10 @@
return false;
}
+ /**
+ * This method returns both the explicit methods declared in the record and the implicit getter
+ * methods for the record parameters. This is done for consistency across the various models.
+ */
@Override
public Set<ResolvedMethodDeclaration> getDeclaredMethods() {
Set<ResolvedMethodDeclaration> methods = new HashSet<>();