Branch: refs/heads/main
Revision: 66e6e04
Author: nikkirad
Link: Implement @unstable by nikkirad · Pull Request #20465 · chapel-lang/chapel · GitHub
Log Message:
Merge pull request #20465 from nikkirad/nr-unstable-pr
Implement @unstable
This PR contains the work I have done this Summer by implementing a new keyword known as @unstable in the compiler. @unstable is a way of marking symbols that are subject to change in the future or may misbehave. This PR contains test cases and all compiler changes.
It is important to note that the files that use the old strategy of marking things as unstable still exist and have not been updated with @unstable yet.
Modified Files:
A test/unstable-keyword/class/unstable_class.chpl
A test/unstable-keyword/class/unstable_class.compopts
A test/unstable-keyword/class/unstable_class.set.good
A test/unstable-keyword/class/unstable_class.unset.good
A test/unstable-keyword/config/const/unstable_config_const.chpl
A test/unstable-keyword/config/const/unstable_config_const.compopts
A test/unstable-keyword/config/const/unstable_config_const.set.good
A test/unstable-keyword/config/const/unstable_config_const.unset.good
A test/unstable-keyword/config/param/unstable_config_param.chpl
A test/unstable-keyword/config/param/unstable_config_param.compopts
A test/unstable-keyword/config/param/unstable_config_param.set.good
A test/unstable-keyword/config/param/unstable_config_param.unset.good
A test/unstable-keyword/config/unstable_config.chpl
A test/unstable-keyword/config/unstable_config.compopts
A test/unstable-keyword/config/unstable_config.set.good
A test/unstable-keyword/config/unstable_config.unset.good
A test/unstable-keyword/const/unstable_const.chpl
A test/unstable-keyword/const/unstable_const.compopts
A test/unstable-keyword/const/unstable_const.set.good
A test/unstable-keyword/const/unstable_const.unset.good
A test/unstable-keyword/deepmod/unstable_deepmodule.chpl
A test/unstable-keyword/deepmod/unstable_deepmodule.compopts
A test/unstable-keyword/deepmod/unstable_deepmodule.set.good
A test/unstable-keyword/deepmod/unstable_deepmodule.unset.good
A test/unstable-keyword/enum_test1.chpl
A test/unstable-keyword/enum_test1.good
A test/unstable-keyword/initializer/unstable_initializer.chpl
A test/unstable-keyword/initializer/unstable_initializer.compopts
A test/unstable-keyword/initializer/unstable_initializer.set.good
A test/unstable-keyword/initializer/unstable_initializer.unset.good
A test/unstable-keyword/method/unstable_method.chpl
A test/unstable-keyword/method/unstable_method.compopts
A test/unstable-keyword/method/unstable_method.set.good
A test/unstable-keyword/method/unstable_method.unset.good
A test/unstable-keyword/module/unstable_module.chpl
A test/unstable-keyword/module/unstable_module.compopts
A test/unstable-keyword/module/unstable_module.set.good
A test/unstable-keyword/module/unstable_module.unset.good
A test/unstable-keyword/operator/unstable_operator.chpl
A test/unstable-keyword/operator/unstable_operator.compopts
A test/unstable-keyword/operator/unstable_operator.set.good
A test/unstable-keyword/operator/unstable_operator.unset.good
A test/unstable-keyword/outermod/unstable_outermodule.chpl
A test/unstable-keyword/outermod/unstable_outermodule.compopts
A test/unstable-keyword/outermod/unstable_outermodule.set.good
A test/unstable-keyword/outermod/unstable_outermodule.unset.good
A test/unstable-keyword/param/unstable_param.chpl
A test/unstable-keyword/param/unstable_param.compopts
A test/unstable-keyword/param/unstable_param.set.good
A test/unstable-keyword/param/unstable_param.unset.good
A test/unstable-keyword/proc/unstable_proc.chpl
A test/unstable-keyword/proc/unstable_proc.compopts
A test/unstable-keyword/proc/unstable_proc.set.good
A test/unstable-keyword/proc/unstable_proc.unset.good
A test/unstable-keyword/record/unstable_record.chpl
A test/unstable-keyword/record/unstable_record.compopts
A test/unstable-keyword/record/unstable_record.set.good
A test/unstable-keyword/record/unstable_record.unset.good
A test/unstable-keyword/type/unstable_type.chpl
A test/unstable-keyword/type/unstable_type.compopts
A test/unstable-keyword/type/unstable_type.set.good
A test/unstable-keyword/type/unstable_type.unset.good
M compiler/AST/AggregateType.cpp
M compiler/AST/FnSymbol.cpp
M compiler/AST/ImportStmt.cpp
M compiler/AST/UseStmt.cpp
M compiler/AST/baseAST.cpp
M compiler/AST/symbol.cpp
M compiler/AST/type.cpp
M compiler/dyno/include/chpl/uast/Attributes.h
M compiler/dyno/include/chpl/uast/PragmaList.h
M compiler/dyno/lib/parsing/ParserContext.h
M compiler/dyno/lib/parsing/ParserContextImpl.h
M compiler/dyno/lib/parsing/bison-chpl-lib.cpp
M compiler/dyno/lib/parsing/bison-chpl-lib.h
M compiler/dyno/lib/parsing/chpl.lex
M compiler/dyno/lib/parsing/chpl.ypp
M compiler/dyno/lib/parsing/flex-chpl-lib.cpp
M compiler/dyno/lib/parsing/flex-chpl-lib.h
M compiler/dyno/lib/uast/Attributes.cpp
M compiler/include/baseAST.h
M compiler/include/build.h
M compiler/include/symbol.h
M compiler/passes/ResolveScope.cpp
M compiler/passes/buildDefaultFunctions.cpp
M compiler/passes/convert-uast.cpp
M compiler/passes/scopeResolve.cpp
M compiler/resolution/functionResolution.cpp
Compare: https://github.com/chapel-lang/chapel/compare/f08330b84e59...66e6e04e75fe