You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ah...@apache.org on 2018/09/10 22:16:16 UTC
[royale-compiler] 01/02: fix NPE on write-only properties
This is an automated email from the ASF dual-hosted git repository.
aharui pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-compiler.git
commit eaf1e32df22752e00ddbc7d758835ec6f325b25d
Author: Alex Harui <ah...@apache.org>
AuthorDate: Mon Sep 10 14:34:44 2018 -0700
fix NPE on write-only properties
---
.../compiler/internal/tree/mxml/MXMLClassReferenceNodeBase.java | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLClassReferenceNodeBase.java b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLClassReferenceNodeBase.java
index 9e6ae09..569d36e 100644
--- a/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLClassReferenceNodeBase.java
+++ b/compiler/src/main/java/org/apache/royale/compiler/internal/tree/mxml/MXMLClassReferenceNodeBase.java
@@ -722,11 +722,13 @@ abstract class MXMLClassReferenceNodeBase extends MXMLNodeBase implements IMXMLC
{
// Non-whitespace may be the value of a default property.
IVariableDefinition defaultPropertyDefinition = getDefaultPropertyDefinition(builder);
+ IVariableDefinition getterDefinition = (defaultPropertyDefinition instanceof ISetterDefinition) ?
+ ((ISetterDefinition)defaultPropertyDefinition).resolveCorrespondingAccessor(builder.getProject()) :null;
if (defaultPropertyDefinition != null &&
(defaultPropertyDefinition.getTypeAsDisplayString().equals(IASLanguageConstants.String) ||
(defaultPropertyDefinition.getMetaTagByName(IMetaAttributeConstants.ATTRIBUTE_RICHTEXTCONTENT) != null) ||
- (defaultPropertyDefinition instanceof ISetterDefinition &&
- ((ISetterDefinition)defaultPropertyDefinition).resolveCorrespondingAccessor(builder.getProject()).getMetaTagByName(IMetaAttributeConstants.ATTRIBUTE_RICHTEXTCONTENT) != null)))
+ (getterDefinition != null &&
+ (getterDefinition.getMetaTagByName(IMetaAttributeConstants.ATTRIBUTE_RICHTEXTCONTENT) != null))))
{
MXMLSpecifierNodeBase childNode =
createSpecifierNode(builder, defaultPropertyDefinition.getBaseName());