Go Back
3 Votes

Traditional Synergy Compiler DBL-E-NFND Should Mimic CS1061


Consider the following invalid Traditional Synergy Program:
 

namespace MyNameSpace
	structure MyStructure
		MyField	,a1
	endstructure
endnamespace


main
proc
	begin
		data localStruc	,MyStructure
		localStruc.MyFakeField = ""
	end
endmain

When you attempt to compile this you encounter this error:
 
Error DBL-E-NFND: %DBL-E-NFND, localStruc.MyFakeField not found : localStruc.MyFakeField = ""

Now compare this similar invalid C# Program:
 
namespace CSharpStructError
{
    class Program
    {
        static void Main(string[] args)
        {
            MyStructure localStruc = new MyStructure();
            localStruc.MyFakeField = "";
        }
    }

    struct MyStructure
    {

    }
}

When you attempt to compile you encounter this error:
 
error CS1061: 'MyStructure' does not contain a definition for 'MyFakeField' and no accessible extension method 'MyFakeField' accepting a first argument of type 'MyStructure' could be found (are you missing a using directive or an assembly reference?)

This is the Microsoft Documentation for CS1061: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs1061

Also note that Intellisense makes it very easy to quickly identify the incorrect code (this is a different ask; I will open a separate idea):

User-added image

While in this case the Synergy Error might be straight forward to read; however as you get into more complex scenarios it gets more difficult to read within 250ms; for example the issue that triggered this was:
 
%DBL-E-NFND, shipVia2RouteCat[I4].ShipViaRouteCategoryID not found : shipVia2RouteCat[recCnt].ShipViaRouteCategoryID = shipViaRouteCat.ShipViaRouteCategoryID

There is a lot going on and having similarly named variables did not help; in this case we feel the error should have been similar to this (mimicking CS1061):
 
'sShipViaRoute2ShipVia' does not contain a definition for 'ShipViaRouteCategoryID'

This would have quickly identified the issue for us.

0 Comments | Posted by Ace Olszowka to Synergy DBL, Visual Studio Integration on 4/3/2019 1:49 PM
Please log in to comment on this idea.