Package org.ek9lang.compiler.phase3
Class NoDuplicatedPropertyNamesOrError
java.lang.Object
org.ek9lang.compiler.common.RuleSupport
org.ek9lang.compiler.common.TypedSymbolAccess
org.ek9lang.compiler.phase3.NoDuplicatedPropertyNamesOrError
- All Implemented Interfaces:
Consumer<AggregateSymbol>
final class NoDuplicatedPropertyNamesOrError
extends TypedSymbolAccess
implements Consumer<AggregateSymbol>
As all properties on records are public, it is necessary to check they do not get
duplicated. In short in a record inheritance hierarchy the properties become flattened.
This is unlike classes/components where all properties are always private and so can have the same name. But this is complicated with the JSON operator.
This is unlike classes/components where all properties are always private and so can have the same name. But this is complicated with the JSON operator.
-
Field Summary
Fields inherited from class org.ek9lang.compiler.common.RuleSupport
errorListener, symbolsAndScopes
-
Constructor Summary
ConstructorDescriptionNoDuplicatedPropertyNamesOrError
(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener, ErrorListener.SemanticClassification errorClassification) -
Method Summary
Methods inherited from class org.ek9lang.compiler.common.TypedSymbolAccess
getRecordedAndTypedSymbol, isProcessingScopePure, recordATypedSymbol
-
Constructor Details
-
NoDuplicatedPropertyNamesOrError
NoDuplicatedPropertyNamesOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener, ErrorListener.SemanticClassification errorClassification)
-
-
Method Details
-
accept
- Specified by:
accept
in interfaceConsumer<AggregateSymbol>
-