Пример #1
0
 /// <summary>
 /// Translates the packet to/from binary form.
 /// </summary>
 /// <param name="translator">The translator to use.</param>
 public void Translate(INodePacketTranslator translator)
 {
     translator.TranslateEnum(ref _taskResult, (int)_taskResult);
     translator.TranslateException(ref _taskException);
     translator.Translate(ref _taskExceptionMessage);
     translator.Translate(ref _taskExceptionMessageArgs);
     translator.TranslateDictionary(ref _taskOutputParameters, StringComparer.OrdinalIgnoreCase, TaskParameter.FactoryForDeserialization);
     translator.TranslateDictionary(ref _buildProcessEnvironment, StringComparer.OrdinalIgnoreCase);
 }
Пример #2
0
        /// <summary>
        /// Serialize / deserialize this item.
        /// </summary>
        public void Translate(INodePacketTranslator translator)
        {
            translator.TranslateEnum <TaskParameterType>(ref _parameterType, (int)_parameterType);

            switch (_parameterType)
            {
            case TaskParameterType.Null:
                _wrappedParameter = null;
                break;

            case TaskParameterType.String:
                string stringParam = (string)_wrappedParameter;
                translator.Translate(ref stringParam);
                _wrappedParameter = stringParam;
                break;

            case TaskParameterType.StringArray:
                string[] stringArrayParam = (string[])_wrappedParameter;
                translator.Translate(ref stringArrayParam);
                _wrappedParameter = stringArrayParam;
                break;

#if FEATURE_BINARY_SERIALIZATION
            case TaskParameterType.ValueType:
            case TaskParameterType.ValueTypeArray:
                translator.TranslateDotNet(ref _wrappedParameter);
                break;
#endif
            case TaskParameterType.ITaskItem:
                TranslateITaskItem(translator);
                break;

            case TaskParameterType.ITaskItemArray:
                TranslateITaskItemArray(translator);
                break;

            case TaskParameterType.Invalid:
                Exception exceptionParam = (Exception)_wrappedParameter;
                translator.TranslateException(ref exceptionParam);
                _wrappedParameter = exceptionParam;
                break;

            default:
                ErrorUtilities.ThrowInternalErrorUnreachable();
                break;
            }
        }
Пример #3
0
 /// <summary>
 /// Reads or writes the packet to the serializer.
 /// </summary>
 void INodePacketTranslatable.Translate(INodePacketTranslator translator)
 {
     translator.Translate(ref _submissionId);
     translator.Translate(ref _configurationId);
     translator.Translate(ref _globalRequestId);
     translator.Translate(ref _parentGlobalRequestId);
     translator.Translate(ref _nodeRequestId);
     translator.Translate(ref _initialTargets);
     translator.Translate(ref _defaultTargets);
     translator.Translate(ref _circularDependency);
     translator.TranslateException(ref _requestException);
     translator.TranslateDictionary <ConcurrentDictionary <string, TargetResult>, TargetResult>(ref _resultsByTarget, TargetResult.FactoryForDeserialization, CreateTargetResultDictionary);
     translator.Translate(ref _baseOverallResult);
     translator.Translate(ref _projectStateAfterBuild, ProjectInstance.FactoryForDeserialization);
     translator.Translate(ref _savedCurrentDirectory);
     translator.TranslateDictionary(ref _savedEnvironmentVariables, StringComparer.OrdinalIgnoreCase);
 }
Пример #4
0
 /// <summary>
 /// Serializes or deserializes a packet.
 /// </summary>
 public void Translate(INodePacketTranslator translator)
 {
     translator.TranslateEnum(ref _reason, (int)_reason);
     translator.TranslateException(ref _exception);
 }
Пример #5
0
 /// <summary>
 /// Translator.
 /// </summary>
 public void Translate(INodePacketTranslator translator)
 {
     translator.TranslateEnum(ref _resultCode, (int)_resultCode);
     translator.TranslateEnum(ref _actionCode, (int)_actionCode);
     translator.TranslateException(ref _exception);
 }