Пример #1
0
        public static void SetAdditionalValue(this MetaMidRepresentation intermediateCode, string itemName,
                                              object valueToSet)
        {
            var additionalData = intermediateCode.AuxiliaryObjects;

            additionalData[itemName] = valueToSet;
        }
Пример #2
0
        public static object GetAdditionalProperty(this MetaMidRepresentation intermediateCode, string itemName)
        {
            if (intermediateCode == null)
            {
                return(null);
            }
            var additionalData = intermediateCode.AuxiliaryObjects;

            object itemValue;

            return(!additionalData.TryGetValue(itemName, out itemValue) ? null : itemValue);
        }
Пример #3
0
        private static StringBuilder ComputeVariableSb(MetaMidRepresentation midRepresentation)
        {
            var variablesSb = new StringBuilder();
            var vars        = midRepresentation.Vars;

            foreach (var variableInfo in vars.LocalVars)
            {
                AddVariableContent(variablesSb, "{0} local_{1};", variableInfo, vars);
            }
            foreach (var localVariable in vars.VirtRegs)
            {
                AddVariableContent(variablesSb, "{0} vreg_{1};", localVariable, vars);
            }
            return(variablesSb);
        }
Пример #4
0
        public static bool ReadAdditionalBool(this MetaMidRepresentation intermediateCode, string itemName)
        {
            var result = intermediateCode.GetAdditionalProperty(itemName);

            return(result != null && (bool)result);
        }