Beispiel #1
0
 public new string ToString(bool bUseToString)
 {
     if (NumericValue != null)
     {
         return(NumericValue.Value.ToString());
     }
     try {
         if (SymbolReference != null)
         {
             return(bUseToString ? SymbolReference.ToString() : SymbolReference.Name);
         }
         if (StorageArea != null)
         {
             return(bUseToString ? StorageArea.SymbolReference.ToString() : StorageArea.SymbolReference.Name);
         }
         //these should be: return XXXValue.GetValueInContext(???);
         if (AlphanumericValue != null)
         {
             return(AlphanumericValue.Token.SourceText);
         }
         if (RepeatedCharacterValue != null)
         {
             return(RepeatedCharacterValue.Token.SourceText);
         }
     } catch (System.InvalidOperationException) { }
     return(base.ToString());
 }
Beispiel #2
0
        public virtual string ToString(bool bUseToString, bool isBoolType)
        {
            if (NumericValue != null)
            {
                return(NumericValue.Value.ToString());
            }
            try {
                if (SymbolReference != null)
                {
                    return(bUseToString ? SymbolReference.ToString(isBoolType) : (SymbolReference.Name + (isBoolType ? "-value" : "")));
                }
                if (StorageArea != null)
                {
                    var qualifiedName = StorageArea?.SymbolReference?.ToString(isBoolType);
                    if (StorageArea is DataOrConditionStorageArea && ((DataOrConditionStorageArea)StorageArea).Subscripts.Count > 0)
                    {
                        var subscript = ((DataOrConditionStorageArea)StorageArea).ToString(true);
                        qualifiedName = qualifiedName + " " + subscript;
                    }

                    return(bUseToString ? qualifiedName : StorageArea?.SymbolReference?.Name + (isBoolType ? "-value" : ""));
                }
                //these should be: return XXXValue.GetValueInContext(???);
                if (AlphanumericValue != null)
                {
                    return(AlphanumericValue.Token.SourceText);
                }
                if (RepeatedCharacterValue != null)
                {
                    return(RepeatedCharacterValue.Token.SourceText);
                }
            } catch (System.InvalidOperationException) { }
            return(base.ToString());
        }
Beispiel #3
0
 public override string ToString()
 {
     if (SymbolReference != null)
     {
         return(SymbolReference.ToString());
     }
     return(base.ToString());
 }
Beispiel #4
0
        public virtual string ToString(bool bUseToString, bool isBoolType)
        {
            if (NumericValue != null)
            {
                return(NumericValue.Value.ToString());
            }
            try {
                if (SymbolReference != null)
                {
                    return(bUseToString ? SymbolReference.ToString(isBoolType) : (SymbolReference.Name + (isBoolType ? "-value" : "")));
                }
                if (StorageArea != null)
                {
                    var qualifiedName = StorageArea?.GetStorageAreaThatNeedDeclaration?.SymbolReference?.ToString(isBoolType);
                    if (StorageArea is DataOrConditionStorageArea && ((DataOrConditionStorageArea)StorageArea).Subscripts.Count > 0)
                    {
                        var subscript = ((DataOrConditionStorageArea)StorageArea).ToString(true);
                        qualifiedName = qualifiedName + " " + subscript;
                    }

                    var specialRegisterStorageArea = StorageArea as StorageAreaPropertySpecialRegister;
                    if (specialRegisterStorageArea != null) //If it's a specialRegister (LENGTH OF / ADDRESS OF) we need to had it to the output string
                    {
                        if (specialRegisterStorageArea.SpecialRegisterName.TokenType == TokenType.ADDRESS)
                        {
                            qualifiedName = "address of " + qualifiedName;
                        }
                        else if (specialRegisterStorageArea.SpecialRegisterName.TokenType == TokenType.LENGTH)
                        {
                            qualifiedName = "length of " + qualifiedName;
                        }
                    }

                    return(bUseToString ? qualifiedName : StorageArea?.SymbolReference?.Name + (isBoolType ? "-value" : ""));
                }
                //these should be: return XXXValue.GetValueInContext(???);
                if (AlphanumericValue != null)
                {
                    return(AlphanumericValue.Token.SourceText);
                }
                if (RepeatedCharacterValue != null)
                {
                    return(RepeatedCharacterValue.Token.SourceText);
                }
            } catch (System.InvalidOperationException) { }
            return(base.ToString());
        }
Beispiel #5
0
        public FilePropertySpecialRegister(Token specialRegisterName, SymbolReference fileNameReference)
            : base(StorageAreaKind.FilePropertySpecialRegister)
        {
            SpecialRegisterName = specialRegisterName;
            FileNameReference = fileNameReference;

            // This is both a storage area definition and a reference to the same storage area
            DataDescriptionEntry = new SpecialRegisterDescriptionEntry(specialRegisterName, fileNameReference.ToString());
            SymbolReference = new SymbolReference(DataDescriptionEntry.DataName);
        }
Beispiel #6
0
        public FilePropertySpecialRegister(Token specialRegisterName, [NotNull] SymbolReference fileNameReference)
            : base(StorageAreaKind.FilePropertySpecialRegister)
        {
            SpecialRegisterName = specialRegisterName;
            FileNameReference   = fileNameReference;

            // This is both a storage area definition and a reference to the same storage area
            DataDescriptionEntry = new SpecialRegisterDescriptionEntry(specialRegisterName, fileNameReference.ToString());
            SymbolReference      = new SymbolReference(DataDescriptionEntry.DataName);
        }