Top Files, Test Files

Top Files (recommended, only Test Files seldom used) must be specified in order to build a project. During a build an internal dictionary is created, which is used for autocomplete and code navigation capabilities (see also Build).

Before going into the details, the analysis algorithm (where analysis includes syntax error detection, type indexing etc.) is:

  1. First we analyze all the files specified via the Top Files in the specifed order , which is equivalent with "load top_1.e;load top_2.e..."
  2. Second we analyze independently each of the files specified via the Test Files, each one on top of the Top Files

Top file bullet Files analyzed via Top Files are marked with a blue bullet, for example in the Navigator view.
Test file bullet Test Files are marked with a green bullet.
Irrelevant file Files with no bullet are not considered relevant for the project.
Ignore file indication Users may explicitly "ignore" some files (don't show errors in such files).

Specifing for a project the Top Files and Test Files (Right click on a project > Properties > E Top/Test Files) comes from two considerations: the AOP nature of an e project and "Focus and garbage prevention".

  1. AOP: Basically the load order is important for an e Program. The e files (modules) encapsulate aspects and the order of extensions is important for the execution. That's we need to know where to start loading the files from. This way, the project is a well defined entity. The main "views" related to e Language AOP nature are Layers and the Load Order. In the Load Order view you see how would the files be loaded in Specman and this can help in case you wonder why doesn't your code get executed as you expected. In the Layers view you see all the extensions of a type (e.g. enum, unit), method, event etc. You can quickly check weather there is some more code then the one you are looking at now and jump to the relevant layers.
  2. Focus: Since analyze and we present errors/warnings at the project level and many users have "scratch/disabled" code which although located inside the project shouldn't be considered, we only analyze as mentioned above the files derived via Top Files and Test Files when you do a build or clean.

To specify Top Files, SPECMAN_PATH etc. you can also directly edit the corresponding files <project_dir>.dvt/.edt_top_files, <project_dir>.dvt/.edt_specman_path etc. and use:

If you don't see the file in the Navigator View, you may have to disable some filters:

Navigator Filters.

If some file or directory is not found, an error is signaled on the configuration file, in the Problems View etc.

Signal Error 1.

Signal Error 2.

Related Reference

Build