package com.intellij.flex.uiDesigner.mxml; import com.intellij.flex.uiDesigner.io.ByteRange; import java.util.ArrayList; class DynamicObjectContext extends Context { private ByteRange dataRange; private Scope scope; private boolean written; private boolean immediateCreation; int overrideUserCount; // IDEA-73040 final ArrayList<State> includeInStates = new ArrayList<>(); DynamicObjectContext(NullContext nullContext) { super(nullContext.getParentScope()); id = nullContext.id; cssRulesetDefined = nullContext.cssRulesetDefined; mxmlObjectReference = nullContext.mxmlObjectReference; } @Override Scope getScope() { if (scope == null) { scope = new Scope(this); } return scope; } int getReferredObjectsCount() { return scope == null ? 0 : scope.referenceCounter; } public boolean isWritten() { return written; } public void markAsWritten() { written = true; } public boolean isImmediateCreation() { return immediateCreation; } public void setImmediateCreation(boolean immediateCreation) { this.immediateCreation = immediateCreation; } public ByteRange getDataRange() { return dataRange; } public void setDataRange(ByteRange dataRange) { this.dataRange = dataRange; } }