Exemplo n.º 1
0
        private void generateAssignInto(LValueProvider lValue)
        {
            if (_storage != null)
            {
                //value is already created, reassign it
                lValue.Assign(_storage, _newOperator);
                return;
            }

            var storageProvider = lValue as IStorageReadProvider;

            if (storageProvider == null)
            {
                var temporary = new TemporaryVariableValue(_objectType, Context);
                _storage = temporary.Storage;
                temporary.AssignNewObject(_objectType, _newOperator);
                lValue.Assign(_storage, _newOperator);
            }
            else
            {
                _storage = storageProvider.Storage;
                lValue.AssignNewObject(_objectType, _newOperator);
            }

            _ctorCall.Generate();

            if (_initializerArguments.Length > 0)
            {
                generateInitializer();
            }
        }
Exemplo n.º 2
0
 /// <inheritdoc />
 public override void GenerateAssignInto(LValueProvider lValue)
 {
     lValue.Assign(Storage, null);
 }
Exemplo n.º 3
0
 /// <inheritdoc />
 public override void GenerateAssignInto(LValueProvider lValue)
 {
     lValue.Assign(_variable.Name, _variableNode);
 }