compiler/libec: (#341, #351, #644, #771) Improved enum type matching and type handlin...
authorJerome St-Louis <jerome@ecere.com>
Mon, 26 May 2014 18:15:49 +0000 (14:15 -0400)
committerJerome St-Louis <jerome@ecere.com>
Tue, 27 May 2014 01:10:55 +0000 (21:10 -0400)
commit981767e16256c835738562f4280e06140dcc0067
treee79cb5b3e27b3d22e7a337d236da9c9450470f4a
parente7b42957b2d50332e1d40f4c692ca7d183426690
compiler/libec: (#341, #351, #644, #771) Improved enum type matching and type handling of operator expressions
ecere, ide, eda, samples: Fixed related warnings
- Solved enum types popping up in auto-complete when they shouldn't, e.g. when there are available conversions through base types (#341, #351)
- Fixed issues encountered in samples/games/CornerBlocks (#644)
- An eC enum type minus an eC enum type will give an int rather than en enum
- Validating constant expressions assigned to an enum based on max value, otherwise warning as incompatible (affects bool as well)
- Not applying unit destination type to operands of an operator expression if the unit type is the base unit class (e.g. Angle rather than Radians) (#771)
- Added a conversion property from MinMaxValue to AnchorValue, as it is common to use size values to specify anchors values and it would
  no longer go through the 'int' conversion property
95 files changed:
compiler/bootstrap/ecc/bootstrap/ecc.c
compiler/bootstrap/ecc/bootstrap/ecc.main.c
compiler/bootstrap/ecere/bootstrap/AVLTree.c
compiler/bootstrap/ecere/bootstrap/Array.c
compiler/bootstrap/ecere/bootstrap/BTNode.c
compiler/bootstrap/ecere/bootstrap/BinaryTree.c
compiler/bootstrap/ecere/bootstrap/BufferedFile.c
compiler/bootstrap/ecere/bootstrap/BuiltInContainer.c
compiler/bootstrap/ecere/bootstrap/Container.c
compiler/bootstrap/ecere/bootstrap/CustomAVLTree.c
compiler/bootstrap/ecere/bootstrap/DualPipe.c
compiler/bootstrap/ecere/bootstrap/File.c
compiler/bootstrap/ecere/bootstrap/LinkList.c
compiler/bootstrap/ecere/bootstrap/List.c
compiler/bootstrap/ecere/bootstrap/Map.c
compiler/bootstrap/ecere/bootstrap/OldList.c
compiler/bootstrap/ecere/bootstrap/String.c
compiler/bootstrap/ecere/bootstrap/System.c
compiler/bootstrap/ecere/bootstrap/TempFile.c
compiler/bootstrap/ecere/bootstrap/dataTypes.c
compiler/bootstrap/ecere/bootstrap/ecere.main.c
compiler/bootstrap/ecere/bootstrap/i18n.c
compiler/bootstrap/ecere/bootstrap/instance.c
compiler/bootstrap/ecere/bootstrap/memory.c
compiler/bootstrap/ecp/bootstrap/ecp.c
compiler/bootstrap/ecp/bootstrap/ecp.main.c
compiler/bootstrap/ecs/bootstrap/ecs.c
compiler/bootstrap/ecs/bootstrap/ecs.main.c
compiler/bootstrap/libec/bootstrap/ast.c
compiler/bootstrap/libec/bootstrap/copy.c
compiler/bootstrap/libec/bootstrap/dbpass.c
compiler/bootstrap/libec/bootstrap/ec.main.c
compiler/bootstrap/libec/bootstrap/ecdefs.c
compiler/bootstrap/libec/bootstrap/expression.c
compiler/bootstrap/libec/bootstrap/firstPass.c
compiler/bootstrap/libec/bootstrap/freeAst.c
compiler/bootstrap/libec/bootstrap/grammar.c
compiler/bootstrap/libec/bootstrap/lexer.c
compiler/bootstrap/libec/bootstrap/loadSymbols.c
compiler/bootstrap/libec/bootstrap/output.c
compiler/bootstrap/libec/bootstrap/pass0.c
compiler/bootstrap/libec/bootstrap/pass1.c
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/bootstrap/libec/bootstrap/pass16.c
compiler/bootstrap/libec/bootstrap/pass2.c
compiler/bootstrap/libec/bootstrap/pass3.c
compiler/bootstrap/libec/bootstrap/shortcuts.c
compiler/bootstrap/libec/bootstrap/type.c
compiler/ecp/ecp.ec
compiler/ecs/ecs.ec
compiler/libec/precompiled/expression.c
compiler/libec/precompiled/grammar.c
compiler/libec/precompiled/type.c
compiler/libec/src/copy.ec
compiler/libec/src/ecdefs.ec
compiler/libec/src/pass15.ec
compiler/libec/src/pass16.ec
compiler/libec/src/pass3.ec
ecere/src/com/instance.ec
ecere/src/gfx/3D/models/Object3DSFormat.ec
ecere/src/gfx/Color.ec
ecere/src/gfx/drivers/Direct3D9DisplayDriver.ec
ecere/src/gfx/drivers/LFBDisplayDriver.ec
ecere/src/gfx/drivers/OpenGLDisplayDriver.ec
ecere/src/gui/Anchor.ec
ecere/src/gui/controls/EditBox.ec
ecere/src/gui/drivers/Win32ConsoleInterface.ec
ecere/src/gui/drivers/XInterface.ec
ecere/src/net/HTTPFile.ec
ecere/src/net/dcom.ec
ecere/src/sys/DualPipe.ec
ecere/src/sys/EARArchive.ec
ecere/src/sys/File.ec
ecere/src/sys/TempFile.ec
eda/drivers/sqlite/EDASQLite.ec
extras/Regex.ec
extras/gui/skins/SimSkin.ec
extras/html/htmlParser.ec
ide/src/IDESettings.ec
ide/src/project/Project.ec
samples/db/MedDB/mainForm.ec
samples/eC/neural/neural.ec
samples/games/cards/poker/pokerUtils.ec
samples/games/chess/src/about.ec
samples/games/chess/src/ai.ec
samples/games/chess/src/chess2D.ec
samples/games/chess/src/chess3D.ec
samples/games/chess/src/chessutils.ec
samples/games/chess/src/promotion.ec
samples/games/cornerBlocks/cornerBlocks.ec
samples/games/crosswords/CrossWordsServer.ec
samples/games/othello/Othello.epj
samples/games/othello/othello.ec
samples/guiAndGfx/fractals/fractals.ec
samples/net/XMLSample/xmlSample.ec